1package web
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"encoding/json"
22	"github.com/Azure/go-autorest/autorest"
23	"github.com/Azure/go-autorest/autorest/azure"
24	"github.com/Azure/go-autorest/autorest/date"
25	"github.com/Azure/go-autorest/autorest/to"
26	"io"
27	"net/http"
28)
29
30// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
31// AccessControlEntryAction enumerates the values for access control entry action.
32type AccessControlEntryAction string
33
34const (
35	// Deny ...
36	Deny AccessControlEntryAction = "Deny"
37	// Permit ...
38	Permit AccessControlEntryAction = "Permit"
39)
40
41// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
42// PossibleAccessControlEntryActionValues returns an array of possible values for the AccessControlEntryAction const type.
43func PossibleAccessControlEntryActionValues() []AccessControlEntryAction {
44	return []AccessControlEntryAction{Deny, Permit}
45}
46
47// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
48// AutoHealActionType enumerates the values for auto heal action type.
49type AutoHealActionType string
50
51const (
52	// CustomAction ...
53	CustomAction AutoHealActionType = "CustomAction"
54	// LogEvent ...
55	LogEvent AutoHealActionType = "LogEvent"
56	// Recycle ...
57	Recycle AutoHealActionType = "Recycle"
58)
59
60// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
61// PossibleAutoHealActionTypeValues returns an array of possible values for the AutoHealActionType const type.
62func PossibleAutoHealActionTypeValues() []AutoHealActionType {
63	return []AutoHealActionType{CustomAction, LogEvent, Recycle}
64}
65
66// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
67// AzureResourceType enumerates the values for azure resource type.
68type AzureResourceType string
69
70const (
71	// TrafficManager ...
72	TrafficManager AzureResourceType = "TrafficManager"
73	// Website ...
74	Website AzureResourceType = "Website"
75)
76
77// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
78// PossibleAzureResourceTypeValues returns an array of possible values for the AzureResourceType const type.
79func PossibleAzureResourceTypeValues() []AzureResourceType {
80	return []AzureResourceType{TrafficManager, Website}
81}
82
83// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
84// BackupItemStatus enumerates the values for backup item status.
85type BackupItemStatus string
86
87const (
88	// Created ...
89	Created BackupItemStatus = "Created"
90	// Deleted ...
91	Deleted BackupItemStatus = "Deleted"
92	// DeleteFailed ...
93	DeleteFailed BackupItemStatus = "DeleteFailed"
94	// DeleteInProgress ...
95	DeleteInProgress BackupItemStatus = "DeleteInProgress"
96	// Failed ...
97	Failed BackupItemStatus = "Failed"
98	// InProgress ...
99	InProgress BackupItemStatus = "InProgress"
100	// PartiallySucceeded ...
101	PartiallySucceeded BackupItemStatus = "PartiallySucceeded"
102	// Skipped ...
103	Skipped BackupItemStatus = "Skipped"
104	// Succeeded ...
105	Succeeded BackupItemStatus = "Succeeded"
106	// TimedOut ...
107	TimedOut BackupItemStatus = "TimedOut"
108)
109
110// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
111// PossibleBackupItemStatusValues returns an array of possible values for the BackupItemStatus const type.
112func PossibleBackupItemStatusValues() []BackupItemStatus {
113	return []BackupItemStatus{Created, Deleted, DeleteFailed, DeleteInProgress, Failed, InProgress, PartiallySucceeded, Skipped, Succeeded, TimedOut}
114}
115
116// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
117// BackupRestoreOperationType enumerates the values for backup restore operation type.
118type BackupRestoreOperationType string
119
120const (
121	// Clone ...
122	Clone BackupRestoreOperationType = "Clone"
123	// Default ...
124	Default BackupRestoreOperationType = "Default"
125	// Relocation ...
126	Relocation BackupRestoreOperationType = "Relocation"
127)
128
129// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
130// PossibleBackupRestoreOperationTypeValues returns an array of possible values for the BackupRestoreOperationType const type.
131func PossibleBackupRestoreOperationTypeValues() []BackupRestoreOperationType {
132	return []BackupRestoreOperationType{Clone, Default, Relocation}
133}
134
135// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
136// BuiltInAuthenticationProvider enumerates the values for built in authentication provider.
137type BuiltInAuthenticationProvider string
138
139const (
140	// AzureActiveDirectory ...
141	AzureActiveDirectory BuiltInAuthenticationProvider = "AzureActiveDirectory"
142	// Facebook ...
143	Facebook BuiltInAuthenticationProvider = "Facebook"
144	// Google ...
145	Google BuiltInAuthenticationProvider = "Google"
146	// MicrosoftAccount ...
147	MicrosoftAccount BuiltInAuthenticationProvider = "MicrosoftAccount"
148	// Twitter ...
149	Twitter BuiltInAuthenticationProvider = "Twitter"
150)
151
152// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
153// PossibleBuiltInAuthenticationProviderValues returns an array of possible values for the BuiltInAuthenticationProvider const type.
154func PossibleBuiltInAuthenticationProviderValues() []BuiltInAuthenticationProvider {
155	return []BuiltInAuthenticationProvider{AzureActiveDirectory, Facebook, Google, MicrosoftAccount, Twitter}
156}
157
158// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
159// CertificateOrderActionType enumerates the values for certificate order action type.
160type CertificateOrderActionType string
161
162const (
163	// CertificateIssued ...
164	CertificateIssued CertificateOrderActionType = "CertificateIssued"
165	// CertificateOrderCanceled ...
166	CertificateOrderCanceled CertificateOrderActionType = "CertificateOrderCanceled"
167	// CertificateOrderCreated ...
168	CertificateOrderCreated CertificateOrderActionType = "CertificateOrderCreated"
169	// CertificateRevoked ...
170	CertificateRevoked CertificateOrderActionType = "CertificateRevoked"
171	// DomainValidationComplete ...
172	DomainValidationComplete CertificateOrderActionType = "DomainValidationComplete"
173	// FraudDetected ...
174	FraudDetected CertificateOrderActionType = "FraudDetected"
175	// OrgNameChange ...
176	OrgNameChange CertificateOrderActionType = "OrgNameChange"
177	// OrgValidationComplete ...
178	OrgValidationComplete CertificateOrderActionType = "OrgValidationComplete"
179	// SanDrop ...
180	SanDrop CertificateOrderActionType = "SanDrop"
181)
182
183// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
184// PossibleCertificateOrderActionTypeValues returns an array of possible values for the CertificateOrderActionType const type.
185func PossibleCertificateOrderActionTypeValues() []CertificateOrderActionType {
186	return []CertificateOrderActionType{CertificateIssued, CertificateOrderCanceled, CertificateOrderCreated, CertificateRevoked, DomainValidationComplete, FraudDetected, OrgNameChange, OrgValidationComplete, SanDrop}
187}
188
189// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
190// CertificateOrderStatus enumerates the values for certificate order status.
191type CertificateOrderStatus string
192
193const (
194	// Canceled ...
195	Canceled CertificateOrderStatus = "Canceled"
196	// Denied ...
197	Denied CertificateOrderStatus = "Denied"
198	// Expired ...
199	Expired CertificateOrderStatus = "Expired"
200	// Issued ...
201	Issued CertificateOrderStatus = "Issued"
202	// NotSubmitted ...
203	NotSubmitted CertificateOrderStatus = "NotSubmitted"
204	// Pendingissuance ...
205	Pendingissuance CertificateOrderStatus = "Pendingissuance"
206	// PendingRekey ...
207	PendingRekey CertificateOrderStatus = "PendingRekey"
208	// Pendingrevocation ...
209	Pendingrevocation CertificateOrderStatus = "Pendingrevocation"
210	// Revoked ...
211	Revoked CertificateOrderStatus = "Revoked"
212	// Unused ...
213	Unused CertificateOrderStatus = "Unused"
214)
215
216// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
217// PossibleCertificateOrderStatusValues returns an array of possible values for the CertificateOrderStatus const type.
218func PossibleCertificateOrderStatusValues() []CertificateOrderStatus {
219	return []CertificateOrderStatus{Canceled, Denied, Expired, Issued, NotSubmitted, Pendingissuance, PendingRekey, Pendingrevocation, Revoked, Unused}
220}
221
222// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
223// CertificateProductType enumerates the values for certificate product type.
224type CertificateProductType string
225
226const (
227	// StandardDomainValidatedSsl ...
228	StandardDomainValidatedSsl CertificateProductType = "StandardDomainValidatedSsl"
229	// StandardDomainValidatedWildCardSsl ...
230	StandardDomainValidatedWildCardSsl CertificateProductType = "StandardDomainValidatedWildCardSsl"
231)
232
233// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
234// PossibleCertificateProductTypeValues returns an array of possible values for the CertificateProductType const type.
235func PossibleCertificateProductTypeValues() []CertificateProductType {
236	return []CertificateProductType{StandardDomainValidatedSsl, StandardDomainValidatedWildCardSsl}
237}
238
239// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
240// Channels enumerates the values for channels.
241type Channels string
242
243const (
244	// All ...
245	All Channels = "All"
246	// API ...
247	API Channels = "Api"
248	// Email ...
249	Email Channels = "Email"
250	// Notification ...
251	Notification Channels = "Notification"
252)
253
254// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
255// PossibleChannelsValues returns an array of possible values for the Channels const type.
256func PossibleChannelsValues() []Channels {
257	return []Channels{All, API, Email, Notification}
258}
259
260// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
261// CloneAbilityResult enumerates the values for clone ability result.
262type CloneAbilityResult string
263
264const (
265	// Cloneable ...
266	Cloneable CloneAbilityResult = "Cloneable"
267	// NotCloneable ...
268	NotCloneable CloneAbilityResult = "NotCloneable"
269	// PartiallyCloneable ...
270	PartiallyCloneable CloneAbilityResult = "PartiallyCloneable"
271)
272
273// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
274// PossibleCloneAbilityResultValues returns an array of possible values for the CloneAbilityResult const type.
275func PossibleCloneAbilityResultValues() []CloneAbilityResult {
276	return []CloneAbilityResult{Cloneable, NotCloneable, PartiallyCloneable}
277}
278
279// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
280// ComputeModeOptions enumerates the values for compute mode options.
281type ComputeModeOptions string
282
283const (
284	// Dedicated ...
285	Dedicated ComputeModeOptions = "Dedicated"
286	// Dynamic ...
287	Dynamic ComputeModeOptions = "Dynamic"
288	// Shared ...
289	Shared ComputeModeOptions = "Shared"
290)
291
292// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
293// PossibleComputeModeOptionsValues returns an array of possible values for the ComputeModeOptions const type.
294func PossibleComputeModeOptionsValues() []ComputeModeOptions {
295	return []ComputeModeOptions{Dedicated, Dynamic, Shared}
296}
297
298// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
299// ConnectionParameterType enumerates the values for connection parameter type.
300type ConnectionParameterType string
301
302const (
303	// ConnectionParameterTypeArray ...
304	ConnectionParameterTypeArray ConnectionParameterType = "array"
305	// ConnectionParameterTypeBool ...
306	ConnectionParameterTypeBool ConnectionParameterType = "bool"
307	// ConnectionParameterTypeConnection ...
308	ConnectionParameterTypeConnection ConnectionParameterType = "connection"
309	// ConnectionParameterTypeInt ...
310	ConnectionParameterTypeInt ConnectionParameterType = "int"
311	// ConnectionParameterTypeOauthSetting ...
312	ConnectionParameterTypeOauthSetting ConnectionParameterType = "oauthSetting"
313	// ConnectionParameterTypeObject ...
314	ConnectionParameterTypeObject ConnectionParameterType = "object"
315	// ConnectionParameterTypeSecureobject ...
316	ConnectionParameterTypeSecureobject ConnectionParameterType = "secureobject"
317	// ConnectionParameterTypeSecurestring ...
318	ConnectionParameterTypeSecurestring ConnectionParameterType = "securestring"
319	// ConnectionParameterTypeString ...
320	ConnectionParameterTypeString ConnectionParameterType = "string"
321)
322
323// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
324// PossibleConnectionParameterTypeValues returns an array of possible values for the ConnectionParameterType const type.
325func PossibleConnectionParameterTypeValues() []ConnectionParameterType {
326	return []ConnectionParameterType{ConnectionParameterTypeArray, ConnectionParameterTypeBool, ConnectionParameterTypeConnection, ConnectionParameterTypeInt, ConnectionParameterTypeOauthSetting, ConnectionParameterTypeObject, ConnectionParameterTypeSecureobject, ConnectionParameterTypeSecurestring, ConnectionParameterTypeString}
327}
328
329// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
330// CustomHostNameDNSRecordType enumerates the values for custom host name dns record type.
331type CustomHostNameDNSRecordType string
332
333const (
334	// A ...
335	A CustomHostNameDNSRecordType = "A"
336	// CName ...
337	CName CustomHostNameDNSRecordType = "CName"
338)
339
340// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
341// PossibleCustomHostNameDNSRecordTypeValues returns an array of possible values for the CustomHostNameDNSRecordType const type.
342func PossibleCustomHostNameDNSRecordTypeValues() []CustomHostNameDNSRecordType {
343	return []CustomHostNameDNSRecordType{A, CName}
344}
345
346// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
347// DatabaseServerType enumerates the values for database server type.
348type DatabaseServerType string
349
350const (
351	// Custom ...
352	Custom DatabaseServerType = "Custom"
353	// MySQL ...
354	MySQL DatabaseServerType = "MySql"
355	// SQLAzure ...
356	SQLAzure DatabaseServerType = "SQLAzure"
357	// SQLServer ...
358	SQLServer DatabaseServerType = "SQLServer"
359)
360
361// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
362// PossibleDatabaseServerTypeValues returns an array of possible values for the DatabaseServerType const type.
363func PossibleDatabaseServerTypeValues() []DatabaseServerType {
364	return []DatabaseServerType{Custom, MySQL, SQLAzure, SQLServer}
365}
366
367// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
368// DomainStatus enumerates the values for domain status.
369type DomainStatus string
370
371const (
372	// DomainStatusActive ...
373	DomainStatusActive DomainStatus = "Active"
374	// DomainStatusAwaiting ...
375	DomainStatusAwaiting DomainStatus = "Awaiting"
376	// DomainStatusCancelled ...
377	DomainStatusCancelled DomainStatus = "Cancelled"
378	// DomainStatusConfiscated ...
379	DomainStatusConfiscated DomainStatus = "Confiscated"
380	// DomainStatusDisabled ...
381	DomainStatusDisabled DomainStatus = "Disabled"
382	// DomainStatusExcluded ...
383	DomainStatusExcluded DomainStatus = "Excluded"
384	// DomainStatusExpired ...
385	DomainStatusExpired DomainStatus = "Expired"
386	// DomainStatusFailed ...
387	DomainStatusFailed DomainStatus = "Failed"
388	// DomainStatusHeld ...
389	DomainStatusHeld DomainStatus = "Held"
390	// DomainStatusJSONConverterFailed ...
391	DomainStatusJSONConverterFailed DomainStatus = "JsonConverterFailed"
392	// DomainStatusLocked ...
393	DomainStatusLocked DomainStatus = "Locked"
394	// DomainStatusParked ...
395	DomainStatusParked DomainStatus = "Parked"
396	// DomainStatusPending ...
397	DomainStatusPending DomainStatus = "Pending"
398	// DomainStatusReserved ...
399	DomainStatusReserved DomainStatus = "Reserved"
400	// DomainStatusReverted ...
401	DomainStatusReverted DomainStatus = "Reverted"
402	// DomainStatusSuspended ...
403	DomainStatusSuspended DomainStatus = "Suspended"
404	// DomainStatusTransferred ...
405	DomainStatusTransferred DomainStatus = "Transferred"
406	// DomainStatusUnknown ...
407	DomainStatusUnknown DomainStatus = "Unknown"
408	// DomainStatusUnlocked ...
409	DomainStatusUnlocked DomainStatus = "Unlocked"
410	// DomainStatusUnparked ...
411	DomainStatusUnparked DomainStatus = "Unparked"
412	// DomainStatusUpdated ...
413	DomainStatusUpdated DomainStatus = "Updated"
414)
415
416// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
417// PossibleDomainStatusValues returns an array of possible values for the DomainStatus const type.
418func PossibleDomainStatusValues() []DomainStatus {
419	return []DomainStatus{DomainStatusActive, DomainStatusAwaiting, DomainStatusCancelled, DomainStatusConfiscated, DomainStatusDisabled, DomainStatusExcluded, DomainStatusExpired, DomainStatusFailed, DomainStatusHeld, DomainStatusJSONConverterFailed, DomainStatusLocked, DomainStatusParked, DomainStatusPending, DomainStatusReserved, DomainStatusReverted, DomainStatusSuspended, DomainStatusTransferred, DomainStatusUnknown, DomainStatusUnlocked, DomainStatusUnparked, DomainStatusUpdated}
420}
421
422// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
423// DomainType enumerates the values for domain type.
424type DomainType string
425
426const (
427	// Regular ...
428	Regular DomainType = "Regular"
429	// SoftDeleted ...
430	SoftDeleted DomainType = "SoftDeleted"
431)
432
433// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
434// PossibleDomainTypeValues returns an array of possible values for the DomainType const type.
435func PossibleDomainTypeValues() []DomainType {
436	return []DomainType{Regular, SoftDeleted}
437}
438
439// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
440// FrequencyUnit enumerates the values for frequency unit.
441type FrequencyUnit string
442
443const (
444	// Day ...
445	Day FrequencyUnit = "Day"
446	// Hour ...
447	Hour FrequencyUnit = "Hour"
448)
449
450// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
451// PossibleFrequencyUnitValues returns an array of possible values for the FrequencyUnit const type.
452func PossibleFrequencyUnitValues() []FrequencyUnit {
453	return []FrequencyUnit{Day, Hour}
454}
455
456// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
457// HostingEnvironmentStatus enumerates the values for hosting environment status.
458type HostingEnvironmentStatus string
459
460const (
461	// Deleting ...
462	Deleting HostingEnvironmentStatus = "Deleting"
463	// Preparing ...
464	Preparing HostingEnvironmentStatus = "Preparing"
465	// Ready ...
466	Ready HostingEnvironmentStatus = "Ready"
467	// Scaling ...
468	Scaling HostingEnvironmentStatus = "Scaling"
469)
470
471// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
472// PossibleHostingEnvironmentStatusValues returns an array of possible values for the HostingEnvironmentStatus const type.
473func PossibleHostingEnvironmentStatusValues() []HostingEnvironmentStatus {
474	return []HostingEnvironmentStatus{Deleting, Preparing, Ready, Scaling}
475}
476
477// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
478// HostNameType enumerates the values for host name type.
479type HostNameType string
480
481const (
482	// Managed ...
483	Managed HostNameType = "Managed"
484	// Verified ...
485	Verified HostNameType = "Verified"
486)
487
488// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
489// PossibleHostNameTypeValues returns an array of possible values for the HostNameType const type.
490func PossibleHostNameTypeValues() []HostNameType {
491	return []HostNameType{Managed, Verified}
492}
493
494// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
495// InternalLoadBalancingMode enumerates the values for internal load balancing mode.
496type InternalLoadBalancingMode string
497
498const (
499	// None ...
500	None InternalLoadBalancingMode = "None"
501	// Publishing ...
502	Publishing InternalLoadBalancingMode = "Publishing"
503	// Web ...
504	Web InternalLoadBalancingMode = "Web"
505)
506
507// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
508// PossibleInternalLoadBalancingModeValues returns an array of possible values for the InternalLoadBalancingMode const type.
509func PossibleInternalLoadBalancingModeValues() []InternalLoadBalancingMode {
510	return []InternalLoadBalancingMode{None, Publishing, Web}
511}
512
513// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
514// KeyVaultSecretStatus enumerates the values for key vault secret status.
515type KeyVaultSecretStatus string
516
517const (
518	// KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault ...
519	KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault KeyVaultSecretStatus = "AzureServiceUnauthorizedToAccessKeyVault"
520	// KeyVaultSecretStatusCertificateOrderFailed ...
521	KeyVaultSecretStatusCertificateOrderFailed KeyVaultSecretStatus = "CertificateOrderFailed"
522	// KeyVaultSecretStatusInitialized ...
523	KeyVaultSecretStatusInitialized KeyVaultSecretStatus = "Initialized"
524	// KeyVaultSecretStatusKeyVaultDoesNotExist ...
525	KeyVaultSecretStatusKeyVaultDoesNotExist KeyVaultSecretStatus = "KeyVaultDoesNotExist"
526	// KeyVaultSecretStatusKeyVaultSecretDoesNotExist ...
527	KeyVaultSecretStatusKeyVaultSecretDoesNotExist KeyVaultSecretStatus = "KeyVaultSecretDoesNotExist"
528	// KeyVaultSecretStatusOperationNotPermittedOnKeyVault ...
529	KeyVaultSecretStatusOperationNotPermittedOnKeyVault KeyVaultSecretStatus = "OperationNotPermittedOnKeyVault"
530	// KeyVaultSecretStatusSucceeded ...
531	KeyVaultSecretStatusSucceeded KeyVaultSecretStatus = "Succeeded"
532	// KeyVaultSecretStatusUnknown ...
533	KeyVaultSecretStatusUnknown KeyVaultSecretStatus = "Unknown"
534	// KeyVaultSecretStatusUnknownError ...
535	KeyVaultSecretStatusUnknownError KeyVaultSecretStatus = "UnknownError"
536	// KeyVaultSecretStatusWaitingOnCertificateOrder ...
537	KeyVaultSecretStatusWaitingOnCertificateOrder KeyVaultSecretStatus = "WaitingOnCertificateOrder"
538)
539
540// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
541// PossibleKeyVaultSecretStatusValues returns an array of possible values for the KeyVaultSecretStatus const type.
542func PossibleKeyVaultSecretStatusValues() []KeyVaultSecretStatus {
543	return []KeyVaultSecretStatus{KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault, KeyVaultSecretStatusCertificateOrderFailed, KeyVaultSecretStatusInitialized, KeyVaultSecretStatusKeyVaultDoesNotExist, KeyVaultSecretStatusKeyVaultSecretDoesNotExist, KeyVaultSecretStatusOperationNotPermittedOnKeyVault, KeyVaultSecretStatusSucceeded, KeyVaultSecretStatusUnknown, KeyVaultSecretStatusUnknownError, KeyVaultSecretStatusWaitingOnCertificateOrder}
544}
545
546// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
547// LinkState enumerates the values for link state.
548type LinkState string
549
550const (
551	// Authenticated ...
552	Authenticated LinkState = "Authenticated"
553	// Error ...
554	Error LinkState = "Error"
555	// Unauthenticated ...
556	Unauthenticated LinkState = "Unauthenticated"
557)
558
559// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
560// PossibleLinkStateValues returns an array of possible values for the LinkState const type.
561func PossibleLinkStateValues() []LinkState {
562	return []LinkState{Authenticated, Error, Unauthenticated}
563}
564
565// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
566// LogLevel enumerates the values for log level.
567type LogLevel string
568
569const (
570	// LogLevelError ...
571	LogLevelError LogLevel = "Error"
572	// LogLevelInformation ...
573	LogLevelInformation LogLevel = "Information"
574	// LogLevelOff ...
575	LogLevelOff LogLevel = "Off"
576	// LogLevelVerbose ...
577	LogLevelVerbose LogLevel = "Verbose"
578	// LogLevelWarning ...
579	LogLevelWarning LogLevel = "Warning"
580)
581
582// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
583// PossibleLogLevelValues returns an array of possible values for the LogLevel const type.
584func PossibleLogLevelValues() []LogLevel {
585	return []LogLevel{LogLevelError, LogLevelInformation, LogLevelOff, LogLevelVerbose, LogLevelWarning}
586}
587
588// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
589// ManagedHostingEnvironmentStatus enumerates the values for managed hosting environment status.
590type ManagedHostingEnvironmentStatus string
591
592const (
593	// ManagedHostingEnvironmentStatusDeleting ...
594	ManagedHostingEnvironmentStatusDeleting ManagedHostingEnvironmentStatus = "Deleting"
595	// ManagedHostingEnvironmentStatusPreparing ...
596	ManagedHostingEnvironmentStatusPreparing ManagedHostingEnvironmentStatus = "Preparing"
597	// ManagedHostingEnvironmentStatusReady ...
598	ManagedHostingEnvironmentStatusReady ManagedHostingEnvironmentStatus = "Ready"
599)
600
601// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
602// PossibleManagedHostingEnvironmentStatusValues returns an array of possible values for the ManagedHostingEnvironmentStatus const type.
603func PossibleManagedHostingEnvironmentStatusValues() []ManagedHostingEnvironmentStatus {
604	return []ManagedHostingEnvironmentStatus{ManagedHostingEnvironmentStatusDeleting, ManagedHostingEnvironmentStatusPreparing, ManagedHostingEnvironmentStatusReady}
605}
606
607// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
608// ManagedPipelineMode enumerates the values for managed pipeline mode.
609type ManagedPipelineMode string
610
611const (
612	// Classic ...
613	Classic ManagedPipelineMode = "Classic"
614	// Integrated ...
615	Integrated ManagedPipelineMode = "Integrated"
616)
617
618// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
619// PossibleManagedPipelineModeValues returns an array of possible values for the ManagedPipelineMode const type.
620func PossibleManagedPipelineModeValues() []ManagedPipelineMode {
621	return []ManagedPipelineMode{Classic, Integrated}
622}
623
624// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
625// NotificationLevel enumerates the values for notification level.
626type NotificationLevel string
627
628const (
629	// Critical ...
630	Critical NotificationLevel = "Critical"
631	// Information ...
632	Information NotificationLevel = "Information"
633	// NonUrgentSuggestion ...
634	NonUrgentSuggestion NotificationLevel = "NonUrgentSuggestion"
635	// Warning ...
636	Warning NotificationLevel = "Warning"
637)
638
639// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
640// PossibleNotificationLevelValues returns an array of possible values for the NotificationLevel const type.
641func PossibleNotificationLevelValues() []NotificationLevel {
642	return []NotificationLevel{Critical, Information, NonUrgentSuggestion, Warning}
643}
644
645// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
646// PrincipalType enumerates the values for principal type.
647type PrincipalType string
648
649const (
650	// PrincipalTypeActiveDirectory ...
651	PrincipalTypeActiveDirectory PrincipalType = "ActiveDirectory"
652	// PrincipalTypeConnection ...
653	PrincipalTypeConnection PrincipalType = "Connection"
654	// PrincipalTypeMicrosoftAccount ...
655	PrincipalTypeMicrosoftAccount PrincipalType = "MicrosoftAccount"
656)
657
658// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
659// PossiblePrincipalTypeValues returns an array of possible values for the PrincipalType const type.
660func PossiblePrincipalTypeValues() []PrincipalType {
661	return []PrincipalType{PrincipalTypeActiveDirectory, PrincipalTypeConnection, PrincipalTypeMicrosoftAccount}
662}
663
664// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
665// ProvisioningState enumerates the values for provisioning state.
666type ProvisioningState string
667
668const (
669	// ProvisioningStateCanceled ...
670	ProvisioningStateCanceled ProvisioningState = "Canceled"
671	// ProvisioningStateDeleting ...
672	ProvisioningStateDeleting ProvisioningState = "Deleting"
673	// ProvisioningStateFailed ...
674	ProvisioningStateFailed ProvisioningState = "Failed"
675	// ProvisioningStateInProgress ...
676	ProvisioningStateInProgress ProvisioningState = "InProgress"
677	// ProvisioningStateSucceeded ...
678	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
679)
680
681// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
682// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
683func PossibleProvisioningStateValues() []ProvisioningState {
684	return []ProvisioningState{ProvisioningStateCanceled, ProvisioningStateDeleting, ProvisioningStateFailed, ProvisioningStateInProgress, ProvisioningStateSucceeded}
685}
686
687// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
688// SiteAvailabilityState enumerates the values for site availability state.
689type SiteAvailabilityState string
690
691const (
692	// DisasterRecoveryMode ...
693	DisasterRecoveryMode SiteAvailabilityState = "DisasterRecoveryMode"
694	// Limited ...
695	Limited SiteAvailabilityState = "Limited"
696	// Normal ...
697	Normal SiteAvailabilityState = "Normal"
698)
699
700// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
701// PossibleSiteAvailabilityStateValues returns an array of possible values for the SiteAvailabilityState const type.
702func PossibleSiteAvailabilityStateValues() []SiteAvailabilityState {
703	return []SiteAvailabilityState{DisasterRecoveryMode, Limited, Normal}
704}
705
706// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
707// SiteLoadBalancing enumerates the values for site load balancing.
708type SiteLoadBalancing string
709
710const (
711	// LeastRequests ...
712	LeastRequests SiteLoadBalancing = "LeastRequests"
713	// LeastResponseTime ...
714	LeastResponseTime SiteLoadBalancing = "LeastResponseTime"
715	// RequestHash ...
716	RequestHash SiteLoadBalancing = "RequestHash"
717	// WeightedRoundRobin ...
718	WeightedRoundRobin SiteLoadBalancing = "WeightedRoundRobin"
719	// WeightedTotalTraffic ...
720	WeightedTotalTraffic SiteLoadBalancing = "WeightedTotalTraffic"
721)
722
723// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
724// PossibleSiteLoadBalancingValues returns an array of possible values for the SiteLoadBalancing const type.
725func PossibleSiteLoadBalancingValues() []SiteLoadBalancing {
726	return []SiteLoadBalancing{LeastRequests, LeastResponseTime, RequestHash, WeightedRoundRobin, WeightedTotalTraffic}
727}
728
729// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
730// SslState enumerates the values for ssl state.
731type SslState string
732
733const (
734	// Disabled ...
735	Disabled SslState = "Disabled"
736	// IPBasedEnabled ...
737	IPBasedEnabled SslState = "IpBasedEnabled"
738	// SniEnabled ...
739	SniEnabled SslState = "SniEnabled"
740)
741
742// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
743// PossibleSslStateValues returns an array of possible values for the SslState const type.
744func PossibleSslStateValues() []SslState {
745	return []SslState{Disabled, IPBasedEnabled, SniEnabled}
746}
747
748// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
749// StatusOptions enumerates the values for status options.
750type StatusOptions string
751
752const (
753	// StatusOptionsPending ...
754	StatusOptionsPending StatusOptions = "Pending"
755	// StatusOptionsReady ...
756	StatusOptionsReady StatusOptions = "Ready"
757)
758
759// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
760// PossibleStatusOptionsValues returns an array of possible values for the StatusOptions const type.
761func PossibleStatusOptionsValues() []StatusOptions {
762	return []StatusOptions{StatusOptionsPending, StatusOptionsReady}
763}
764
765// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
766// UnauthenticatedClientAction enumerates the values for unauthenticated client action.
767type UnauthenticatedClientAction string
768
769const (
770	// AllowAnonymous ...
771	AllowAnonymous UnauthenticatedClientAction = "AllowAnonymous"
772	// RedirectToLoginPage ...
773	RedirectToLoginPage UnauthenticatedClientAction = "RedirectToLoginPage"
774)
775
776// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
777// PossibleUnauthenticatedClientActionValues returns an array of possible values for the UnauthenticatedClientAction const type.
778func PossibleUnauthenticatedClientActionValues() []UnauthenticatedClientAction {
779	return []UnauthenticatedClientAction{AllowAnonymous, RedirectToLoginPage}
780}
781
782// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
783// UsageState enumerates the values for usage state.
784type UsageState string
785
786const (
787	// UsageStateExceeded ...
788	UsageStateExceeded UsageState = "Exceeded"
789	// UsageStateNormal ...
790	UsageStateNormal UsageState = "Normal"
791)
792
793// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
794// PossibleUsageStateValues returns an array of possible values for the UsageState const type.
795func PossibleUsageStateValues() []UsageState {
796	return []UsageState{UsageStateExceeded, UsageStateNormal}
797}
798
799// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
800// WorkerSizeOptions enumerates the values for worker size options.
801type WorkerSizeOptions string
802
803const (
804	// WorkerSizeOptionsDefault ...
805	WorkerSizeOptionsDefault WorkerSizeOptions = "Default"
806	// WorkerSizeOptionsLarge ...
807	WorkerSizeOptionsLarge WorkerSizeOptions = "Large"
808	// WorkerSizeOptionsMedium ...
809	WorkerSizeOptionsMedium WorkerSizeOptions = "Medium"
810	// WorkerSizeOptionsSmall ...
811	WorkerSizeOptionsSmall WorkerSizeOptions = "Small"
812)
813
814// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
815// PossibleWorkerSizeOptionsValues returns an array of possible values for the WorkerSizeOptions const type.
816func PossibleWorkerSizeOptionsValues() []WorkerSizeOptions {
817	return []WorkerSizeOptions{WorkerSizeOptionsDefault, WorkerSizeOptionsLarge, WorkerSizeOptionsMedium, WorkerSizeOptionsSmall}
818}
819
820// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
821// Address address information for domain registration
822type Address struct {
823	// Address1 - Address 1
824	Address1 *string `json:"address1,omitempty"`
825	// Address2 - Address 2
826	Address2 *string `json:"address2,omitempty"`
827	// City - City
828	City *string `json:"city,omitempty"`
829	// Country - Country
830	Country *string `json:"country,omitempty"`
831	// PostalCode - Postal code
832	PostalCode *string `json:"postalCode,omitempty"`
833	// State - State
834	State *string `json:"state,omitempty"`
835}
836
837// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
838// AddressResponse describes main public ip address and any extra vips
839type AddressResponse struct {
840	autorest.Response `json:"-"`
841	// ServiceIPAddress - Main public vip
842	ServiceIPAddress *string `json:"serviceIpAddress,omitempty"`
843	// InternalIPAddress - VNET internal ip address of the hostingEnvironment (App Service Environment) if it is in internal load-balancing mode
844	InternalIPAddress *string `json:"internalIpAddress,omitempty"`
845	// OutboundIPAddresses - IP addresses appearing on outbound connections
846	OutboundIPAddresses *[]string `json:"outboundIpAddresses,omitempty"`
847	// VipMappings - Additional vips
848	VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"`
849}
850
851// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
852// APIDefinitionInfo information about the formal API definition for the web app.
853type APIDefinitionInfo struct {
854	// URL - The URL of the API definition.
855	URL *string `json:"url,omitempty"`
856}
857
858// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
859// APIEntity API Management
860type APIEntity struct {
861	autorest.Response    `json:"-"`
862	*APIEntityProperties `json:"properties,omitempty"`
863	// ID - Resource Id
864	ID *string `json:"id,omitempty"`
865	// Name - Resource Name
866	Name *string `json:"name,omitempty"`
867	// Kind - Kind of resource
868	Kind *string `json:"kind,omitempty"`
869	// Location - Resource Location
870	Location *string `json:"location,omitempty"`
871	// Type - Resource type
872	Type *string `json:"type,omitempty"`
873	// Tags - Resource tags
874	Tags map[string]*string `json:"tags"`
875}
876
877// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
878// MarshalJSON is the custom marshaler for APIEntity.
879func (ae APIEntity) MarshalJSON() ([]byte, error) {
880	objectMap := make(map[string]interface{})
881	if ae.APIEntityProperties != nil {
882		objectMap["properties"] = ae.APIEntityProperties
883	}
884	if ae.ID != nil {
885		objectMap["id"] = ae.ID
886	}
887	if ae.Name != nil {
888		objectMap["name"] = ae.Name
889	}
890	if ae.Kind != nil {
891		objectMap["kind"] = ae.Kind
892	}
893	if ae.Location != nil {
894		objectMap["location"] = ae.Location
895	}
896	if ae.Type != nil {
897		objectMap["type"] = ae.Type
898	}
899	if ae.Tags != nil {
900		objectMap["tags"] = ae.Tags
901	}
902	return json.Marshal(objectMap)
903}
904
905// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
906// UnmarshalJSON is the custom unmarshaler for APIEntity struct.
907func (ae *APIEntity) UnmarshalJSON(body []byte) error {
908	var m map[string]*json.RawMessage
909	err := json.Unmarshal(body, &m)
910	if err != nil {
911		return err
912	}
913	for k, v := range m {
914		switch k {
915		case "properties":
916			if v != nil {
917				var APIEntityProperties APIEntityProperties
918				err = json.Unmarshal(*v, &APIEntityProperties)
919				if err != nil {
920					return err
921				}
922				ae.APIEntityProperties = &APIEntityProperties
923			}
924		case "id":
925			if v != nil {
926				var ID string
927				err = json.Unmarshal(*v, &ID)
928				if err != nil {
929					return err
930				}
931				ae.ID = &ID
932			}
933		case "name":
934			if v != nil {
935				var name string
936				err = json.Unmarshal(*v, &name)
937				if err != nil {
938					return err
939				}
940				ae.Name = &name
941			}
942		case "kind":
943			if v != nil {
944				var kind string
945				err = json.Unmarshal(*v, &kind)
946				if err != nil {
947					return err
948				}
949				ae.Kind = &kind
950			}
951		case "location":
952			if v != nil {
953				var location string
954				err = json.Unmarshal(*v, &location)
955				if err != nil {
956					return err
957				}
958				ae.Location = &location
959			}
960		case "type":
961			if v != nil {
962				var typeVar string
963				err = json.Unmarshal(*v, &typeVar)
964				if err != nil {
965					return err
966				}
967				ae.Type = &typeVar
968			}
969		case "tags":
970			if v != nil {
971				var tags map[string]*string
972				err = json.Unmarshal(*v, &tags)
973				if err != nil {
974					return err
975				}
976				ae.Tags = tags
977			}
978		}
979	}
980
981	return nil
982}
983
984// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
985// APIEntityProperties ...
986type APIEntityProperties struct {
987	// Name - Name of the API
988	//             the URL path of this API when exposed via APIM
989	Name *string `json:"name,omitempty"`
990	// GeneralInformation - the URL path of this API when exposed via APIM
991	GeneralInformation *GeneralAPIInformation `json:"generalInformation,omitempty"`
992	// Path - the URL path of this API when exposed via APIM
993	Path *string `json:"path,omitempty"`
994	// RuntimeUrls - Read only property returning the runtime endpoints where the API can be called
995	RuntimeUrls *[]string `json:"runtimeUrls,omitempty"`
996	// Protocols - Protocols supported by the front end - http/https
997	Protocols *[]string `json:"protocols,omitempty"`
998	// Policies - Api polcies
999	Policies *APIPolicies `json:"policies,omitempty"`
1000	// BackendService - Backend service definition
1001	BackendService *BackendServiceDefinition `json:"backendService,omitempty"`
1002	// APIDefinitionURL - Api definition Url - url where the swagger can be downloaded from
1003	APIDefinitionURL *string `json:"apiDefinitionUrl,omitempty"`
1004	// Metadata - Free form object for the data caller wants to store
1005	Metadata interface{} `json:"metadata,omitempty"`
1006	// Capabilities - Capabilities
1007	Capabilities *[]string `json:"capabilities,omitempty"`
1008	// ConnectionParameters - Connection parameters
1009	ConnectionParameters map[string]*ConnectionParameter `json:"connectionParameters"`
1010	// CreatedTime - Timestamp of the connection creation
1011	CreatedTime *date.Time `json:"createdTime,omitempty"`
1012	// ChangedTime - Timestamp of last connection change.
1013	ChangedTime *date.Time `json:"changedTime,omitempty"`
1014}
1015
1016// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1017// MarshalJSON is the custom marshaler for APIEntityProperties.
1018func (ae APIEntityProperties) MarshalJSON() ([]byte, error) {
1019	objectMap := make(map[string]interface{})
1020	if ae.Name != nil {
1021		objectMap["name"] = ae.Name
1022	}
1023	if ae.GeneralInformation != nil {
1024		objectMap["generalInformation"] = ae.GeneralInformation
1025	}
1026	if ae.Path != nil {
1027		objectMap["path"] = ae.Path
1028	}
1029	if ae.RuntimeUrls != nil {
1030		objectMap["runtimeUrls"] = ae.RuntimeUrls
1031	}
1032	if ae.Protocols != nil {
1033		objectMap["protocols"] = ae.Protocols
1034	}
1035	if ae.Policies != nil {
1036		objectMap["policies"] = ae.Policies
1037	}
1038	if ae.BackendService != nil {
1039		objectMap["backendService"] = ae.BackendService
1040	}
1041	if ae.APIDefinitionURL != nil {
1042		objectMap["apiDefinitionUrl"] = ae.APIDefinitionURL
1043	}
1044	objectMap["metadata"] = ae.Metadata
1045	if ae.Capabilities != nil {
1046		objectMap["capabilities"] = ae.Capabilities
1047	}
1048	if ae.ConnectionParameters != nil {
1049		objectMap["connectionParameters"] = ae.ConnectionParameters
1050	}
1051	if ae.CreatedTime != nil {
1052		objectMap["createdTime"] = ae.CreatedTime
1053	}
1054	if ae.ChangedTime != nil {
1055		objectMap["changedTime"] = ae.ChangedTime
1056	}
1057	return json.Marshal(objectMap)
1058}
1059
1060// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1061// APIOAuthSettings oAuth settings for the conenction provider
1062type APIOAuthSettings struct {
1063	// IdentityProvider - Identity provider
1064	IdentityProvider *string `json:"identityProvider,omitempty"`
1065	// ClientID - Resource provider client id
1066	ClientID *string `json:"clientId,omitempty"`
1067	// ClientSecret - Client Secret needed for OAuth
1068	ClientSecret *string `json:"clientSecret,omitempty"`
1069	// Scopes - OAuth scopes
1070	Scopes *[]string `json:"scopes,omitempty"`
1071	// RedirectURL - Url
1072	RedirectURL *string `json:"redirectUrl,omitempty"`
1073	// Properties - Read only properties for this oauth setting.
1074	Properties interface{} `json:"properties,omitempty"`
1075	// CustomParameters - OAuth parameters key is the name of parameter
1076	CustomParameters map[string]*APIOAuthSettingsParameter `json:"customParameters"`
1077}
1078
1079// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1080// MarshalJSON is the custom marshaler for APIOAuthSettings.
1081func (aoas APIOAuthSettings) MarshalJSON() ([]byte, error) {
1082	objectMap := make(map[string]interface{})
1083	if aoas.IdentityProvider != nil {
1084		objectMap["identityProvider"] = aoas.IdentityProvider
1085	}
1086	if aoas.ClientID != nil {
1087		objectMap["clientId"] = aoas.ClientID
1088	}
1089	if aoas.ClientSecret != nil {
1090		objectMap["clientSecret"] = aoas.ClientSecret
1091	}
1092	if aoas.Scopes != nil {
1093		objectMap["scopes"] = aoas.Scopes
1094	}
1095	if aoas.RedirectURL != nil {
1096		objectMap["redirectUrl"] = aoas.RedirectURL
1097	}
1098	objectMap["properties"] = aoas.Properties
1099	if aoas.CustomParameters != nil {
1100		objectMap["customParameters"] = aoas.CustomParameters
1101	}
1102	return json.Marshal(objectMap)
1103}
1104
1105// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1106// APIOAuthSettingsParameter oAuth Settings Parameter
1107type APIOAuthSettingsParameter struct {
1108	// Value - Value
1109	Value *string `json:"value,omitempty"`
1110	// Options - Read only: Options available to this parameter
1111	Options interface{} `json:"options,omitempty"`
1112	// UIDefinition - UI definitions per culture as caller can specify the culture
1113	UIDefinition interface{} `json:"uiDefinition,omitempty"`
1114}
1115
1116// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1117// APIPolicies api policies
1118type APIPolicies struct {
1119	*APIPoliciesProperties `json:"properties,omitempty"`
1120	// ID - Resource Id
1121	ID *string `json:"id,omitempty"`
1122	// Name - Resource Name
1123	Name *string `json:"name,omitempty"`
1124	// Kind - Kind of resource
1125	Kind *string `json:"kind,omitempty"`
1126	// Location - Resource Location
1127	Location *string `json:"location,omitempty"`
1128	// Type - Resource type
1129	Type *string `json:"type,omitempty"`
1130	// Tags - Resource tags
1131	Tags map[string]*string `json:"tags"`
1132}
1133
1134// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1135// MarshalJSON is the custom marshaler for APIPolicies.
1136func (ap APIPolicies) MarshalJSON() ([]byte, error) {
1137	objectMap := make(map[string]interface{})
1138	if ap.APIPoliciesProperties != nil {
1139		objectMap["properties"] = ap.APIPoliciesProperties
1140	}
1141	if ap.ID != nil {
1142		objectMap["id"] = ap.ID
1143	}
1144	if ap.Name != nil {
1145		objectMap["name"] = ap.Name
1146	}
1147	if ap.Kind != nil {
1148		objectMap["kind"] = ap.Kind
1149	}
1150	if ap.Location != nil {
1151		objectMap["location"] = ap.Location
1152	}
1153	if ap.Type != nil {
1154		objectMap["type"] = ap.Type
1155	}
1156	if ap.Tags != nil {
1157		objectMap["tags"] = ap.Tags
1158	}
1159	return json.Marshal(objectMap)
1160}
1161
1162// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1163// UnmarshalJSON is the custom unmarshaler for APIPolicies struct.
1164func (ap *APIPolicies) UnmarshalJSON(body []byte) error {
1165	var m map[string]*json.RawMessage
1166	err := json.Unmarshal(body, &m)
1167	if err != nil {
1168		return err
1169	}
1170	for k, v := range m {
1171		switch k {
1172		case "properties":
1173			if v != nil {
1174				var APIPoliciesProperties APIPoliciesProperties
1175				err = json.Unmarshal(*v, &APIPoliciesProperties)
1176				if err != nil {
1177					return err
1178				}
1179				ap.APIPoliciesProperties = &APIPoliciesProperties
1180			}
1181		case "id":
1182			if v != nil {
1183				var ID string
1184				err = json.Unmarshal(*v, &ID)
1185				if err != nil {
1186					return err
1187				}
1188				ap.ID = &ID
1189			}
1190		case "name":
1191			if v != nil {
1192				var name string
1193				err = json.Unmarshal(*v, &name)
1194				if err != nil {
1195					return err
1196				}
1197				ap.Name = &name
1198			}
1199		case "kind":
1200			if v != nil {
1201				var kind string
1202				err = json.Unmarshal(*v, &kind)
1203				if err != nil {
1204					return err
1205				}
1206				ap.Kind = &kind
1207			}
1208		case "location":
1209			if v != nil {
1210				var location string
1211				err = json.Unmarshal(*v, &location)
1212				if err != nil {
1213					return err
1214				}
1215				ap.Location = &location
1216			}
1217		case "type":
1218			if v != nil {
1219				var typeVar string
1220				err = json.Unmarshal(*v, &typeVar)
1221				if err != nil {
1222					return err
1223				}
1224				ap.Type = &typeVar
1225			}
1226		case "tags":
1227			if v != nil {
1228				var tags map[string]*string
1229				err = json.Unmarshal(*v, &tags)
1230				if err != nil {
1231					return err
1232				}
1233				ap.Tags = tags
1234			}
1235		}
1236	}
1237
1238	return nil
1239}
1240
1241// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1242// APIPoliciesProperties ...
1243type APIPoliciesProperties struct {
1244	// Content - Content of xml policy
1245	Content *string `json:"content,omitempty"`
1246}
1247
1248// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1249// ApisCollection collection of Apis
1250type ApisCollection struct {
1251	autorest.Response `json:"-"`
1252	// Value - Collection of resources
1253	Value *[]APIEntity `json:"value,omitempty"`
1254	// NextLink - Link to next page of resources
1255	NextLink *string `json:"nextLink,omitempty"`
1256}
1257
1258// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1259// ApisCollectionIterator provides access to a complete listing of APIEntity values.
1260type ApisCollectionIterator struct {
1261	i    int
1262	page ApisCollectionPage
1263}
1264
1265// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1266// Next advances to the next value.  If there was an error making
1267// the request the iterator does not advance and the error is returned.
1268func (iter *ApisCollectionIterator) Next() error {
1269	iter.i++
1270	if iter.i < len(iter.page.Values()) {
1271		return nil
1272	}
1273	err := iter.page.Next()
1274	if err != nil {
1275		iter.i--
1276		return err
1277	}
1278	iter.i = 0
1279	return nil
1280}
1281
1282// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1283// NotDone returns true if the enumeration should be started or is not yet complete.
1284func (iter ApisCollectionIterator) NotDone() bool {
1285	return iter.page.NotDone() && iter.i < len(iter.page.Values())
1286}
1287
1288// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1289// Response returns the raw server response from the last page request.
1290func (iter ApisCollectionIterator) Response() ApisCollection {
1291	return iter.page.Response()
1292}
1293
1294// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1295// Value returns the current value or a zero-initialized value if the
1296// iterator has advanced beyond the end of the collection.
1297func (iter ApisCollectionIterator) Value() APIEntity {
1298	if !iter.page.NotDone() {
1299		return APIEntity{}
1300	}
1301	return iter.page.Values()[iter.i]
1302}
1303
1304// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1305// IsEmpty returns true if the ListResult contains no values.
1306func (ac ApisCollection) IsEmpty() bool {
1307	return ac.Value == nil || len(*ac.Value) == 0
1308}
1309
1310// apisCollectionPreparer prepares a request to retrieve the next set of results.
1311// It returns nil if no more results exist.
1312func (ac ApisCollection) apisCollectionPreparer() (*http.Request, error) {
1313	if ac.NextLink == nil || len(to.String(ac.NextLink)) < 1 {
1314		return nil, nil
1315	}
1316	return autorest.Prepare(&http.Request{},
1317		autorest.AsJSON(),
1318		autorest.AsGet(),
1319		autorest.WithBaseURL(to.String(ac.NextLink)))
1320}
1321
1322// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1323// ApisCollectionPage contains a page of APIEntity values.
1324type ApisCollectionPage struct {
1325	fn func(ApisCollection) (ApisCollection, error)
1326	ac ApisCollection
1327}
1328
1329// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1330// Next advances to the next page of values.  If there was an error making
1331// the request the page does not advance and the error is returned.
1332func (page *ApisCollectionPage) Next() error {
1333	next, err := page.fn(page.ac)
1334	if err != nil {
1335		return err
1336	}
1337	page.ac = next
1338	return nil
1339}
1340
1341// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1342// NotDone returns true if the page enumeration should be started or is not yet complete.
1343func (page ApisCollectionPage) NotDone() bool {
1344	return !page.ac.IsEmpty()
1345}
1346
1347// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1348// Response returns the raw server response from the last page request.
1349func (page ApisCollectionPage) Response() ApisCollection {
1350	return page.ac
1351}
1352
1353// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1354// Values returns the slice of values for the current page or nil if there are no values.
1355func (page ApisCollectionPage) Values() []APIEntity {
1356	if page.ac.IsEmpty() {
1357		return nil
1358	}
1359	return *page.ac.Value
1360}
1361
1362// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1363// ApplicationLogsConfig application logs configuration
1364type ApplicationLogsConfig struct {
1365	// FileSystem - Application logs to file system configuration
1366	FileSystem *FileSystemApplicationLogsConfig `json:"fileSystem,omitempty"`
1367	// AzureTableStorage - Application logs to azure table storage configuration
1368	AzureTableStorage *AzureTableStorageApplicationLogsConfig `json:"azureTableStorage,omitempty"`
1369	// AzureBlobStorage - Application logs to blob storage configuration
1370	AzureBlobStorage *AzureBlobStorageApplicationLogsConfig `json:"azureBlobStorage,omitempty"`
1371}
1372
1373// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1374// ArmPlan the plan object in an ARM, represents a marketplace plan
1375type ArmPlan struct {
1376	// Name - The name
1377	Name *string `json:"name,omitempty"`
1378	// Publisher - The publisher
1379	Publisher *string `json:"publisher,omitempty"`
1380	// Product - The product
1381	Product *string `json:"product,omitempty"`
1382	// PromotionCode - The promotion code
1383	PromotionCode *string `json:"promotionCode,omitempty"`
1384	// Version - Version of product
1385	Version *string `json:"version,omitempty"`
1386}
1387
1388// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1389// AutoHealActions autoHealActions - Describes the actions which can be
1390// taken by the auto-heal module when a rule is triggered.
1391type AutoHealActions struct {
1392	// ActionType - ActionType - predefined action to be taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction'
1393	ActionType AutoHealActionType `json:"actionType,omitempty"`
1394	// CustomAction - CustomAction - custom action to be taken
1395	CustomAction *AutoHealCustomAction `json:"customAction,omitempty"`
1396	// MinProcessExecutionTime - MinProcessExecutionTime - minimum time the process must execute
1397	//             before taking the action
1398	MinProcessExecutionTime *string `json:"minProcessExecutionTime,omitempty"`
1399}
1400
1401// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1402// AutoHealCustomAction autoHealCustomAction - Describes the custom action to be executed
1403// when an auto heal rule is triggered.
1404type AutoHealCustomAction struct {
1405	// Exe - Executable to be run
1406	Exe *string `json:"exe,omitempty"`
1407	// Parameters - Parameters for the executable
1408	Parameters *string `json:"parameters,omitempty"`
1409}
1410
1411// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1412// AutoHealRules autoHealRules - describes the rules which can be defined for auto-heal
1413type AutoHealRules struct {
1414	// Triggers - Triggers - Conditions that describe when to execute the auto-heal actions
1415	Triggers *AutoHealTriggers `json:"triggers,omitempty"`
1416	// Actions - Actions - Actions to be executed when a rule is triggered
1417	Actions *AutoHealActions `json:"actions,omitempty"`
1418}
1419
1420// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1421// AutoHealTriggers autoHealTriggers - describes the triggers for auto-heal.
1422type AutoHealTriggers struct {
1423	// Requests - Requests - Defines a rule based on total requests
1424	Requests *RequestsBasedTrigger `json:"requests,omitempty"`
1425	// PrivateBytesInKB - PrivateBytesInKB - Defines a rule based on private bytes
1426	PrivateBytesInKB *int32 `json:"privateBytesInKB,omitempty"`
1427	// StatusCodes - StatusCodes - Defines a rule based on status codes
1428	StatusCodes *[]StatusCodesBasedTrigger `json:"statusCodes,omitempty"`
1429	// SlowRequests - SlowRequests - Defines a rule based on request execution time
1430	SlowRequests *SlowRequestsBasedTrigger `json:"slowRequests,omitempty"`
1431}
1432
1433// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1434// AzureBlobStorageApplicationLogsConfig application logs azure blob storage configuration
1435type AzureBlobStorageApplicationLogsConfig struct {
1436	// Level - Log level. Possible values include: 'LogLevelOff', 'LogLevelVerbose', 'LogLevelInformation', 'LogLevelWarning', 'LogLevelError'
1437	Level LogLevel `json:"level,omitempty"`
1438	// SasURL - SAS url to a azure blob container with read/write/list/delete permissions
1439	SasURL *string `json:"sasUrl,omitempty"`
1440	// RetentionInDays - Retention in days.
1441	//             Remove blobs older than X days.
1442	//             0 or lower means no retention.
1443	RetentionInDays *int32 `json:"retentionInDays,omitempty"`
1444}
1445
1446// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1447// AzureBlobStorageHTTPLogsConfig http logs to azure blob storage configuration
1448type AzureBlobStorageHTTPLogsConfig struct {
1449	// SasURL - SAS url to a azure blob container with read/write/list/delete permissions
1450	SasURL *string `json:"sasUrl,omitempty"`
1451	// RetentionInDays - Retention in days.
1452	//             Remove blobs older than X days.
1453	//             0 or lower means no retention.
1454	RetentionInDays *int32 `json:"retentionInDays,omitempty"`
1455	// Enabled - Enabled
1456	Enabled *bool `json:"enabled,omitempty"`
1457}
1458
1459// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1460// AzureTableStorageApplicationLogsConfig application logs to azure table storage configuration
1461type AzureTableStorageApplicationLogsConfig struct {
1462	// Level - Log level. Possible values include: 'LogLevelOff', 'LogLevelVerbose', 'LogLevelInformation', 'LogLevelWarning', 'LogLevelError'
1463	Level LogLevel `json:"level,omitempty"`
1464	// SasURL - SAS url to an azure table with add/query/delete permissions
1465	SasURL *string `json:"sasUrl,omitempty"`
1466}
1467
1468// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1469// BackendServiceDefinition API definitions with backend urls
1470type BackendServiceDefinition struct {
1471	*BackendServiceDefinitionProperties `json:"properties,omitempty"`
1472	// ID - Resource Id
1473	ID *string `json:"id,omitempty"`
1474	// Name - Resource Name
1475	Name *string `json:"name,omitempty"`
1476	// Kind - Kind of resource
1477	Kind *string `json:"kind,omitempty"`
1478	// Location - Resource Location
1479	Location *string `json:"location,omitempty"`
1480	// Type - Resource type
1481	Type *string `json:"type,omitempty"`
1482	// Tags - Resource tags
1483	Tags map[string]*string `json:"tags"`
1484}
1485
1486// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1487// MarshalJSON is the custom marshaler for BackendServiceDefinition.
1488func (bsd BackendServiceDefinition) MarshalJSON() ([]byte, error) {
1489	objectMap := make(map[string]interface{})
1490	if bsd.BackendServiceDefinitionProperties != nil {
1491		objectMap["properties"] = bsd.BackendServiceDefinitionProperties
1492	}
1493	if bsd.ID != nil {
1494		objectMap["id"] = bsd.ID
1495	}
1496	if bsd.Name != nil {
1497		objectMap["name"] = bsd.Name
1498	}
1499	if bsd.Kind != nil {
1500		objectMap["kind"] = bsd.Kind
1501	}
1502	if bsd.Location != nil {
1503		objectMap["location"] = bsd.Location
1504	}
1505	if bsd.Type != nil {
1506		objectMap["type"] = bsd.Type
1507	}
1508	if bsd.Tags != nil {
1509		objectMap["tags"] = bsd.Tags
1510	}
1511	return json.Marshal(objectMap)
1512}
1513
1514// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1515// UnmarshalJSON is the custom unmarshaler for BackendServiceDefinition struct.
1516func (bsd *BackendServiceDefinition) UnmarshalJSON(body []byte) error {
1517	var m map[string]*json.RawMessage
1518	err := json.Unmarshal(body, &m)
1519	if err != nil {
1520		return err
1521	}
1522	for k, v := range m {
1523		switch k {
1524		case "properties":
1525			if v != nil {
1526				var backendServiceDefinitionProperties BackendServiceDefinitionProperties
1527				err = json.Unmarshal(*v, &backendServiceDefinitionProperties)
1528				if err != nil {
1529					return err
1530				}
1531				bsd.BackendServiceDefinitionProperties = &backendServiceDefinitionProperties
1532			}
1533		case "id":
1534			if v != nil {
1535				var ID string
1536				err = json.Unmarshal(*v, &ID)
1537				if err != nil {
1538					return err
1539				}
1540				bsd.ID = &ID
1541			}
1542		case "name":
1543			if v != nil {
1544				var name string
1545				err = json.Unmarshal(*v, &name)
1546				if err != nil {
1547					return err
1548				}
1549				bsd.Name = &name
1550			}
1551		case "kind":
1552			if v != nil {
1553				var kind string
1554				err = json.Unmarshal(*v, &kind)
1555				if err != nil {
1556					return err
1557				}
1558				bsd.Kind = &kind
1559			}
1560		case "location":
1561			if v != nil {
1562				var location string
1563				err = json.Unmarshal(*v, &location)
1564				if err != nil {
1565					return err
1566				}
1567				bsd.Location = &location
1568			}
1569		case "type":
1570			if v != nil {
1571				var typeVar string
1572				err = json.Unmarshal(*v, &typeVar)
1573				if err != nil {
1574					return err
1575				}
1576				bsd.Type = &typeVar
1577			}
1578		case "tags":
1579			if v != nil {
1580				var tags map[string]*string
1581				err = json.Unmarshal(*v, &tags)
1582				if err != nil {
1583					return err
1584				}
1585				bsd.Tags = tags
1586			}
1587		}
1588	}
1589
1590	return nil
1591}
1592
1593// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1594// BackendServiceDefinitionProperties ...
1595type BackendServiceDefinitionProperties struct {
1596	// ServiceURL - Url from which the swagger payload will be fetched
1597	ServiceURL *string `json:"serviceUrl,omitempty"`
1598	// HostingEnvironmentServiceUrls - Service Urls per Hosting environment
1599	HostingEnvironmentServiceUrls *[]HostingEnvironmentServiceDescriptions `json:"hostingEnvironmentServiceUrls,omitempty"`
1600}
1601
1602// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1603// BackupItem backup description
1604type BackupItem struct {
1605	autorest.Response     `json:"-"`
1606	*BackupItemProperties `json:"properties,omitempty"`
1607	// ID - Resource Id
1608	ID *string `json:"id,omitempty"`
1609	// Name - Resource Name
1610	Name *string `json:"name,omitempty"`
1611	// Kind - Kind of resource
1612	Kind *string `json:"kind,omitempty"`
1613	// Location - Resource Location
1614	Location *string `json:"location,omitempty"`
1615	// Type - Resource type
1616	Type *string `json:"type,omitempty"`
1617	// Tags - Resource tags
1618	Tags map[string]*string `json:"tags"`
1619}
1620
1621// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1622// MarshalJSON is the custom marshaler for BackupItem.
1623func (bi BackupItem) MarshalJSON() ([]byte, error) {
1624	objectMap := make(map[string]interface{})
1625	if bi.BackupItemProperties != nil {
1626		objectMap["properties"] = bi.BackupItemProperties
1627	}
1628	if bi.ID != nil {
1629		objectMap["id"] = bi.ID
1630	}
1631	if bi.Name != nil {
1632		objectMap["name"] = bi.Name
1633	}
1634	if bi.Kind != nil {
1635		objectMap["kind"] = bi.Kind
1636	}
1637	if bi.Location != nil {
1638		objectMap["location"] = bi.Location
1639	}
1640	if bi.Type != nil {
1641		objectMap["type"] = bi.Type
1642	}
1643	if bi.Tags != nil {
1644		objectMap["tags"] = bi.Tags
1645	}
1646	return json.Marshal(objectMap)
1647}
1648
1649// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1650// UnmarshalJSON is the custom unmarshaler for BackupItem struct.
1651func (bi *BackupItem) UnmarshalJSON(body []byte) error {
1652	var m map[string]*json.RawMessage
1653	err := json.Unmarshal(body, &m)
1654	if err != nil {
1655		return err
1656	}
1657	for k, v := range m {
1658		switch k {
1659		case "properties":
1660			if v != nil {
1661				var backupItemProperties BackupItemProperties
1662				err = json.Unmarshal(*v, &backupItemProperties)
1663				if err != nil {
1664					return err
1665				}
1666				bi.BackupItemProperties = &backupItemProperties
1667			}
1668		case "id":
1669			if v != nil {
1670				var ID string
1671				err = json.Unmarshal(*v, &ID)
1672				if err != nil {
1673					return err
1674				}
1675				bi.ID = &ID
1676			}
1677		case "name":
1678			if v != nil {
1679				var name string
1680				err = json.Unmarshal(*v, &name)
1681				if err != nil {
1682					return err
1683				}
1684				bi.Name = &name
1685			}
1686		case "kind":
1687			if v != nil {
1688				var kind string
1689				err = json.Unmarshal(*v, &kind)
1690				if err != nil {
1691					return err
1692				}
1693				bi.Kind = &kind
1694			}
1695		case "location":
1696			if v != nil {
1697				var location string
1698				err = json.Unmarshal(*v, &location)
1699				if err != nil {
1700					return err
1701				}
1702				bi.Location = &location
1703			}
1704		case "type":
1705			if v != nil {
1706				var typeVar string
1707				err = json.Unmarshal(*v, &typeVar)
1708				if err != nil {
1709					return err
1710				}
1711				bi.Type = &typeVar
1712			}
1713		case "tags":
1714			if v != nil {
1715				var tags map[string]*string
1716				err = json.Unmarshal(*v, &tags)
1717				if err != nil {
1718					return err
1719				}
1720				bi.Tags = tags
1721			}
1722		}
1723	}
1724
1725	return nil
1726}
1727
1728// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1729// BackupItemCollection collection of Backup Items
1730type BackupItemCollection struct {
1731	autorest.Response `json:"-"`
1732	// Value - Collection of resources
1733	Value *[]BackupItem `json:"value,omitempty"`
1734	// NextLink - Link to next page of resources
1735	NextLink *string `json:"nextLink,omitempty"`
1736}
1737
1738// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1739// BackupItemCollectionIterator provides access to a complete listing of BackupItem values.
1740type BackupItemCollectionIterator struct {
1741	i    int
1742	page BackupItemCollectionPage
1743}
1744
1745// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1746// Next advances to the next value.  If there was an error making
1747// the request the iterator does not advance and the error is returned.
1748func (iter *BackupItemCollectionIterator) Next() error {
1749	iter.i++
1750	if iter.i < len(iter.page.Values()) {
1751		return nil
1752	}
1753	err := iter.page.Next()
1754	if err != nil {
1755		iter.i--
1756		return err
1757	}
1758	iter.i = 0
1759	return nil
1760}
1761
1762// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1763// NotDone returns true if the enumeration should be started or is not yet complete.
1764func (iter BackupItemCollectionIterator) NotDone() bool {
1765	return iter.page.NotDone() && iter.i < len(iter.page.Values())
1766}
1767
1768// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1769// Response returns the raw server response from the last page request.
1770func (iter BackupItemCollectionIterator) Response() BackupItemCollection {
1771	return iter.page.Response()
1772}
1773
1774// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1775// Value returns the current value or a zero-initialized value if the
1776// iterator has advanced beyond the end of the collection.
1777func (iter BackupItemCollectionIterator) Value() BackupItem {
1778	if !iter.page.NotDone() {
1779		return BackupItem{}
1780	}
1781	return iter.page.Values()[iter.i]
1782}
1783
1784// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1785// IsEmpty returns true if the ListResult contains no values.
1786func (bic BackupItemCollection) IsEmpty() bool {
1787	return bic.Value == nil || len(*bic.Value) == 0
1788}
1789
1790// backupItemCollectionPreparer prepares a request to retrieve the next set of results.
1791// It returns nil if no more results exist.
1792func (bic BackupItemCollection) backupItemCollectionPreparer() (*http.Request, error) {
1793	if bic.NextLink == nil || len(to.String(bic.NextLink)) < 1 {
1794		return nil, nil
1795	}
1796	return autorest.Prepare(&http.Request{},
1797		autorest.AsJSON(),
1798		autorest.AsGet(),
1799		autorest.WithBaseURL(to.String(bic.NextLink)))
1800}
1801
1802// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1803// BackupItemCollectionPage contains a page of BackupItem values.
1804type BackupItemCollectionPage struct {
1805	fn  func(BackupItemCollection) (BackupItemCollection, error)
1806	bic BackupItemCollection
1807}
1808
1809// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1810// Next advances to the next page of values.  If there was an error making
1811// the request the page does not advance and the error is returned.
1812func (page *BackupItemCollectionPage) Next() error {
1813	next, err := page.fn(page.bic)
1814	if err != nil {
1815		return err
1816	}
1817	page.bic = next
1818	return nil
1819}
1820
1821// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1822// NotDone returns true if the page enumeration should be started or is not yet complete.
1823func (page BackupItemCollectionPage) NotDone() bool {
1824	return !page.bic.IsEmpty()
1825}
1826
1827// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1828// Response returns the raw server response from the last page request.
1829func (page BackupItemCollectionPage) Response() BackupItemCollection {
1830	return page.bic
1831}
1832
1833// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1834// Values returns the slice of values for the current page or nil if there are no values.
1835func (page BackupItemCollectionPage) Values() []BackupItem {
1836	if page.bic.IsEmpty() {
1837		return nil
1838	}
1839	return *page.bic.Value
1840}
1841
1842// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1843// BackupItemProperties ...
1844type BackupItemProperties struct {
1845	// ID - Id of the backup.
1846	ID *int32 `json:"id,omitempty"`
1847	// StorageAccountURL - SAS URL for the storage account container which contains this backup
1848	StorageAccountURL *string `json:"storageAccountUrl,omitempty"`
1849	// BlobName - Name of the blob which contains data for this backup
1850	BlobName *string `json:"blobName,omitempty"`
1851	// Name - Name of this backup
1852	Name *string `json:"name,omitempty"`
1853	// Status - Backup status. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted'
1854	Status BackupItemStatus `json:"status,omitempty"`
1855	// SizeInBytes - Size of the backup in bytes
1856	SizeInBytes *int64 `json:"sizeInBytes,omitempty"`
1857	// Created - Timestamp of the backup creation
1858	Created *date.Time `json:"created,omitempty"`
1859	// Log - Details regarding this backup. Might contain an error message.
1860	Log *string `json:"log,omitempty"`
1861	// Databases - List of databases included in the backup
1862	Databases *[]DatabaseBackupSetting `json:"databases,omitempty"`
1863	// Scheduled - True if this backup has been created due to a schedule being triggered.
1864	Scheduled *bool `json:"scheduled,omitempty"`
1865	// LastRestoreTimeStamp - Timestamp of a last restore operation which used this backup.
1866	LastRestoreTimeStamp *date.Time `json:"lastRestoreTimeStamp,omitempty"`
1867	// FinishedTimeStamp - Timestamp when this backup finished.
1868	FinishedTimeStamp *date.Time `json:"finishedTimeStamp,omitempty"`
1869	// CorrelationID - Unique correlation identifier. Please use this along with the timestamp while communicating with Azure support.
1870	CorrelationID *string `json:"correlationId,omitempty"`
1871	// WebsiteSizeInBytes - Size of the original web app which has been backed up
1872	WebsiteSizeInBytes *int64 `json:"websiteSizeInBytes,omitempty"`
1873}
1874
1875// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1876// BackupRequest description of a backup which will be performed
1877type BackupRequest struct {
1878	autorest.Response        `json:"-"`
1879	*BackupRequestProperties `json:"properties,omitempty"`
1880	// ID - Resource Id
1881	ID *string `json:"id,omitempty"`
1882	// Name - Resource Name
1883	Name *string `json:"name,omitempty"`
1884	// Kind - Kind of resource
1885	Kind *string `json:"kind,omitempty"`
1886	// Location - Resource Location
1887	Location *string `json:"location,omitempty"`
1888	// Type - Resource type
1889	Type *string `json:"type,omitempty"`
1890	// Tags - Resource tags
1891	Tags map[string]*string `json:"tags"`
1892}
1893
1894// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1895// MarshalJSON is the custom marshaler for BackupRequest.
1896func (br BackupRequest) MarshalJSON() ([]byte, error) {
1897	objectMap := make(map[string]interface{})
1898	if br.BackupRequestProperties != nil {
1899		objectMap["properties"] = br.BackupRequestProperties
1900	}
1901	if br.ID != nil {
1902		objectMap["id"] = br.ID
1903	}
1904	if br.Name != nil {
1905		objectMap["name"] = br.Name
1906	}
1907	if br.Kind != nil {
1908		objectMap["kind"] = br.Kind
1909	}
1910	if br.Location != nil {
1911		objectMap["location"] = br.Location
1912	}
1913	if br.Type != nil {
1914		objectMap["type"] = br.Type
1915	}
1916	if br.Tags != nil {
1917		objectMap["tags"] = br.Tags
1918	}
1919	return json.Marshal(objectMap)
1920}
1921
1922// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
1923// UnmarshalJSON is the custom unmarshaler for BackupRequest struct.
1924func (br *BackupRequest) UnmarshalJSON(body []byte) error {
1925	var m map[string]*json.RawMessage
1926	err := json.Unmarshal(body, &m)
1927	if err != nil {
1928		return err
1929	}
1930	for k, v := range m {
1931		switch k {
1932		case "properties":
1933			if v != nil {
1934				var backupRequestProperties BackupRequestProperties
1935				err = json.Unmarshal(*v, &backupRequestProperties)
1936				if err != nil {
1937					return err
1938				}
1939				br.BackupRequestProperties = &backupRequestProperties
1940			}
1941		case "id":
1942			if v != nil {
1943				var ID string
1944				err = json.Unmarshal(*v, &ID)
1945				if err != nil {
1946					return err
1947				}
1948				br.ID = &ID
1949			}
1950		case "name":
1951			if v != nil {
1952				var name string
1953				err = json.Unmarshal(*v, &name)
1954				if err != nil {
1955					return err
1956				}
1957				br.Name = &name
1958			}
1959		case "kind":
1960			if v != nil {
1961				var kind string
1962				err = json.Unmarshal(*v, &kind)
1963				if err != nil {
1964					return err
1965				}
1966				br.Kind = &kind
1967			}
1968		case "location":
1969			if v != nil {
1970				var location string
1971				err = json.Unmarshal(*v, &location)
1972				if err != nil {
1973					return err
1974				}
1975				br.Location = &location
1976			}
1977		case "type":
1978			if v != nil {
1979				var typeVar string
1980				err = json.Unmarshal(*v, &typeVar)
1981				if err != nil {
1982					return err
1983				}
1984				br.Type = &typeVar
1985			}
1986		case "tags":
1987			if v != nil {
1988				var tags map[string]*string
1989				err = json.Unmarshal(*v, &tags)
1990				if err != nil {
1991					return err
1992				}
1993				br.Tags = tags
1994			}
1995		}
1996	}
1997
1998	return nil
1999}
2000
2001// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2002// BackupRequestProperties ...
2003type BackupRequestProperties struct {
2004	// Name - Name of the backup
2005	Name *string `json:"name,omitempty"`
2006	// Enabled - True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled
2007	Enabled *bool `json:"enabled,omitempty"`
2008	// StorageAccountURL - SAS URL to the container
2009	StorageAccountURL *string `json:"storageAccountUrl,omitempty"`
2010	// BackupSchedule - Schedule for the backup if it is executed periodically
2011	BackupSchedule *BackupSchedule `json:"backupSchedule,omitempty"`
2012	// Databases - Databases included in the backup
2013	Databases *[]DatabaseBackupSetting `json:"databases,omitempty"`
2014	// Type - Type of the backup. Possible values include: 'Default', 'Clone', 'Relocation'
2015	Type BackupRestoreOperationType `json:"type,omitempty"`
2016}
2017
2018// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2019// BackupSchedule description of a backup schedule. Describes how often should be the backup performed and what
2020// should be the retention policy.
2021type BackupSchedule struct {
2022	// FrequencyInterval - How often should be the backup executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day)
2023	FrequencyInterval *int32 `json:"frequencyInterval,omitempty"`
2024	// FrequencyUnit - How often should be the backup executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7). Possible values include: 'Day', 'Hour'
2025	FrequencyUnit FrequencyUnit `json:"frequencyUnit,omitempty"`
2026	// KeepAtLeastOneBackup - True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise.
2027	KeepAtLeastOneBackup *bool `json:"keepAtLeastOneBackup,omitempty"`
2028	// RetentionPeriodInDays - After how many days backups should be deleted
2029	RetentionPeriodInDays *int32 `json:"retentionPeriodInDays,omitempty"`
2030	// StartTime - When the schedule should start working
2031	StartTime *date.Time `json:"startTime,omitempty"`
2032	// LastExecutionTime - The last time when this schedule was triggered
2033	LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"`
2034}
2035
2036// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2037// Certificate app certificate
2038type Certificate struct {
2039	autorest.Response      `json:"-"`
2040	*CertificateProperties `json:"properties,omitempty"`
2041	// ID - Resource Id
2042	ID *string `json:"id,omitempty"`
2043	// Name - Resource Name
2044	Name *string `json:"name,omitempty"`
2045	// Kind - Kind of resource
2046	Kind *string `json:"kind,omitempty"`
2047	// Location - Resource Location
2048	Location *string `json:"location,omitempty"`
2049	// Type - Resource type
2050	Type *string `json:"type,omitempty"`
2051	// Tags - Resource tags
2052	Tags map[string]*string `json:"tags"`
2053}
2054
2055// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2056// MarshalJSON is the custom marshaler for Certificate.
2057func (c Certificate) MarshalJSON() ([]byte, error) {
2058	objectMap := make(map[string]interface{})
2059	if c.CertificateProperties != nil {
2060		objectMap["properties"] = c.CertificateProperties
2061	}
2062	if c.ID != nil {
2063		objectMap["id"] = c.ID
2064	}
2065	if c.Name != nil {
2066		objectMap["name"] = c.Name
2067	}
2068	if c.Kind != nil {
2069		objectMap["kind"] = c.Kind
2070	}
2071	if c.Location != nil {
2072		objectMap["location"] = c.Location
2073	}
2074	if c.Type != nil {
2075		objectMap["type"] = c.Type
2076	}
2077	if c.Tags != nil {
2078		objectMap["tags"] = c.Tags
2079	}
2080	return json.Marshal(objectMap)
2081}
2082
2083// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2084// UnmarshalJSON is the custom unmarshaler for Certificate struct.
2085func (c *Certificate) UnmarshalJSON(body []byte) error {
2086	var m map[string]*json.RawMessage
2087	err := json.Unmarshal(body, &m)
2088	if err != nil {
2089		return err
2090	}
2091	for k, v := range m {
2092		switch k {
2093		case "properties":
2094			if v != nil {
2095				var certificateProperties CertificateProperties
2096				err = json.Unmarshal(*v, &certificateProperties)
2097				if err != nil {
2098					return err
2099				}
2100				c.CertificateProperties = &certificateProperties
2101			}
2102		case "id":
2103			if v != nil {
2104				var ID string
2105				err = json.Unmarshal(*v, &ID)
2106				if err != nil {
2107					return err
2108				}
2109				c.ID = &ID
2110			}
2111		case "name":
2112			if v != nil {
2113				var name string
2114				err = json.Unmarshal(*v, &name)
2115				if err != nil {
2116					return err
2117				}
2118				c.Name = &name
2119			}
2120		case "kind":
2121			if v != nil {
2122				var kind string
2123				err = json.Unmarshal(*v, &kind)
2124				if err != nil {
2125					return err
2126				}
2127				c.Kind = &kind
2128			}
2129		case "location":
2130			if v != nil {
2131				var location string
2132				err = json.Unmarshal(*v, &location)
2133				if err != nil {
2134					return err
2135				}
2136				c.Location = &location
2137			}
2138		case "type":
2139			if v != nil {
2140				var typeVar string
2141				err = json.Unmarshal(*v, &typeVar)
2142				if err != nil {
2143					return err
2144				}
2145				c.Type = &typeVar
2146			}
2147		case "tags":
2148			if v != nil {
2149				var tags map[string]*string
2150				err = json.Unmarshal(*v, &tags)
2151				if err != nil {
2152					return err
2153				}
2154				c.Tags = tags
2155			}
2156		}
2157	}
2158
2159	return nil
2160}
2161
2162// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2163// CertificateCollection collection of certificates
2164type CertificateCollection struct {
2165	autorest.Response `json:"-"`
2166	// Value - Collection of resources
2167	Value *[]Certificate `json:"value,omitempty"`
2168	// NextLink - Link to next page of resources
2169	NextLink *string `json:"nextLink,omitempty"`
2170}
2171
2172// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2173// CertificateCollectionIterator provides access to a complete listing of Certificate values.
2174type CertificateCollectionIterator struct {
2175	i    int
2176	page CertificateCollectionPage
2177}
2178
2179// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2180// Next advances to the next value.  If there was an error making
2181// the request the iterator does not advance and the error is returned.
2182func (iter *CertificateCollectionIterator) Next() error {
2183	iter.i++
2184	if iter.i < len(iter.page.Values()) {
2185		return nil
2186	}
2187	err := iter.page.Next()
2188	if err != nil {
2189		iter.i--
2190		return err
2191	}
2192	iter.i = 0
2193	return nil
2194}
2195
2196// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2197// NotDone returns true if the enumeration should be started or is not yet complete.
2198func (iter CertificateCollectionIterator) NotDone() bool {
2199	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2200}
2201
2202// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2203// Response returns the raw server response from the last page request.
2204func (iter CertificateCollectionIterator) Response() CertificateCollection {
2205	return iter.page.Response()
2206}
2207
2208// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2209// Value returns the current value or a zero-initialized value if the
2210// iterator has advanced beyond the end of the collection.
2211func (iter CertificateCollectionIterator) Value() Certificate {
2212	if !iter.page.NotDone() {
2213		return Certificate{}
2214	}
2215	return iter.page.Values()[iter.i]
2216}
2217
2218// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2219// IsEmpty returns true if the ListResult contains no values.
2220func (cc CertificateCollection) IsEmpty() bool {
2221	return cc.Value == nil || len(*cc.Value) == 0
2222}
2223
2224// certificateCollectionPreparer prepares a request to retrieve the next set of results.
2225// It returns nil if no more results exist.
2226func (cc CertificateCollection) certificateCollectionPreparer() (*http.Request, error) {
2227	if cc.NextLink == nil || len(to.String(cc.NextLink)) < 1 {
2228		return nil, nil
2229	}
2230	return autorest.Prepare(&http.Request{},
2231		autorest.AsJSON(),
2232		autorest.AsGet(),
2233		autorest.WithBaseURL(to.String(cc.NextLink)))
2234}
2235
2236// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2237// CertificateCollectionPage contains a page of Certificate values.
2238type CertificateCollectionPage struct {
2239	fn func(CertificateCollection) (CertificateCollection, error)
2240	cc CertificateCollection
2241}
2242
2243// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2244// Next advances to the next page of values.  If there was an error making
2245// the request the page does not advance and the error is returned.
2246func (page *CertificateCollectionPage) Next() error {
2247	next, err := page.fn(page.cc)
2248	if err != nil {
2249		return err
2250	}
2251	page.cc = next
2252	return nil
2253}
2254
2255// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2256// NotDone returns true if the page enumeration should be started or is not yet complete.
2257func (page CertificateCollectionPage) NotDone() bool {
2258	return !page.cc.IsEmpty()
2259}
2260
2261// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2262// Response returns the raw server response from the last page request.
2263func (page CertificateCollectionPage) Response() CertificateCollection {
2264	return page.cc
2265}
2266
2267// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2268// Values returns the slice of values for the current page or nil if there are no values.
2269func (page CertificateCollectionPage) Values() []Certificate {
2270	if page.cc.IsEmpty() {
2271		return nil
2272	}
2273	return *page.cc.Value
2274}
2275
2276// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2277// CertificateDetails certificate Details
2278type CertificateDetails struct {
2279	*CertificateDetailsProperties `json:"properties,omitempty"`
2280	// ID - Resource Id
2281	ID *string `json:"id,omitempty"`
2282	// Name - Resource Name
2283	Name *string `json:"name,omitempty"`
2284	// Kind - Kind of resource
2285	Kind *string `json:"kind,omitempty"`
2286	// Location - Resource Location
2287	Location *string `json:"location,omitempty"`
2288	// Type - Resource type
2289	Type *string `json:"type,omitempty"`
2290	// Tags - Resource tags
2291	Tags map[string]*string `json:"tags"`
2292}
2293
2294// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2295// MarshalJSON is the custom marshaler for CertificateDetails.
2296func (cd CertificateDetails) MarshalJSON() ([]byte, error) {
2297	objectMap := make(map[string]interface{})
2298	if cd.CertificateDetailsProperties != nil {
2299		objectMap["properties"] = cd.CertificateDetailsProperties
2300	}
2301	if cd.ID != nil {
2302		objectMap["id"] = cd.ID
2303	}
2304	if cd.Name != nil {
2305		objectMap["name"] = cd.Name
2306	}
2307	if cd.Kind != nil {
2308		objectMap["kind"] = cd.Kind
2309	}
2310	if cd.Location != nil {
2311		objectMap["location"] = cd.Location
2312	}
2313	if cd.Type != nil {
2314		objectMap["type"] = cd.Type
2315	}
2316	if cd.Tags != nil {
2317		objectMap["tags"] = cd.Tags
2318	}
2319	return json.Marshal(objectMap)
2320}
2321
2322// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2323// UnmarshalJSON is the custom unmarshaler for CertificateDetails struct.
2324func (cd *CertificateDetails) UnmarshalJSON(body []byte) error {
2325	var m map[string]*json.RawMessage
2326	err := json.Unmarshal(body, &m)
2327	if err != nil {
2328		return err
2329	}
2330	for k, v := range m {
2331		switch k {
2332		case "properties":
2333			if v != nil {
2334				var certificateDetailsProperties CertificateDetailsProperties
2335				err = json.Unmarshal(*v, &certificateDetailsProperties)
2336				if err != nil {
2337					return err
2338				}
2339				cd.CertificateDetailsProperties = &certificateDetailsProperties
2340			}
2341		case "id":
2342			if v != nil {
2343				var ID string
2344				err = json.Unmarshal(*v, &ID)
2345				if err != nil {
2346					return err
2347				}
2348				cd.ID = &ID
2349			}
2350		case "name":
2351			if v != nil {
2352				var name string
2353				err = json.Unmarshal(*v, &name)
2354				if err != nil {
2355					return err
2356				}
2357				cd.Name = &name
2358			}
2359		case "kind":
2360			if v != nil {
2361				var kind string
2362				err = json.Unmarshal(*v, &kind)
2363				if err != nil {
2364					return err
2365				}
2366				cd.Kind = &kind
2367			}
2368		case "location":
2369			if v != nil {
2370				var location string
2371				err = json.Unmarshal(*v, &location)
2372				if err != nil {
2373					return err
2374				}
2375				cd.Location = &location
2376			}
2377		case "type":
2378			if v != nil {
2379				var typeVar string
2380				err = json.Unmarshal(*v, &typeVar)
2381				if err != nil {
2382					return err
2383				}
2384				cd.Type = &typeVar
2385			}
2386		case "tags":
2387			if v != nil {
2388				var tags map[string]*string
2389				err = json.Unmarshal(*v, &tags)
2390				if err != nil {
2391					return err
2392				}
2393				cd.Tags = tags
2394			}
2395		}
2396	}
2397
2398	return nil
2399}
2400
2401// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2402// CertificateDetailsProperties ...
2403type CertificateDetailsProperties struct {
2404	// Version - Version
2405	Version *int32 `json:"version,omitempty"`
2406	// SerialNumber - Serial Number
2407	SerialNumber *string `json:"serialNumber,omitempty"`
2408	// Thumbprint - Thumbprint
2409	Thumbprint *string `json:"thumbprint,omitempty"`
2410	// Subject - Subject
2411	Subject *string `json:"subject,omitempty"`
2412	// NotBefore - Valid from
2413	NotBefore *date.Time `json:"notBefore,omitempty"`
2414	// NotAfter - Valid to
2415	NotAfter *date.Time `json:"notAfter,omitempty"`
2416	// SignatureAlgorithm - Signature Algorithm
2417	SignatureAlgorithm *string `json:"signatureAlgorithm,omitempty"`
2418	// Issuer - Issuer
2419	Issuer *string `json:"issuer,omitempty"`
2420	// RawData - Raw certificate data
2421	RawData *string `json:"rawData,omitempty"`
2422}
2423
2424// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2425// CertificateEmail certificate Email
2426type CertificateEmail struct {
2427	*CertificateEmailProperties `json:"properties,omitempty"`
2428	// ID - Resource Id
2429	ID *string `json:"id,omitempty"`
2430	// Name - Resource Name
2431	Name *string `json:"name,omitempty"`
2432	// Kind - Kind of resource
2433	Kind *string `json:"kind,omitempty"`
2434	// Location - Resource Location
2435	Location *string `json:"location,omitempty"`
2436	// Type - Resource type
2437	Type *string `json:"type,omitempty"`
2438	// Tags - Resource tags
2439	Tags map[string]*string `json:"tags"`
2440}
2441
2442// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2443// MarshalJSON is the custom marshaler for CertificateEmail.
2444func (ce CertificateEmail) MarshalJSON() ([]byte, error) {
2445	objectMap := make(map[string]interface{})
2446	if ce.CertificateEmailProperties != nil {
2447		objectMap["properties"] = ce.CertificateEmailProperties
2448	}
2449	if ce.ID != nil {
2450		objectMap["id"] = ce.ID
2451	}
2452	if ce.Name != nil {
2453		objectMap["name"] = ce.Name
2454	}
2455	if ce.Kind != nil {
2456		objectMap["kind"] = ce.Kind
2457	}
2458	if ce.Location != nil {
2459		objectMap["location"] = ce.Location
2460	}
2461	if ce.Type != nil {
2462		objectMap["type"] = ce.Type
2463	}
2464	if ce.Tags != nil {
2465		objectMap["tags"] = ce.Tags
2466	}
2467	return json.Marshal(objectMap)
2468}
2469
2470// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2471// UnmarshalJSON is the custom unmarshaler for CertificateEmail struct.
2472func (ce *CertificateEmail) UnmarshalJSON(body []byte) error {
2473	var m map[string]*json.RawMessage
2474	err := json.Unmarshal(body, &m)
2475	if err != nil {
2476		return err
2477	}
2478	for k, v := range m {
2479		switch k {
2480		case "properties":
2481			if v != nil {
2482				var certificateEmailProperties CertificateEmailProperties
2483				err = json.Unmarshal(*v, &certificateEmailProperties)
2484				if err != nil {
2485					return err
2486				}
2487				ce.CertificateEmailProperties = &certificateEmailProperties
2488			}
2489		case "id":
2490			if v != nil {
2491				var ID string
2492				err = json.Unmarshal(*v, &ID)
2493				if err != nil {
2494					return err
2495				}
2496				ce.ID = &ID
2497			}
2498		case "name":
2499			if v != nil {
2500				var name string
2501				err = json.Unmarshal(*v, &name)
2502				if err != nil {
2503					return err
2504				}
2505				ce.Name = &name
2506			}
2507		case "kind":
2508			if v != nil {
2509				var kind string
2510				err = json.Unmarshal(*v, &kind)
2511				if err != nil {
2512					return err
2513				}
2514				ce.Kind = &kind
2515			}
2516		case "location":
2517			if v != nil {
2518				var location string
2519				err = json.Unmarshal(*v, &location)
2520				if err != nil {
2521					return err
2522				}
2523				ce.Location = &location
2524			}
2525		case "type":
2526			if v != nil {
2527				var typeVar string
2528				err = json.Unmarshal(*v, &typeVar)
2529				if err != nil {
2530					return err
2531				}
2532				ce.Type = &typeVar
2533			}
2534		case "tags":
2535			if v != nil {
2536				var tags map[string]*string
2537				err = json.Unmarshal(*v, &tags)
2538				if err != nil {
2539					return err
2540				}
2541				ce.Tags = tags
2542			}
2543		}
2544	}
2545
2546	return nil
2547}
2548
2549// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2550// CertificateEmailProperties ...
2551type CertificateEmailProperties struct {
2552	// EmailID - Email id
2553	EmailID *string `json:"emailId,omitempty"`
2554	// TimeStamp - Time stamp
2555	TimeStamp *date.Time `json:"timeStamp,omitempty"`
2556}
2557
2558// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2559// CertificateOrder certificate purchase order
2560type CertificateOrder struct {
2561	autorest.Response           `json:"-"`
2562	*CertificateOrderProperties `json:"properties,omitempty"`
2563	// ID - Resource Id
2564	ID *string `json:"id,omitempty"`
2565	// Name - Resource Name
2566	Name *string `json:"name,omitempty"`
2567	// Kind - Kind of resource
2568	Kind *string `json:"kind,omitempty"`
2569	// Location - Resource Location
2570	Location *string `json:"location,omitempty"`
2571	// Type - Resource type
2572	Type *string `json:"type,omitempty"`
2573	// Tags - Resource tags
2574	Tags map[string]*string `json:"tags"`
2575}
2576
2577// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2578// MarshalJSON is the custom marshaler for CertificateOrder.
2579func (co CertificateOrder) MarshalJSON() ([]byte, error) {
2580	objectMap := make(map[string]interface{})
2581	if co.CertificateOrderProperties != nil {
2582		objectMap["properties"] = co.CertificateOrderProperties
2583	}
2584	if co.ID != nil {
2585		objectMap["id"] = co.ID
2586	}
2587	if co.Name != nil {
2588		objectMap["name"] = co.Name
2589	}
2590	if co.Kind != nil {
2591		objectMap["kind"] = co.Kind
2592	}
2593	if co.Location != nil {
2594		objectMap["location"] = co.Location
2595	}
2596	if co.Type != nil {
2597		objectMap["type"] = co.Type
2598	}
2599	if co.Tags != nil {
2600		objectMap["tags"] = co.Tags
2601	}
2602	return json.Marshal(objectMap)
2603}
2604
2605// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2606// UnmarshalJSON is the custom unmarshaler for CertificateOrder struct.
2607func (co *CertificateOrder) UnmarshalJSON(body []byte) error {
2608	var m map[string]*json.RawMessage
2609	err := json.Unmarshal(body, &m)
2610	if err != nil {
2611		return err
2612	}
2613	for k, v := range m {
2614		switch k {
2615		case "properties":
2616			if v != nil {
2617				var certificateOrderProperties CertificateOrderProperties
2618				err = json.Unmarshal(*v, &certificateOrderProperties)
2619				if err != nil {
2620					return err
2621				}
2622				co.CertificateOrderProperties = &certificateOrderProperties
2623			}
2624		case "id":
2625			if v != nil {
2626				var ID string
2627				err = json.Unmarshal(*v, &ID)
2628				if err != nil {
2629					return err
2630				}
2631				co.ID = &ID
2632			}
2633		case "name":
2634			if v != nil {
2635				var name string
2636				err = json.Unmarshal(*v, &name)
2637				if err != nil {
2638					return err
2639				}
2640				co.Name = &name
2641			}
2642		case "kind":
2643			if v != nil {
2644				var kind string
2645				err = json.Unmarshal(*v, &kind)
2646				if err != nil {
2647					return err
2648				}
2649				co.Kind = &kind
2650			}
2651		case "location":
2652			if v != nil {
2653				var location string
2654				err = json.Unmarshal(*v, &location)
2655				if err != nil {
2656					return err
2657				}
2658				co.Location = &location
2659			}
2660		case "type":
2661			if v != nil {
2662				var typeVar string
2663				err = json.Unmarshal(*v, &typeVar)
2664				if err != nil {
2665					return err
2666				}
2667				co.Type = &typeVar
2668			}
2669		case "tags":
2670			if v != nil {
2671				var tags map[string]*string
2672				err = json.Unmarshal(*v, &tags)
2673				if err != nil {
2674					return err
2675				}
2676				co.Tags = tags
2677			}
2678		}
2679	}
2680
2681	return nil
2682}
2683
2684// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2685// CertificateOrderAction represents a certificate action
2686type CertificateOrderAction struct {
2687	*CertificateOrderActionProperties `json:"properties,omitempty"`
2688	// ID - Resource Id
2689	ID *string `json:"id,omitempty"`
2690	// Name - Resource Name
2691	Name *string `json:"name,omitempty"`
2692	// Kind - Kind of resource
2693	Kind *string `json:"kind,omitempty"`
2694	// Location - Resource Location
2695	Location *string `json:"location,omitempty"`
2696	// Type - Resource type
2697	Type *string `json:"type,omitempty"`
2698	// Tags - Resource tags
2699	Tags map[string]*string `json:"tags"`
2700}
2701
2702// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2703// MarshalJSON is the custom marshaler for CertificateOrderAction.
2704func (coa CertificateOrderAction) MarshalJSON() ([]byte, error) {
2705	objectMap := make(map[string]interface{})
2706	if coa.CertificateOrderActionProperties != nil {
2707		objectMap["properties"] = coa.CertificateOrderActionProperties
2708	}
2709	if coa.ID != nil {
2710		objectMap["id"] = coa.ID
2711	}
2712	if coa.Name != nil {
2713		objectMap["name"] = coa.Name
2714	}
2715	if coa.Kind != nil {
2716		objectMap["kind"] = coa.Kind
2717	}
2718	if coa.Location != nil {
2719		objectMap["location"] = coa.Location
2720	}
2721	if coa.Type != nil {
2722		objectMap["type"] = coa.Type
2723	}
2724	if coa.Tags != nil {
2725		objectMap["tags"] = coa.Tags
2726	}
2727	return json.Marshal(objectMap)
2728}
2729
2730// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2731// UnmarshalJSON is the custom unmarshaler for CertificateOrderAction struct.
2732func (coa *CertificateOrderAction) UnmarshalJSON(body []byte) error {
2733	var m map[string]*json.RawMessage
2734	err := json.Unmarshal(body, &m)
2735	if err != nil {
2736		return err
2737	}
2738	for k, v := range m {
2739		switch k {
2740		case "properties":
2741			if v != nil {
2742				var certificateOrderActionProperties CertificateOrderActionProperties
2743				err = json.Unmarshal(*v, &certificateOrderActionProperties)
2744				if err != nil {
2745					return err
2746				}
2747				coa.CertificateOrderActionProperties = &certificateOrderActionProperties
2748			}
2749		case "id":
2750			if v != nil {
2751				var ID string
2752				err = json.Unmarshal(*v, &ID)
2753				if err != nil {
2754					return err
2755				}
2756				coa.ID = &ID
2757			}
2758		case "name":
2759			if v != nil {
2760				var name string
2761				err = json.Unmarshal(*v, &name)
2762				if err != nil {
2763					return err
2764				}
2765				coa.Name = &name
2766			}
2767		case "kind":
2768			if v != nil {
2769				var kind string
2770				err = json.Unmarshal(*v, &kind)
2771				if err != nil {
2772					return err
2773				}
2774				coa.Kind = &kind
2775			}
2776		case "location":
2777			if v != nil {
2778				var location string
2779				err = json.Unmarshal(*v, &location)
2780				if err != nil {
2781					return err
2782				}
2783				coa.Location = &location
2784			}
2785		case "type":
2786			if v != nil {
2787				var typeVar string
2788				err = json.Unmarshal(*v, &typeVar)
2789				if err != nil {
2790					return err
2791				}
2792				coa.Type = &typeVar
2793			}
2794		case "tags":
2795			if v != nil {
2796				var tags map[string]*string
2797				err = json.Unmarshal(*v, &tags)
2798				if err != nil {
2799					return err
2800				}
2801				coa.Tags = tags
2802			}
2803		}
2804	}
2805
2806	return nil
2807}
2808
2809// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2810// CertificateOrderActionProperties ...
2811type CertificateOrderActionProperties struct {
2812	// Type - Type. Possible values include: 'CertificateIssued', 'CertificateOrderCanceled', 'CertificateOrderCreated', 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', 'OrgValidationComplete', 'SanDrop'
2813	Type CertificateOrderActionType `json:"type,omitempty"`
2814	// CreatedAt - Time at which the certificate action was performed
2815	CreatedAt *date.Time `json:"createdAt,omitempty"`
2816}
2817
2818// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2819// CertificateOrderCertificate class representing the Key Vault container for certificate purchased through Azure
2820type CertificateOrderCertificate struct {
2821	autorest.Response                      `json:"-"`
2822	*CertificateOrderCertificateProperties `json:"properties,omitempty"`
2823	// ID - Resource Id
2824	ID *string `json:"id,omitempty"`
2825	// Name - Resource Name
2826	Name *string `json:"name,omitempty"`
2827	// Kind - Kind of resource
2828	Kind *string `json:"kind,omitempty"`
2829	// Location - Resource Location
2830	Location *string `json:"location,omitempty"`
2831	// Type - Resource type
2832	Type *string `json:"type,omitempty"`
2833	// Tags - Resource tags
2834	Tags map[string]*string `json:"tags"`
2835}
2836
2837// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2838// MarshalJSON is the custom marshaler for CertificateOrderCertificate.
2839func (coc CertificateOrderCertificate) MarshalJSON() ([]byte, error) {
2840	objectMap := make(map[string]interface{})
2841	if coc.CertificateOrderCertificateProperties != nil {
2842		objectMap["properties"] = coc.CertificateOrderCertificateProperties
2843	}
2844	if coc.ID != nil {
2845		objectMap["id"] = coc.ID
2846	}
2847	if coc.Name != nil {
2848		objectMap["name"] = coc.Name
2849	}
2850	if coc.Kind != nil {
2851		objectMap["kind"] = coc.Kind
2852	}
2853	if coc.Location != nil {
2854		objectMap["location"] = coc.Location
2855	}
2856	if coc.Type != nil {
2857		objectMap["type"] = coc.Type
2858	}
2859	if coc.Tags != nil {
2860		objectMap["tags"] = coc.Tags
2861	}
2862	return json.Marshal(objectMap)
2863}
2864
2865// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2866// UnmarshalJSON is the custom unmarshaler for CertificateOrderCertificate struct.
2867func (coc *CertificateOrderCertificate) UnmarshalJSON(body []byte) error {
2868	var m map[string]*json.RawMessage
2869	err := json.Unmarshal(body, &m)
2870	if err != nil {
2871		return err
2872	}
2873	for k, v := range m {
2874		switch k {
2875		case "properties":
2876			if v != nil {
2877				var certificateOrderCertificateProperties CertificateOrderCertificateProperties
2878				err = json.Unmarshal(*v, &certificateOrderCertificateProperties)
2879				if err != nil {
2880					return err
2881				}
2882				coc.CertificateOrderCertificateProperties = &certificateOrderCertificateProperties
2883			}
2884		case "id":
2885			if v != nil {
2886				var ID string
2887				err = json.Unmarshal(*v, &ID)
2888				if err != nil {
2889					return err
2890				}
2891				coc.ID = &ID
2892			}
2893		case "name":
2894			if v != nil {
2895				var name string
2896				err = json.Unmarshal(*v, &name)
2897				if err != nil {
2898					return err
2899				}
2900				coc.Name = &name
2901			}
2902		case "kind":
2903			if v != nil {
2904				var kind string
2905				err = json.Unmarshal(*v, &kind)
2906				if err != nil {
2907					return err
2908				}
2909				coc.Kind = &kind
2910			}
2911		case "location":
2912			if v != nil {
2913				var location string
2914				err = json.Unmarshal(*v, &location)
2915				if err != nil {
2916					return err
2917				}
2918				coc.Location = &location
2919			}
2920		case "type":
2921			if v != nil {
2922				var typeVar string
2923				err = json.Unmarshal(*v, &typeVar)
2924				if err != nil {
2925					return err
2926				}
2927				coc.Type = &typeVar
2928			}
2929		case "tags":
2930			if v != nil {
2931				var tags map[string]*string
2932				err = json.Unmarshal(*v, &tags)
2933				if err != nil {
2934					return err
2935				}
2936				coc.Tags = tags
2937			}
2938		}
2939	}
2940
2941	return nil
2942}
2943
2944// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2945// CertificateOrderCertificateCollection collection of ceritificateorder certificates
2946type CertificateOrderCertificateCollection struct {
2947	autorest.Response `json:"-"`
2948	// Value - Collection of resources
2949	Value *[]CertificateOrderCertificate `json:"value,omitempty"`
2950	// NextLink - Link to next page of resources
2951	NextLink *string `json:"nextLink,omitempty"`
2952}
2953
2954// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2955// CertificateOrderCertificateCollectionIterator provides access to a complete listing of
2956// CertificateOrderCertificate values.
2957type CertificateOrderCertificateCollectionIterator struct {
2958	i    int
2959	page CertificateOrderCertificateCollectionPage
2960}
2961
2962// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2963// Next advances to the next value.  If there was an error making
2964// the request the iterator does not advance and the error is returned.
2965func (iter *CertificateOrderCertificateCollectionIterator) Next() error {
2966	iter.i++
2967	if iter.i < len(iter.page.Values()) {
2968		return nil
2969	}
2970	err := iter.page.Next()
2971	if err != nil {
2972		iter.i--
2973		return err
2974	}
2975	iter.i = 0
2976	return nil
2977}
2978
2979// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2980// NotDone returns true if the enumeration should be started or is not yet complete.
2981func (iter CertificateOrderCertificateCollectionIterator) NotDone() bool {
2982	return iter.page.NotDone() && iter.i < len(iter.page.Values())
2983}
2984
2985// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2986// Response returns the raw server response from the last page request.
2987func (iter CertificateOrderCertificateCollectionIterator) Response() CertificateOrderCertificateCollection {
2988	return iter.page.Response()
2989}
2990
2991// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
2992// Value returns the current value or a zero-initialized value if the
2993// iterator has advanced beyond the end of the collection.
2994func (iter CertificateOrderCertificateCollectionIterator) Value() CertificateOrderCertificate {
2995	if !iter.page.NotDone() {
2996		return CertificateOrderCertificate{}
2997	}
2998	return iter.page.Values()[iter.i]
2999}
3000
3001// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3002// IsEmpty returns true if the ListResult contains no values.
3003func (cocc CertificateOrderCertificateCollection) IsEmpty() bool {
3004	return cocc.Value == nil || len(*cocc.Value) == 0
3005}
3006
3007// certificateOrderCertificateCollectionPreparer prepares a request to retrieve the next set of results.
3008// It returns nil if no more results exist.
3009func (cocc CertificateOrderCertificateCollection) certificateOrderCertificateCollectionPreparer() (*http.Request, error) {
3010	if cocc.NextLink == nil || len(to.String(cocc.NextLink)) < 1 {
3011		return nil, nil
3012	}
3013	return autorest.Prepare(&http.Request{},
3014		autorest.AsJSON(),
3015		autorest.AsGet(),
3016		autorest.WithBaseURL(to.String(cocc.NextLink)))
3017}
3018
3019// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3020// CertificateOrderCertificateCollectionPage contains a page of CertificateOrderCertificate values.
3021type CertificateOrderCertificateCollectionPage struct {
3022	fn   func(CertificateOrderCertificateCollection) (CertificateOrderCertificateCollection, error)
3023	cocc CertificateOrderCertificateCollection
3024}
3025
3026// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3027// Next advances to the next page of values.  If there was an error making
3028// the request the page does not advance and the error is returned.
3029func (page *CertificateOrderCertificateCollectionPage) Next() error {
3030	next, err := page.fn(page.cocc)
3031	if err != nil {
3032		return err
3033	}
3034	page.cocc = next
3035	return nil
3036}
3037
3038// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3039// NotDone returns true if the page enumeration should be started or is not yet complete.
3040func (page CertificateOrderCertificateCollectionPage) NotDone() bool {
3041	return !page.cocc.IsEmpty()
3042}
3043
3044// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3045// Response returns the raw server response from the last page request.
3046func (page CertificateOrderCertificateCollectionPage) Response() CertificateOrderCertificateCollection {
3047	return page.cocc
3048}
3049
3050// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3051// Values returns the slice of values for the current page or nil if there are no values.
3052func (page CertificateOrderCertificateCollectionPage) Values() []CertificateOrderCertificate {
3053	if page.cocc.IsEmpty() {
3054		return nil
3055	}
3056	return *page.cocc.Value
3057}
3058
3059// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3060// CertificateOrderCertificateProperties ...
3061type CertificateOrderCertificateProperties struct {
3062	// KeyVaultID - Key Vault Csm resource Id
3063	KeyVaultID *string `json:"keyVaultId,omitempty"`
3064	// KeyVaultSecretName - Key Vault secret name
3065	KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"`
3066	// ProvisioningState - Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusUnknown'
3067	ProvisioningState KeyVaultSecretStatus `json:"provisioningState,omitempty"`
3068}
3069
3070// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3071// CertificateOrderCollection collection of ceritificate orders
3072type CertificateOrderCollection struct {
3073	autorest.Response `json:"-"`
3074	// Value - Collection of resources
3075	Value *[]CertificateOrder `json:"value,omitempty"`
3076	// NextLink - Link to next page of resources
3077	NextLink *string `json:"nextLink,omitempty"`
3078}
3079
3080// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3081// CertificateOrderCollectionIterator provides access to a complete listing of CertificateOrder values.
3082type CertificateOrderCollectionIterator struct {
3083	i    int
3084	page CertificateOrderCollectionPage
3085}
3086
3087// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3088// Next advances to the next value.  If there was an error making
3089// the request the iterator does not advance and the error is returned.
3090func (iter *CertificateOrderCollectionIterator) Next() error {
3091	iter.i++
3092	if iter.i < len(iter.page.Values()) {
3093		return nil
3094	}
3095	err := iter.page.Next()
3096	if err != nil {
3097		iter.i--
3098		return err
3099	}
3100	iter.i = 0
3101	return nil
3102}
3103
3104// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3105// NotDone returns true if the enumeration should be started or is not yet complete.
3106func (iter CertificateOrderCollectionIterator) NotDone() bool {
3107	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3108}
3109
3110// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3111// Response returns the raw server response from the last page request.
3112func (iter CertificateOrderCollectionIterator) Response() CertificateOrderCollection {
3113	return iter.page.Response()
3114}
3115
3116// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3117// Value returns the current value or a zero-initialized value if the
3118// iterator has advanced beyond the end of the collection.
3119func (iter CertificateOrderCollectionIterator) Value() CertificateOrder {
3120	if !iter.page.NotDone() {
3121		return CertificateOrder{}
3122	}
3123	return iter.page.Values()[iter.i]
3124}
3125
3126// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3127// IsEmpty returns true if the ListResult contains no values.
3128func (coc CertificateOrderCollection) IsEmpty() bool {
3129	return coc.Value == nil || len(*coc.Value) == 0
3130}
3131
3132// certificateOrderCollectionPreparer prepares a request to retrieve the next set of results.
3133// It returns nil if no more results exist.
3134func (coc CertificateOrderCollection) certificateOrderCollectionPreparer() (*http.Request, error) {
3135	if coc.NextLink == nil || len(to.String(coc.NextLink)) < 1 {
3136		return nil, nil
3137	}
3138	return autorest.Prepare(&http.Request{},
3139		autorest.AsJSON(),
3140		autorest.AsGet(),
3141		autorest.WithBaseURL(to.String(coc.NextLink)))
3142}
3143
3144// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3145// CertificateOrderCollectionPage contains a page of CertificateOrder values.
3146type CertificateOrderCollectionPage struct {
3147	fn  func(CertificateOrderCollection) (CertificateOrderCollection, error)
3148	coc CertificateOrderCollection
3149}
3150
3151// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3152// Next advances to the next page of values.  If there was an error making
3153// the request the page does not advance and the error is returned.
3154func (page *CertificateOrderCollectionPage) Next() error {
3155	next, err := page.fn(page.coc)
3156	if err != nil {
3157		return err
3158	}
3159	page.coc = next
3160	return nil
3161}
3162
3163// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3164// NotDone returns true if the page enumeration should be started or is not yet complete.
3165func (page CertificateOrderCollectionPage) NotDone() bool {
3166	return !page.coc.IsEmpty()
3167}
3168
3169// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3170// Response returns the raw server response from the last page request.
3171func (page CertificateOrderCollectionPage) Response() CertificateOrderCollection {
3172	return page.coc
3173}
3174
3175// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3176// Values returns the slice of values for the current page or nil if there are no values.
3177func (page CertificateOrderCollectionPage) Values() []CertificateOrder {
3178	if page.coc.IsEmpty() {
3179		return nil
3180	}
3181	return *page.coc.Value
3182}
3183
3184// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3185// CertificateOrderProperties ...
3186type CertificateOrderProperties struct {
3187	// Certificates - State of the Key Vault secret
3188	Certificates map[string]*CertificateOrderCertificate `json:"certificates"`
3189	// DistinguishedName - Certificate distinguished name
3190	DistinguishedName *string `json:"distinguishedName,omitempty"`
3191	// DomainVerificationToken - Domain Verification Token
3192	DomainVerificationToken *string `json:"domainVerificationToken,omitempty"`
3193	// ValidityInYears - Duration in years (must be between 1 and 3)
3194	ValidityInYears *int32 `json:"validityInYears,omitempty"`
3195	// KeySize - Certificate Key Size
3196	KeySize *int32 `json:"keySize,omitempty"`
3197	// ProductType - Certificate product type. Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl'
3198	ProductType CertificateProductType `json:"productType,omitempty"`
3199	// AutoRenew - Auto renew
3200	AutoRenew *bool `json:"autoRenew,omitempty"`
3201	// ProvisioningState - Status of certificate order. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting'
3202	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
3203	// Status - Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted'
3204	Status CertificateOrderStatus `json:"status,omitempty"`
3205	// SignedCertificate - Signed certificate
3206	SignedCertificate *CertificateDetails `json:"signedCertificate,omitempty"`
3207	// Csr - Last CSR that was created for this order
3208	Csr *string `json:"csr,omitempty"`
3209	// Intermediate - Intermediate certificate
3210	Intermediate *CertificateDetails `json:"intermediate,omitempty"`
3211	// Root - Root certificate
3212	Root *CertificateDetails `json:"root,omitempty"`
3213	// SerialNumber - Current serial number of the certificate
3214	SerialNumber *string `json:"serialNumber,omitempty"`
3215	// LastCertificateIssuanceTime - Certificate last issuance time
3216	LastCertificateIssuanceTime *date.Time `json:"lastCertificateIssuanceTime,omitempty"`
3217	// ExpirationTime - Certificate expiration time
3218	ExpirationTime *date.Time `json:"expirationTime,omitempty"`
3219}
3220
3221// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3222// MarshalJSON is the custom marshaler for CertificateOrderProperties.
3223func (co CertificateOrderProperties) MarshalJSON() ([]byte, error) {
3224	objectMap := make(map[string]interface{})
3225	if co.Certificates != nil {
3226		objectMap["certificates"] = co.Certificates
3227	}
3228	if co.DistinguishedName != nil {
3229		objectMap["distinguishedName"] = co.DistinguishedName
3230	}
3231	if co.DomainVerificationToken != nil {
3232		objectMap["domainVerificationToken"] = co.DomainVerificationToken
3233	}
3234	if co.ValidityInYears != nil {
3235		objectMap["validityInYears"] = co.ValidityInYears
3236	}
3237	if co.KeySize != nil {
3238		objectMap["keySize"] = co.KeySize
3239	}
3240	if co.ProductType != "" {
3241		objectMap["productType"] = co.ProductType
3242	}
3243	if co.AutoRenew != nil {
3244		objectMap["autoRenew"] = co.AutoRenew
3245	}
3246	if co.ProvisioningState != "" {
3247		objectMap["provisioningState"] = co.ProvisioningState
3248	}
3249	if co.Status != "" {
3250		objectMap["status"] = co.Status
3251	}
3252	if co.SignedCertificate != nil {
3253		objectMap["signedCertificate"] = co.SignedCertificate
3254	}
3255	if co.Csr != nil {
3256		objectMap["csr"] = co.Csr
3257	}
3258	if co.Intermediate != nil {
3259		objectMap["intermediate"] = co.Intermediate
3260	}
3261	if co.Root != nil {
3262		objectMap["root"] = co.Root
3263	}
3264	if co.SerialNumber != nil {
3265		objectMap["serialNumber"] = co.SerialNumber
3266	}
3267	if co.LastCertificateIssuanceTime != nil {
3268		objectMap["lastCertificateIssuanceTime"] = co.LastCertificateIssuanceTime
3269	}
3270	if co.ExpirationTime != nil {
3271		objectMap["expirationTime"] = co.ExpirationTime
3272	}
3273	return json.Marshal(objectMap)
3274}
3275
3276// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3277// CertificateProperties ...
3278type CertificateProperties struct {
3279	// FriendlyName - Friendly name of the certificate
3280	FriendlyName *string `json:"friendlyName,omitempty"`
3281	// SubjectName - Subject name of the certificate
3282	SubjectName *string `json:"subjectName,omitempty"`
3283	// HostNames - Host names the certificate applies to
3284	HostNames *[]string `json:"hostNames,omitempty"`
3285	// PfxBlob - Pfx blob
3286	PfxBlob *string `json:"pfxBlob,omitempty"`
3287	// SiteName - App name
3288	SiteName *string `json:"siteName,omitempty"`
3289	// SelfLink - Self link
3290	SelfLink *string `json:"selfLink,omitempty"`
3291	// Issuer - Certificate issuer
3292	Issuer *string `json:"issuer,omitempty"`
3293	// IssueDate - Certificate issue Date
3294	IssueDate *date.Time `json:"issueDate,omitempty"`
3295	// ExpirationDate - Certificate expriration date
3296	ExpirationDate *date.Time `json:"expirationDate,omitempty"`
3297	// Password - Certificate password
3298	Password *string `json:"password,omitempty"`
3299	// Thumbprint - Certificate thumbprint
3300	Thumbprint *string `json:"thumbprint,omitempty"`
3301	// Valid - Is the certificate valid?
3302	Valid *bool `json:"valid,omitempty"`
3303	// CerBlob - Raw bytes of .cer file
3304	CerBlob *string `json:"cerBlob,omitempty"`
3305	// PublicKeyHash - Public key hash
3306	PublicKeyHash *string `json:"publicKeyHash,omitempty"`
3307	// HostingEnvironmentProfile - Specification for the hosting environment (App Service Environment) to use for the certificate
3308	HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"`
3309}
3310
3311// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3312// ClassicMobileService a mobile service
3313type ClassicMobileService struct {
3314	autorest.Response               `json:"-"`
3315	*ClassicMobileServiceProperties `json:"properties,omitempty"`
3316	// ID - Resource Id
3317	ID *string `json:"id,omitempty"`
3318	// Name - Resource Name
3319	Name *string `json:"name,omitempty"`
3320	// Kind - Kind of resource
3321	Kind *string `json:"kind,omitempty"`
3322	// Location - Resource Location
3323	Location *string `json:"location,omitempty"`
3324	// Type - Resource type
3325	Type *string `json:"type,omitempty"`
3326	// Tags - Resource tags
3327	Tags map[string]*string `json:"tags"`
3328}
3329
3330// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3331// MarshalJSON is the custom marshaler for ClassicMobileService.
3332func (cms ClassicMobileService) MarshalJSON() ([]byte, error) {
3333	objectMap := make(map[string]interface{})
3334	if cms.ClassicMobileServiceProperties != nil {
3335		objectMap["properties"] = cms.ClassicMobileServiceProperties
3336	}
3337	if cms.ID != nil {
3338		objectMap["id"] = cms.ID
3339	}
3340	if cms.Name != nil {
3341		objectMap["name"] = cms.Name
3342	}
3343	if cms.Kind != nil {
3344		objectMap["kind"] = cms.Kind
3345	}
3346	if cms.Location != nil {
3347		objectMap["location"] = cms.Location
3348	}
3349	if cms.Type != nil {
3350		objectMap["type"] = cms.Type
3351	}
3352	if cms.Tags != nil {
3353		objectMap["tags"] = cms.Tags
3354	}
3355	return json.Marshal(objectMap)
3356}
3357
3358// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3359// UnmarshalJSON is the custom unmarshaler for ClassicMobileService struct.
3360func (cms *ClassicMobileService) UnmarshalJSON(body []byte) error {
3361	var m map[string]*json.RawMessage
3362	err := json.Unmarshal(body, &m)
3363	if err != nil {
3364		return err
3365	}
3366	for k, v := range m {
3367		switch k {
3368		case "properties":
3369			if v != nil {
3370				var classicMobileServiceProperties ClassicMobileServiceProperties
3371				err = json.Unmarshal(*v, &classicMobileServiceProperties)
3372				if err != nil {
3373					return err
3374				}
3375				cms.ClassicMobileServiceProperties = &classicMobileServiceProperties
3376			}
3377		case "id":
3378			if v != nil {
3379				var ID string
3380				err = json.Unmarshal(*v, &ID)
3381				if err != nil {
3382					return err
3383				}
3384				cms.ID = &ID
3385			}
3386		case "name":
3387			if v != nil {
3388				var name string
3389				err = json.Unmarshal(*v, &name)
3390				if err != nil {
3391					return err
3392				}
3393				cms.Name = &name
3394			}
3395		case "kind":
3396			if v != nil {
3397				var kind string
3398				err = json.Unmarshal(*v, &kind)
3399				if err != nil {
3400					return err
3401				}
3402				cms.Kind = &kind
3403			}
3404		case "location":
3405			if v != nil {
3406				var location string
3407				err = json.Unmarshal(*v, &location)
3408				if err != nil {
3409					return err
3410				}
3411				cms.Location = &location
3412			}
3413		case "type":
3414			if v != nil {
3415				var typeVar string
3416				err = json.Unmarshal(*v, &typeVar)
3417				if err != nil {
3418					return err
3419				}
3420				cms.Type = &typeVar
3421			}
3422		case "tags":
3423			if v != nil {
3424				var tags map[string]*string
3425				err = json.Unmarshal(*v, &tags)
3426				if err != nil {
3427					return err
3428				}
3429				cms.Tags = tags
3430			}
3431		}
3432	}
3433
3434	return nil
3435}
3436
3437// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3438// ClassicMobileServiceCollection collection of Classic Mobile Services
3439type ClassicMobileServiceCollection struct {
3440	autorest.Response `json:"-"`
3441	// Value - Collection of resources
3442	Value *[]ClassicMobileService `json:"value,omitempty"`
3443	// NextLink - Link to next page of resources
3444	NextLink *string `json:"nextLink,omitempty"`
3445}
3446
3447// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3448// ClassicMobileServiceCollectionIterator provides access to a complete listing of ClassicMobileService values.
3449type ClassicMobileServiceCollectionIterator struct {
3450	i    int
3451	page ClassicMobileServiceCollectionPage
3452}
3453
3454// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3455// Next advances to the next value.  If there was an error making
3456// the request the iterator does not advance and the error is returned.
3457func (iter *ClassicMobileServiceCollectionIterator) Next() error {
3458	iter.i++
3459	if iter.i < len(iter.page.Values()) {
3460		return nil
3461	}
3462	err := iter.page.Next()
3463	if err != nil {
3464		iter.i--
3465		return err
3466	}
3467	iter.i = 0
3468	return nil
3469}
3470
3471// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3472// NotDone returns true if the enumeration should be started or is not yet complete.
3473func (iter ClassicMobileServiceCollectionIterator) NotDone() bool {
3474	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3475}
3476
3477// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3478// Response returns the raw server response from the last page request.
3479func (iter ClassicMobileServiceCollectionIterator) Response() ClassicMobileServiceCollection {
3480	return iter.page.Response()
3481}
3482
3483// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3484// Value returns the current value or a zero-initialized value if the
3485// iterator has advanced beyond the end of the collection.
3486func (iter ClassicMobileServiceCollectionIterator) Value() ClassicMobileService {
3487	if !iter.page.NotDone() {
3488		return ClassicMobileService{}
3489	}
3490	return iter.page.Values()[iter.i]
3491}
3492
3493// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3494// IsEmpty returns true if the ListResult contains no values.
3495func (cmsc ClassicMobileServiceCollection) IsEmpty() bool {
3496	return cmsc.Value == nil || len(*cmsc.Value) == 0
3497}
3498
3499// classicMobileServiceCollectionPreparer prepares a request to retrieve the next set of results.
3500// It returns nil if no more results exist.
3501func (cmsc ClassicMobileServiceCollection) classicMobileServiceCollectionPreparer() (*http.Request, error) {
3502	if cmsc.NextLink == nil || len(to.String(cmsc.NextLink)) < 1 {
3503		return nil, nil
3504	}
3505	return autorest.Prepare(&http.Request{},
3506		autorest.AsJSON(),
3507		autorest.AsGet(),
3508		autorest.WithBaseURL(to.String(cmsc.NextLink)))
3509}
3510
3511// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3512// ClassicMobileServiceCollectionPage contains a page of ClassicMobileService values.
3513type ClassicMobileServiceCollectionPage struct {
3514	fn   func(ClassicMobileServiceCollection) (ClassicMobileServiceCollection, error)
3515	cmsc ClassicMobileServiceCollection
3516}
3517
3518// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3519// Next advances to the next page of values.  If there was an error making
3520// the request the page does not advance and the error is returned.
3521func (page *ClassicMobileServiceCollectionPage) Next() error {
3522	next, err := page.fn(page.cmsc)
3523	if err != nil {
3524		return err
3525	}
3526	page.cmsc = next
3527	return nil
3528}
3529
3530// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3531// NotDone returns true if the page enumeration should be started or is not yet complete.
3532func (page ClassicMobileServiceCollectionPage) NotDone() bool {
3533	return !page.cmsc.IsEmpty()
3534}
3535
3536// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3537// Response returns the raw server response from the last page request.
3538func (page ClassicMobileServiceCollectionPage) Response() ClassicMobileServiceCollection {
3539	return page.cmsc
3540}
3541
3542// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3543// Values returns the slice of values for the current page or nil if there are no values.
3544func (page ClassicMobileServiceCollectionPage) Values() []ClassicMobileService {
3545	if page.cmsc.IsEmpty() {
3546		return nil
3547	}
3548	return *page.cmsc.Value
3549}
3550
3551// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3552// ClassicMobileServiceProperties ...
3553type ClassicMobileServiceProperties struct {
3554	// Name - Name of the mobile service
3555	Name *string `json:"name,omitempty"`
3556}
3557
3558// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3559// CloningInfo represents information needed for cloning operation
3560type CloningInfo struct {
3561	// CorrelationID - Correlation Id of cloning operation. This id ties multiple cloning operations
3562	//             together to use the same snapshot
3563	CorrelationID *string `json:"correlationId,omitempty"`
3564	// Overwrite - Overwrite destination web app
3565	Overwrite *bool `json:"overwrite,omitempty"`
3566	// CloneCustomHostNames - If true, clone custom hostnames from source web app
3567	CloneCustomHostNames *bool `json:"cloneCustomHostNames,omitempty"`
3568	// CloneSourceControl - Clone source control from source web app
3569	CloneSourceControl *bool `json:"cloneSourceControl,omitempty"`
3570	// SourceWebAppID - ARM resource id of the source web app. Web app resource id is of the form
3571	//             /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and
3572	//             /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots
3573	SourceWebAppID *string `json:"sourceWebAppId,omitempty"`
3574	// HostingEnvironment - Hosting environment
3575	HostingEnvironment *string `json:"hostingEnvironment,omitempty"`
3576	// AppSettingsOverrides - Application settings overrides for cloned web app. If specified these settings will override the settings cloned
3577	//             from source web app. If not specified, application settings from source web app are retained.
3578	AppSettingsOverrides map[string]*string `json:"appSettingsOverrides"`
3579	// ConfigureLoadBalancing - If specified configure load balancing for source and clone site
3580	ConfigureLoadBalancing *bool `json:"configureLoadBalancing,omitempty"`
3581	// TrafficManagerProfileID - ARM resource id of the traffic manager profile to use if it exists. Traffic manager resource id is of the form
3582	//             /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}
3583	TrafficManagerProfileID *string `json:"trafficManagerProfileId,omitempty"`
3584	// TrafficManagerProfileName - Name of traffic manager profile to create. This is only needed if traffic manager profile does not already exist
3585	TrafficManagerProfileName *string `json:"trafficManagerProfileName,omitempty"`
3586}
3587
3588// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3589// MarshalJSON is the custom marshaler for CloningInfo.
3590func (ci CloningInfo) MarshalJSON() ([]byte, error) {
3591	objectMap := make(map[string]interface{})
3592	if ci.CorrelationID != nil {
3593		objectMap["correlationId"] = ci.CorrelationID
3594	}
3595	if ci.Overwrite != nil {
3596		objectMap["overwrite"] = ci.Overwrite
3597	}
3598	if ci.CloneCustomHostNames != nil {
3599		objectMap["cloneCustomHostNames"] = ci.CloneCustomHostNames
3600	}
3601	if ci.CloneSourceControl != nil {
3602		objectMap["cloneSourceControl"] = ci.CloneSourceControl
3603	}
3604	if ci.SourceWebAppID != nil {
3605		objectMap["sourceWebAppId"] = ci.SourceWebAppID
3606	}
3607	if ci.HostingEnvironment != nil {
3608		objectMap["hostingEnvironment"] = ci.HostingEnvironment
3609	}
3610	if ci.AppSettingsOverrides != nil {
3611		objectMap["appSettingsOverrides"] = ci.AppSettingsOverrides
3612	}
3613	if ci.ConfigureLoadBalancing != nil {
3614		objectMap["configureLoadBalancing"] = ci.ConfigureLoadBalancing
3615	}
3616	if ci.TrafficManagerProfileID != nil {
3617		objectMap["trafficManagerProfileId"] = ci.TrafficManagerProfileID
3618	}
3619	if ci.TrafficManagerProfileName != nil {
3620		objectMap["trafficManagerProfileName"] = ci.TrafficManagerProfileName
3621	}
3622	return json.Marshal(objectMap)
3623}
3624
3625// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3626// ConfirmConsentCodeInput confirm Consent Code Input payload
3627type ConfirmConsentCodeInput struct {
3628	*ConfirmConsentCodeInputProperties `json:"properties,omitempty"`
3629	// ID - Resource Id
3630	ID *string `json:"id,omitempty"`
3631	// Name - Resource Name
3632	Name *string `json:"name,omitempty"`
3633	// Kind - Kind of resource
3634	Kind *string `json:"kind,omitempty"`
3635	// Location - Resource Location
3636	Location *string `json:"location,omitempty"`
3637	// Type - Resource type
3638	Type *string `json:"type,omitempty"`
3639	// Tags - Resource tags
3640	Tags map[string]*string `json:"tags"`
3641}
3642
3643// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3644// MarshalJSON is the custom marshaler for ConfirmConsentCodeInput.
3645func (ccci ConfirmConsentCodeInput) MarshalJSON() ([]byte, error) {
3646	objectMap := make(map[string]interface{})
3647	if ccci.ConfirmConsentCodeInputProperties != nil {
3648		objectMap["properties"] = ccci.ConfirmConsentCodeInputProperties
3649	}
3650	if ccci.ID != nil {
3651		objectMap["id"] = ccci.ID
3652	}
3653	if ccci.Name != nil {
3654		objectMap["name"] = ccci.Name
3655	}
3656	if ccci.Kind != nil {
3657		objectMap["kind"] = ccci.Kind
3658	}
3659	if ccci.Location != nil {
3660		objectMap["location"] = ccci.Location
3661	}
3662	if ccci.Type != nil {
3663		objectMap["type"] = ccci.Type
3664	}
3665	if ccci.Tags != nil {
3666		objectMap["tags"] = ccci.Tags
3667	}
3668	return json.Marshal(objectMap)
3669}
3670
3671// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3672// UnmarshalJSON is the custom unmarshaler for ConfirmConsentCodeInput struct.
3673func (ccci *ConfirmConsentCodeInput) UnmarshalJSON(body []byte) error {
3674	var m map[string]*json.RawMessage
3675	err := json.Unmarshal(body, &m)
3676	if err != nil {
3677		return err
3678	}
3679	for k, v := range m {
3680		switch k {
3681		case "properties":
3682			if v != nil {
3683				var confirmConsentCodeInputProperties ConfirmConsentCodeInputProperties
3684				err = json.Unmarshal(*v, &confirmConsentCodeInputProperties)
3685				if err != nil {
3686					return err
3687				}
3688				ccci.ConfirmConsentCodeInputProperties = &confirmConsentCodeInputProperties
3689			}
3690		case "id":
3691			if v != nil {
3692				var ID string
3693				err = json.Unmarshal(*v, &ID)
3694				if err != nil {
3695					return err
3696				}
3697				ccci.ID = &ID
3698			}
3699		case "name":
3700			if v != nil {
3701				var name string
3702				err = json.Unmarshal(*v, &name)
3703				if err != nil {
3704					return err
3705				}
3706				ccci.Name = &name
3707			}
3708		case "kind":
3709			if v != nil {
3710				var kind string
3711				err = json.Unmarshal(*v, &kind)
3712				if err != nil {
3713					return err
3714				}
3715				ccci.Kind = &kind
3716			}
3717		case "location":
3718			if v != nil {
3719				var location string
3720				err = json.Unmarshal(*v, &location)
3721				if err != nil {
3722					return err
3723				}
3724				ccci.Location = &location
3725			}
3726		case "type":
3727			if v != nil {
3728				var typeVar string
3729				err = json.Unmarshal(*v, &typeVar)
3730				if err != nil {
3731					return err
3732				}
3733				ccci.Type = &typeVar
3734			}
3735		case "tags":
3736			if v != nil {
3737				var tags map[string]*string
3738				err = json.Unmarshal(*v, &tags)
3739				if err != nil {
3740					return err
3741				}
3742				ccci.Tags = tags
3743			}
3744		}
3745	}
3746
3747	return nil
3748}
3749
3750// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3751// ConfirmConsentCodeInputProperties ...
3752type ConfirmConsentCodeInputProperties struct {
3753	// PrincipalType - Principal type. Possible values include: 'PrincipalTypeActiveDirectory', 'PrincipalTypeConnection', 'PrincipalTypeMicrosoftAccount'
3754	PrincipalType PrincipalType `json:"principalType,omitempty"`
3755	// TenantID - Tenant Id
3756	TenantID *string `json:"tenantId,omitempty"`
3757	// ObjectID - AAD object ID. This is userId
3758	ObjectID *string `json:"objectId,omitempty"`
3759	// Code - Code that was returned during consent flow
3760	Code *string `json:"code,omitempty"`
3761}
3762
3763// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3764// Connection api Connection
3765type Connection struct {
3766	autorest.Response     `json:"-"`
3767	*ConnectionProperties `json:"properties,omitempty"`
3768	// ID - Resource Id
3769	ID *string `json:"id,omitempty"`
3770	// Name - Resource Name
3771	Name *string `json:"name,omitempty"`
3772	// Kind - Kind of resource
3773	Kind *string `json:"kind,omitempty"`
3774	// Location - Resource Location
3775	Location *string `json:"location,omitempty"`
3776	// Type - Resource type
3777	Type *string `json:"type,omitempty"`
3778	// Tags - Resource tags
3779	Tags map[string]*string `json:"tags"`
3780}
3781
3782// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3783// MarshalJSON is the custom marshaler for Connection.
3784func (c Connection) MarshalJSON() ([]byte, error) {
3785	objectMap := make(map[string]interface{})
3786	if c.ConnectionProperties != nil {
3787		objectMap["properties"] = c.ConnectionProperties
3788	}
3789	if c.ID != nil {
3790		objectMap["id"] = c.ID
3791	}
3792	if c.Name != nil {
3793		objectMap["name"] = c.Name
3794	}
3795	if c.Kind != nil {
3796		objectMap["kind"] = c.Kind
3797	}
3798	if c.Location != nil {
3799		objectMap["location"] = c.Location
3800	}
3801	if c.Type != nil {
3802		objectMap["type"] = c.Type
3803	}
3804	if c.Tags != nil {
3805		objectMap["tags"] = c.Tags
3806	}
3807	return json.Marshal(objectMap)
3808}
3809
3810// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3811// UnmarshalJSON is the custom unmarshaler for Connection struct.
3812func (c *Connection) UnmarshalJSON(body []byte) error {
3813	var m map[string]*json.RawMessage
3814	err := json.Unmarshal(body, &m)
3815	if err != nil {
3816		return err
3817	}
3818	for k, v := range m {
3819		switch k {
3820		case "properties":
3821			if v != nil {
3822				var connectionProperties ConnectionProperties
3823				err = json.Unmarshal(*v, &connectionProperties)
3824				if err != nil {
3825					return err
3826				}
3827				c.ConnectionProperties = &connectionProperties
3828			}
3829		case "id":
3830			if v != nil {
3831				var ID string
3832				err = json.Unmarshal(*v, &ID)
3833				if err != nil {
3834					return err
3835				}
3836				c.ID = &ID
3837			}
3838		case "name":
3839			if v != nil {
3840				var name string
3841				err = json.Unmarshal(*v, &name)
3842				if err != nil {
3843					return err
3844				}
3845				c.Name = &name
3846			}
3847		case "kind":
3848			if v != nil {
3849				var kind string
3850				err = json.Unmarshal(*v, &kind)
3851				if err != nil {
3852					return err
3853				}
3854				c.Kind = &kind
3855			}
3856		case "location":
3857			if v != nil {
3858				var location string
3859				err = json.Unmarshal(*v, &location)
3860				if err != nil {
3861					return err
3862				}
3863				c.Location = &location
3864			}
3865		case "type":
3866			if v != nil {
3867				var typeVar string
3868				err = json.Unmarshal(*v, &typeVar)
3869				if err != nil {
3870					return err
3871				}
3872				c.Type = &typeVar
3873			}
3874		case "tags":
3875			if v != nil {
3876				var tags map[string]*string
3877				err = json.Unmarshal(*v, &tags)
3878				if err != nil {
3879					return err
3880				}
3881				c.Tags = tags
3882			}
3883		}
3884	}
3885
3886	return nil
3887}
3888
3889// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3890// ConnectionCollection collection of conenctions
3891type ConnectionCollection struct {
3892	autorest.Response `json:"-"`
3893	// Value - Collection of resources
3894	Value *[]Connection `json:"value,omitempty"`
3895	// NextLink - Link to next page of resources
3896	NextLink *string `json:"nextLink,omitempty"`
3897}
3898
3899// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3900// ConnectionCollectionIterator provides access to a complete listing of Connection values.
3901type ConnectionCollectionIterator struct {
3902	i    int
3903	page ConnectionCollectionPage
3904}
3905
3906// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3907// Next advances to the next value.  If there was an error making
3908// the request the iterator does not advance and the error is returned.
3909func (iter *ConnectionCollectionIterator) Next() error {
3910	iter.i++
3911	if iter.i < len(iter.page.Values()) {
3912		return nil
3913	}
3914	err := iter.page.Next()
3915	if err != nil {
3916		iter.i--
3917		return err
3918	}
3919	iter.i = 0
3920	return nil
3921}
3922
3923// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3924// NotDone returns true if the enumeration should be started or is not yet complete.
3925func (iter ConnectionCollectionIterator) NotDone() bool {
3926	return iter.page.NotDone() && iter.i < len(iter.page.Values())
3927}
3928
3929// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3930// Response returns the raw server response from the last page request.
3931func (iter ConnectionCollectionIterator) Response() ConnectionCollection {
3932	return iter.page.Response()
3933}
3934
3935// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3936// Value returns the current value or a zero-initialized value if the
3937// iterator has advanced beyond the end of the collection.
3938func (iter ConnectionCollectionIterator) Value() Connection {
3939	if !iter.page.NotDone() {
3940		return Connection{}
3941	}
3942	return iter.page.Values()[iter.i]
3943}
3944
3945// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3946// IsEmpty returns true if the ListResult contains no values.
3947func (cc ConnectionCollection) IsEmpty() bool {
3948	return cc.Value == nil || len(*cc.Value) == 0
3949}
3950
3951// connectionCollectionPreparer prepares a request to retrieve the next set of results.
3952// It returns nil if no more results exist.
3953func (cc ConnectionCollection) connectionCollectionPreparer() (*http.Request, error) {
3954	if cc.NextLink == nil || len(to.String(cc.NextLink)) < 1 {
3955		return nil, nil
3956	}
3957	return autorest.Prepare(&http.Request{},
3958		autorest.AsJSON(),
3959		autorest.AsGet(),
3960		autorest.WithBaseURL(to.String(cc.NextLink)))
3961}
3962
3963// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3964// ConnectionCollectionPage contains a page of Connection values.
3965type ConnectionCollectionPage struct {
3966	fn func(ConnectionCollection) (ConnectionCollection, error)
3967	cc ConnectionCollection
3968}
3969
3970// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3971// Next advances to the next page of values.  If there was an error making
3972// the request the page does not advance and the error is returned.
3973func (page *ConnectionCollectionPage) Next() error {
3974	next, err := page.fn(page.cc)
3975	if err != nil {
3976		return err
3977	}
3978	page.cc = next
3979	return nil
3980}
3981
3982// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3983// NotDone returns true if the page enumeration should be started or is not yet complete.
3984func (page ConnectionCollectionPage) NotDone() bool {
3985	return !page.cc.IsEmpty()
3986}
3987
3988// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3989// Response returns the raw server response from the last page request.
3990func (page ConnectionCollectionPage) Response() ConnectionCollection {
3991	return page.cc
3992}
3993
3994// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
3995// Values returns the slice of values for the current page or nil if there are no values.
3996func (page ConnectionCollectionPage) Values() []Connection {
3997	if page.cc.IsEmpty() {
3998		return nil
3999	}
4000	return *page.cc.Value
4001}
4002
4003// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4004// ConnectionError connection error
4005type ConnectionError struct {
4006	*ConnectionErrorProperties `json:"properties,omitempty"`
4007	// ID - Resource Id
4008	ID *string `json:"id,omitempty"`
4009	// Name - Resource Name
4010	Name *string `json:"name,omitempty"`
4011	// Kind - Kind of resource
4012	Kind *string `json:"kind,omitempty"`
4013	// Location - Resource Location
4014	Location *string `json:"location,omitempty"`
4015	// Type - Resource type
4016	Type *string `json:"type,omitempty"`
4017	// Tags - Resource tags
4018	Tags map[string]*string `json:"tags"`
4019}
4020
4021// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4022// MarshalJSON is the custom marshaler for ConnectionError.
4023func (ce ConnectionError) MarshalJSON() ([]byte, error) {
4024	objectMap := make(map[string]interface{})
4025	if ce.ConnectionErrorProperties != nil {
4026		objectMap["properties"] = ce.ConnectionErrorProperties
4027	}
4028	if ce.ID != nil {
4029		objectMap["id"] = ce.ID
4030	}
4031	if ce.Name != nil {
4032		objectMap["name"] = ce.Name
4033	}
4034	if ce.Kind != nil {
4035		objectMap["kind"] = ce.Kind
4036	}
4037	if ce.Location != nil {
4038		objectMap["location"] = ce.Location
4039	}
4040	if ce.Type != nil {
4041		objectMap["type"] = ce.Type
4042	}
4043	if ce.Tags != nil {
4044		objectMap["tags"] = ce.Tags
4045	}
4046	return json.Marshal(objectMap)
4047}
4048
4049// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4050// UnmarshalJSON is the custom unmarshaler for ConnectionError struct.
4051func (ce *ConnectionError) UnmarshalJSON(body []byte) error {
4052	var m map[string]*json.RawMessage
4053	err := json.Unmarshal(body, &m)
4054	if err != nil {
4055		return err
4056	}
4057	for k, v := range m {
4058		switch k {
4059		case "properties":
4060			if v != nil {
4061				var connectionErrorProperties ConnectionErrorProperties
4062				err = json.Unmarshal(*v, &connectionErrorProperties)
4063				if err != nil {
4064					return err
4065				}
4066				ce.ConnectionErrorProperties = &connectionErrorProperties
4067			}
4068		case "id":
4069			if v != nil {
4070				var ID string
4071				err = json.Unmarshal(*v, &ID)
4072				if err != nil {
4073					return err
4074				}
4075				ce.ID = &ID
4076			}
4077		case "name":
4078			if v != nil {
4079				var name string
4080				err = json.Unmarshal(*v, &name)
4081				if err != nil {
4082					return err
4083				}
4084				ce.Name = &name
4085			}
4086		case "kind":
4087			if v != nil {
4088				var kind string
4089				err = json.Unmarshal(*v, &kind)
4090				if err != nil {
4091					return err
4092				}
4093				ce.Kind = &kind
4094			}
4095		case "location":
4096			if v != nil {
4097				var location string
4098				err = json.Unmarshal(*v, &location)
4099				if err != nil {
4100					return err
4101				}
4102				ce.Location = &location
4103			}
4104		case "type":
4105			if v != nil {
4106				var typeVar string
4107				err = json.Unmarshal(*v, &typeVar)
4108				if err != nil {
4109					return err
4110				}
4111				ce.Type = &typeVar
4112			}
4113		case "tags":
4114			if v != nil {
4115				var tags map[string]*string
4116				err = json.Unmarshal(*v, &tags)
4117				if err != nil {
4118					return err
4119				}
4120				ce.Tags = tags
4121			}
4122		}
4123	}
4124
4125	return nil
4126}
4127
4128// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4129// ConnectionErrorProperties ...
4130type ConnectionErrorProperties struct {
4131	// Code - code of the status
4132	Code *string `json:"code,omitempty"`
4133	// Message - Description of the status
4134	Message *string `json:"message,omitempty"`
4135}
4136
4137// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4138// ConnectionParameter connection provider parameters
4139type ConnectionParameter struct {
4140	// Type - Type of the parameter. Possible values include: 'ConnectionParameterTypeString', 'ConnectionParameterTypeSecurestring', 'ConnectionParameterTypeSecureobject', 'ConnectionParameterTypeInt', 'ConnectionParameterTypeBool', 'ConnectionParameterTypeObject', 'ConnectionParameterTypeArray', 'ConnectionParameterTypeOauthSetting', 'ConnectionParameterTypeConnection'
4141	Type ConnectionParameterType `json:"type,omitempty"`
4142	// DefaultValue - Default parameter value
4143	DefaultValue interface{} `json:"defaultValue,omitempty"`
4144	// OAuthSettings - Settings defining OAuth flow for the back end provider
4145	OAuthSettings *APIOAuthSettings `json:"oAuthSettings,omitempty"`
4146	// UIDefinition - UI definitions
4147	UIDefinition interface{} `json:"uiDefinition,omitempty"`
4148}
4149
4150// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4151// ConnectionProperties ...
4152type ConnectionProperties struct {
4153	// Name - connection name
4154	Name *string `json:"name,omitempty"`
4155	// DisplayName - display name
4156	DisplayName *string `json:"displayName,omitempty"`
4157	// Statuses - Status of the connection
4158	Statuses *[]ConnectionStatus `json:"statuses,omitempty"`
4159	// CustomParameterValues - Custom login setting values.
4160	CustomParameterValues map[string]*ParameterCustomLoginSettingValues `json:"customParameterValues"`
4161	TenantID              *string                                       `json:"tenantId,omitempty"`
4162	// ParameterValues - Tokens/Claim
4163	ParameterValues map[string]interface{} `json:"parameterValues"`
4164	// NonSecretParameterValues - Tokens/Claim
4165	NonSecretParameterValues map[string]interface{} `json:"nonSecretParameterValues"`
4166	Metadata                 interface{}            `json:"metadata,omitempty"`
4167	// FirstExpirationTime - Time in UTC when the first expiration of OAuth tokens
4168	FirstExpirationTime *date.Time `json:"firstExpirationTime,omitempty"`
4169	// Keywords - List of Keywords that tag the acl
4170	Keywords *[]string `json:"keywords,omitempty"`
4171	// CreatedTime - Timestamp of the connection creation
4172	CreatedTime *date.Time `json:"createdTime,omitempty"`
4173	// ChangedTime - Timestamp of last connection change.
4174	ChangedTime *date.Time `json:"changedTime,omitempty"`
4175	// API - expanded connection provider name
4176	API *ExpandedParentAPIEntity `json:"api,omitempty"`
4177}
4178
4179// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4180// MarshalJSON is the custom marshaler for ConnectionProperties.
4181func (c ConnectionProperties) MarshalJSON() ([]byte, error) {
4182	objectMap := make(map[string]interface{})
4183	if c.Name != nil {
4184		objectMap["name"] = c.Name
4185	}
4186	if c.DisplayName != nil {
4187		objectMap["displayName"] = c.DisplayName
4188	}
4189	if c.Statuses != nil {
4190		objectMap["statuses"] = c.Statuses
4191	}
4192	if c.CustomParameterValues != nil {
4193		objectMap["customParameterValues"] = c.CustomParameterValues
4194	}
4195	if c.TenantID != nil {
4196		objectMap["tenantId"] = c.TenantID
4197	}
4198	if c.ParameterValues != nil {
4199		objectMap["parameterValues"] = c.ParameterValues
4200	}
4201	if c.NonSecretParameterValues != nil {
4202		objectMap["nonSecretParameterValues"] = c.NonSecretParameterValues
4203	}
4204	objectMap["metadata"] = c.Metadata
4205	if c.FirstExpirationTime != nil {
4206		objectMap["firstExpirationTime"] = c.FirstExpirationTime
4207	}
4208	if c.Keywords != nil {
4209		objectMap["keywords"] = c.Keywords
4210	}
4211	if c.CreatedTime != nil {
4212		objectMap["createdTime"] = c.CreatedTime
4213	}
4214	if c.ChangedTime != nil {
4215		objectMap["changedTime"] = c.ChangedTime
4216	}
4217	if c.API != nil {
4218		objectMap["api"] = c.API
4219	}
4220	return json.Marshal(objectMap)
4221}
4222
4223// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4224// ConnectionSecrets ...
4225type ConnectionSecrets struct {
4226	autorest.Response `json:"-"`
4227	// ParameterValues - Tokens/Claim
4228	ParameterValues map[string]interface{} `json:"parameterValues"`
4229	// ConnectionKey - Connection Key
4230	ConnectionKey *string `json:"connectionKey,omitempty"`
4231}
4232
4233// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4234// MarshalJSON is the custom marshaler for ConnectionSecrets.
4235func (cs ConnectionSecrets) MarshalJSON() ([]byte, error) {
4236	objectMap := make(map[string]interface{})
4237	if cs.ParameterValues != nil {
4238		objectMap["parameterValues"] = cs.ParameterValues
4239	}
4240	if cs.ConnectionKey != nil {
4241		objectMap["connectionKey"] = cs.ConnectionKey
4242	}
4243	return json.Marshal(objectMap)
4244}
4245
4246// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4247// ConnectionStatus connection status
4248type ConnectionStatus struct {
4249	*ConnectionStatusProperties `json:"properties,omitempty"`
4250	// ID - Resource Id
4251	ID *string `json:"id,omitempty"`
4252	// Name - Resource Name
4253	Name *string `json:"name,omitempty"`
4254	// Kind - Kind of resource
4255	Kind *string `json:"kind,omitempty"`
4256	// Location - Resource Location
4257	Location *string `json:"location,omitempty"`
4258	// Type - Resource type
4259	Type *string `json:"type,omitempty"`
4260	// Tags - Resource tags
4261	Tags map[string]*string `json:"tags"`
4262}
4263
4264// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4265// MarshalJSON is the custom marshaler for ConnectionStatus.
4266func (cs ConnectionStatus) MarshalJSON() ([]byte, error) {
4267	objectMap := make(map[string]interface{})
4268	if cs.ConnectionStatusProperties != nil {
4269		objectMap["properties"] = cs.ConnectionStatusProperties
4270	}
4271	if cs.ID != nil {
4272		objectMap["id"] = cs.ID
4273	}
4274	if cs.Name != nil {
4275		objectMap["name"] = cs.Name
4276	}
4277	if cs.Kind != nil {
4278		objectMap["kind"] = cs.Kind
4279	}
4280	if cs.Location != nil {
4281		objectMap["location"] = cs.Location
4282	}
4283	if cs.Type != nil {
4284		objectMap["type"] = cs.Type
4285	}
4286	if cs.Tags != nil {
4287		objectMap["tags"] = cs.Tags
4288	}
4289	return json.Marshal(objectMap)
4290}
4291
4292// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4293// UnmarshalJSON is the custom unmarshaler for ConnectionStatus struct.
4294func (cs *ConnectionStatus) UnmarshalJSON(body []byte) error {
4295	var m map[string]*json.RawMessage
4296	err := json.Unmarshal(body, &m)
4297	if err != nil {
4298		return err
4299	}
4300	for k, v := range m {
4301		switch k {
4302		case "properties":
4303			if v != nil {
4304				var connectionStatusProperties ConnectionStatusProperties
4305				err = json.Unmarshal(*v, &connectionStatusProperties)
4306				if err != nil {
4307					return err
4308				}
4309				cs.ConnectionStatusProperties = &connectionStatusProperties
4310			}
4311		case "id":
4312			if v != nil {
4313				var ID string
4314				err = json.Unmarshal(*v, &ID)
4315				if err != nil {
4316					return err
4317				}
4318				cs.ID = &ID
4319			}
4320		case "name":
4321			if v != nil {
4322				var name string
4323				err = json.Unmarshal(*v, &name)
4324				if err != nil {
4325					return err
4326				}
4327				cs.Name = &name
4328			}
4329		case "kind":
4330			if v != nil {
4331				var kind string
4332				err = json.Unmarshal(*v, &kind)
4333				if err != nil {
4334					return err
4335				}
4336				cs.Kind = &kind
4337			}
4338		case "location":
4339			if v != nil {
4340				var location string
4341				err = json.Unmarshal(*v, &location)
4342				if err != nil {
4343					return err
4344				}
4345				cs.Location = &location
4346			}
4347		case "type":
4348			if v != nil {
4349				var typeVar string
4350				err = json.Unmarshal(*v, &typeVar)
4351				if err != nil {
4352					return err
4353				}
4354				cs.Type = &typeVar
4355			}
4356		case "tags":
4357			if v != nil {
4358				var tags map[string]*string
4359				err = json.Unmarshal(*v, &tags)
4360				if err != nil {
4361					return err
4362				}
4363				cs.Tags = tags
4364			}
4365		}
4366	}
4367
4368	return nil
4369}
4370
4371// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4372// ConnectionStatusProperties ...
4373type ConnectionStatusProperties struct {
4374	// Status - Status
4375	Status *string `json:"status,omitempty"`
4376	// Target - Target of the error
4377	Target *string `json:"target,omitempty"`
4378	// Error - Error details
4379	Error *ConnectionError `json:"error,omitempty"`
4380}
4381
4382// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4383// ConnectionStringDictionary string dictionary resource
4384type ConnectionStringDictionary struct {
4385	autorest.Response `json:"-"`
4386	// Properties - Connection strings
4387	Properties map[string]*ConnStringValueTypePair `json:"properties"`
4388	// ID - Resource Id
4389	ID *string `json:"id,omitempty"`
4390	// Name - Resource Name
4391	Name *string `json:"name,omitempty"`
4392	// Kind - Kind of resource
4393	Kind *string `json:"kind,omitempty"`
4394	// Location - Resource Location
4395	Location *string `json:"location,omitempty"`
4396	// Type - Resource type
4397	Type *string `json:"type,omitempty"`
4398	// Tags - Resource tags
4399	Tags map[string]*string `json:"tags"`
4400}
4401
4402// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4403// MarshalJSON is the custom marshaler for ConnectionStringDictionary.
4404func (csd ConnectionStringDictionary) MarshalJSON() ([]byte, error) {
4405	objectMap := make(map[string]interface{})
4406	if csd.Properties != nil {
4407		objectMap["properties"] = csd.Properties
4408	}
4409	if csd.ID != nil {
4410		objectMap["id"] = csd.ID
4411	}
4412	if csd.Name != nil {
4413		objectMap["name"] = csd.Name
4414	}
4415	if csd.Kind != nil {
4416		objectMap["kind"] = csd.Kind
4417	}
4418	if csd.Location != nil {
4419		objectMap["location"] = csd.Location
4420	}
4421	if csd.Type != nil {
4422		objectMap["type"] = csd.Type
4423	}
4424	if csd.Tags != nil {
4425		objectMap["tags"] = csd.Tags
4426	}
4427	return json.Marshal(objectMap)
4428}
4429
4430// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4431// ConnStringInfo represents database connection string information
4432type ConnStringInfo struct {
4433	// Name - Name of connection string
4434	Name *string `json:"name,omitempty"`
4435	// ConnectionString - Connection string value
4436	ConnectionString *string `json:"connectionString,omitempty"`
4437	// Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom'
4438	Type DatabaseServerType `json:"type,omitempty"`
4439}
4440
4441// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4442// ConnStringValueTypePair database connection string value to type pair
4443type ConnStringValueTypePair struct {
4444	// Value - Value of pair
4445	Value *string `json:"value,omitempty"`
4446	// Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom'
4447	Type DatabaseServerType `json:"type,omitempty"`
4448}
4449
4450// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4451// ConsentLink ...
4452type ConsentLink struct {
4453	// Link - Uri for the consent link
4454	Link *string `json:"link,omitempty"`
4455	// FirstPartyLoginURI - Uri for first party login
4456	FirstPartyLoginURI *string `json:"firstPartyLoginUri,omitempty"`
4457	// DisplayName - Display Name of the parameter in the connection provider's oauthSettings
4458	DisplayName *string `json:"displayName,omitempty"`
4459	// Status - Status of the link. Possible values include: 'Unauthenticated', 'Authenticated', 'Error'
4460	Status LinkState `json:"status,omitempty"`
4461}
4462
4463// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4464// ConsentLinkInput connection Constent Link payload
4465type ConsentLinkInput struct {
4466	*ConsentLinkInputProperties `json:"properties,omitempty"`
4467	// ID - Resource Id
4468	ID *string `json:"id,omitempty"`
4469	// Name - Resource Name
4470	Name *string `json:"name,omitempty"`
4471	// Kind - Kind of resource
4472	Kind *string `json:"kind,omitempty"`
4473	// Location - Resource Location
4474	Location *string `json:"location,omitempty"`
4475	// Type - Resource type
4476	Type *string `json:"type,omitempty"`
4477	// Tags - Resource tags
4478	Tags map[string]*string `json:"tags"`
4479}
4480
4481// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4482// MarshalJSON is the custom marshaler for ConsentLinkInput.
4483func (cli ConsentLinkInput) MarshalJSON() ([]byte, error) {
4484	objectMap := make(map[string]interface{})
4485	if cli.ConsentLinkInputProperties != nil {
4486		objectMap["properties"] = cli.ConsentLinkInputProperties
4487	}
4488	if cli.ID != nil {
4489		objectMap["id"] = cli.ID
4490	}
4491	if cli.Name != nil {
4492		objectMap["name"] = cli.Name
4493	}
4494	if cli.Kind != nil {
4495		objectMap["kind"] = cli.Kind
4496	}
4497	if cli.Location != nil {
4498		objectMap["location"] = cli.Location
4499	}
4500	if cli.Type != nil {
4501		objectMap["type"] = cli.Type
4502	}
4503	if cli.Tags != nil {
4504		objectMap["tags"] = cli.Tags
4505	}
4506	return json.Marshal(objectMap)
4507}
4508
4509// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4510// UnmarshalJSON is the custom unmarshaler for ConsentLinkInput struct.
4511func (cli *ConsentLinkInput) UnmarshalJSON(body []byte) error {
4512	var m map[string]*json.RawMessage
4513	err := json.Unmarshal(body, &m)
4514	if err != nil {
4515		return err
4516	}
4517	for k, v := range m {
4518		switch k {
4519		case "properties":
4520			if v != nil {
4521				var consentLinkInputProperties ConsentLinkInputProperties
4522				err = json.Unmarshal(*v, &consentLinkInputProperties)
4523				if err != nil {
4524					return err
4525				}
4526				cli.ConsentLinkInputProperties = &consentLinkInputProperties
4527			}
4528		case "id":
4529			if v != nil {
4530				var ID string
4531				err = json.Unmarshal(*v, &ID)
4532				if err != nil {
4533					return err
4534				}
4535				cli.ID = &ID
4536			}
4537		case "name":
4538			if v != nil {
4539				var name string
4540				err = json.Unmarshal(*v, &name)
4541				if err != nil {
4542					return err
4543				}
4544				cli.Name = &name
4545			}
4546		case "kind":
4547			if v != nil {
4548				var kind string
4549				err = json.Unmarshal(*v, &kind)
4550				if err != nil {
4551					return err
4552				}
4553				cli.Kind = &kind
4554			}
4555		case "location":
4556			if v != nil {
4557				var location string
4558				err = json.Unmarshal(*v, &location)
4559				if err != nil {
4560					return err
4561				}
4562				cli.Location = &location
4563			}
4564		case "type":
4565			if v != nil {
4566				var typeVar string
4567				err = json.Unmarshal(*v, &typeVar)
4568				if err != nil {
4569					return err
4570				}
4571				cli.Type = &typeVar
4572			}
4573		case "tags":
4574			if v != nil {
4575				var tags map[string]*string
4576				err = json.Unmarshal(*v, &tags)
4577				if err != nil {
4578					return err
4579				}
4580				cli.Tags = tags
4581			}
4582		}
4583	}
4584
4585	return nil
4586}
4587
4588// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4589// ConsentLinkInputParameter ...
4590type ConsentLinkInputParameter struct {
4591	// PrincipalType - Principal type. Possible values include: 'PrincipalTypeActiveDirectory', 'PrincipalTypeConnection', 'PrincipalTypeMicrosoftAccount'
4592	PrincipalType PrincipalType `json:"principalType,omitempty"`
4593	// TenantID - Tenant Id
4594	TenantID *string `json:"tenantId,omitempty"`
4595	// ObjectID - AAD OID (user or group) if the principal type is ActiveDirectory.
4596	//             MSA PUID if the principal type is MicrosoftAccount.
4597	ObjectID *string `json:"objectId,omitempty"`
4598	// ParameterName - Name of the parameter in the connection provider's oauthSettings
4599	ParameterName *string `json:"parameterName,omitempty"`
4600	// RedirectURL - Name of the parameter in the connection provider's oauthSettings
4601	RedirectURL *string `json:"redirectUrl,omitempty"`
4602}
4603
4604// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4605// ConsentLinkInputProperties ...
4606type ConsentLinkInputProperties struct {
4607	// Parameters - Array of links
4608	Parameters *[]ConsentLinkInputParameter `json:"parameters,omitempty"`
4609}
4610
4611// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4612// ConsentLinkPayload collection of consent links
4613type ConsentLinkPayload struct {
4614	autorest.Response `json:"-"`
4615	// Value - Collection of resources
4616	Value *[]ConsentLink `json:"value,omitempty"`
4617}
4618
4619// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4620// Contact contact information for domain registration. If 'Domain Privacy' option is not selected then the contact
4621// information will be  be made publicly available through the Whois directories as per ICANN requirements.
4622type Contact struct {
4623	// AddressMailing - Mailing address
4624	AddressMailing *Address `json:"addressMailing,omitempty"`
4625	// Email - Email address
4626	Email *string `json:"email,omitempty"`
4627	// Fax - Fax number
4628	Fax *string `json:"fax,omitempty"`
4629	// JobTitle - Job title
4630	JobTitle *string `json:"jobTitle,omitempty"`
4631	// NameFirst - First name
4632	NameFirst *string `json:"nameFirst,omitempty"`
4633	// NameLast - Last name
4634	NameLast *string `json:"nameLast,omitempty"`
4635	// NameMiddle - Middle name
4636	NameMiddle *string `json:"nameMiddle,omitempty"`
4637	// Organization - Organization
4638	Organization *string `json:"organization,omitempty"`
4639	// Phone - Phone number
4640	Phone *string `json:"phone,omitempty"`
4641}
4642
4643// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4644// CorsSettings cross-Origin Resource Sharing (CORS) settings for the web app.
4645type CorsSettings struct {
4646	// AllowedOrigins - Gets or sets the list of origins that should be allowed to make cross-origin
4647	//             calls (for example: http://example.com:12345). Use "*" to allow all.
4648	AllowedOrigins *[]string `json:"allowedOrigins,omitempty"`
4649}
4650
4651// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4652// CsmMoveResourceEnvelope class containing a list of the resources that need to be moved and the resource group
4653// they should be moved to
4654type CsmMoveResourceEnvelope struct {
4655	TargetResourceGroup *string   `json:"targetResourceGroup,omitempty"`
4656	Resources           *[]string `json:"resources,omitempty"`
4657}
4658
4659// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4660// CsmPublishingProfileOptions publishing options for requested profile
4661type CsmPublishingProfileOptions struct {
4662	// Format - Name of the format. Valid values are:
4663	//             FileZilla3
4664	//             WebDeploy -- default
4665	//             Ftp
4666	Format *string `json:"format,omitempty"`
4667}
4668
4669// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4670// CsmSiteRecoveryEntity class containting details about site recovery operation.
4671type CsmSiteRecoveryEntity struct {
4672	// SnapshotTime - Point in time in which the site recover should be attempted.
4673	SnapshotTime *date.Time `json:"snapshotTime,omitempty"`
4674	// RecoverConfig - If true, then the website's configuration will be reverted to its state at SnapshotTime
4675	RecoverConfig *bool `json:"recoverConfig,omitempty"`
4676	// SiteName - [Optional] Destination web app name into which web app should be recovered. This is case when new web app should be created instead.
4677	SiteName *string `json:"siteName,omitempty"`
4678	// SlotName - [Optional] Destination web app slot name into which web app should be recovered
4679	SlotName *string `json:"slotName,omitempty"`
4680}
4681
4682// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4683// CsmSlotEntity class containing deployment slot parameters
4684type CsmSlotEntity struct {
4685	// TargetSlot - Set the destination deployment slot during swap operation
4686	TargetSlot *string `json:"targetSlot,omitempty"`
4687	// PreserveVnet - Get or set the flag indicating it should preserve VNet to the slot during swap
4688	PreserveVnet *bool `json:"preserveVnet,omitempty"`
4689}
4690
4691// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4692// CsmUsageQuota usage of the quota resource
4693type CsmUsageQuota struct {
4694	// Unit - Units of measurement for the quota resourse
4695	Unit *string `json:"unit,omitempty"`
4696	// NextResetTime - Next reset time for the resource counter
4697	NextResetTime *date.Time `json:"nextResetTime,omitempty"`
4698	// CurrentValue - The current value of the resource counter
4699	CurrentValue *int64 `json:"currentValue,omitempty"`
4700	// Limit - The resource limit
4701	Limit *int64 `json:"limit,omitempty"`
4702	// Name - Quota name
4703	Name *LocalizableString `json:"name,omitempty"`
4704}
4705
4706// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4707// CsmUsageQuotaCollection collection of csm usage quotas
4708type CsmUsageQuotaCollection struct {
4709	autorest.Response `json:"-"`
4710	// Value - Collection of resources
4711	Value *[]CsmUsageQuota `json:"value,omitempty"`
4712	// NextLink - Link to next page of resources
4713	NextLink *string `json:"nextLink,omitempty"`
4714}
4715
4716// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4717// CsmUsageQuotaCollectionIterator provides access to a complete listing of CsmUsageQuota values.
4718type CsmUsageQuotaCollectionIterator struct {
4719	i    int
4720	page CsmUsageQuotaCollectionPage
4721}
4722
4723// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4724// Next advances to the next value.  If there was an error making
4725// the request the iterator does not advance and the error is returned.
4726func (iter *CsmUsageQuotaCollectionIterator) Next() error {
4727	iter.i++
4728	if iter.i < len(iter.page.Values()) {
4729		return nil
4730	}
4731	err := iter.page.Next()
4732	if err != nil {
4733		iter.i--
4734		return err
4735	}
4736	iter.i = 0
4737	return nil
4738}
4739
4740// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4741// NotDone returns true if the enumeration should be started or is not yet complete.
4742func (iter CsmUsageQuotaCollectionIterator) NotDone() bool {
4743	return iter.page.NotDone() && iter.i < len(iter.page.Values())
4744}
4745
4746// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4747// Response returns the raw server response from the last page request.
4748func (iter CsmUsageQuotaCollectionIterator) Response() CsmUsageQuotaCollection {
4749	return iter.page.Response()
4750}
4751
4752// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4753// Value returns the current value or a zero-initialized value if the
4754// iterator has advanced beyond the end of the collection.
4755func (iter CsmUsageQuotaCollectionIterator) Value() CsmUsageQuota {
4756	if !iter.page.NotDone() {
4757		return CsmUsageQuota{}
4758	}
4759	return iter.page.Values()[iter.i]
4760}
4761
4762// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4763// IsEmpty returns true if the ListResult contains no values.
4764func (cuqc CsmUsageQuotaCollection) IsEmpty() bool {
4765	return cuqc.Value == nil || len(*cuqc.Value) == 0
4766}
4767
4768// csmUsageQuotaCollectionPreparer prepares a request to retrieve the next set of results.
4769// It returns nil if no more results exist.
4770func (cuqc CsmUsageQuotaCollection) csmUsageQuotaCollectionPreparer() (*http.Request, error) {
4771	if cuqc.NextLink == nil || len(to.String(cuqc.NextLink)) < 1 {
4772		return nil, nil
4773	}
4774	return autorest.Prepare(&http.Request{},
4775		autorest.AsJSON(),
4776		autorest.AsGet(),
4777		autorest.WithBaseURL(to.String(cuqc.NextLink)))
4778}
4779
4780// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4781// CsmUsageQuotaCollectionPage contains a page of CsmUsageQuota values.
4782type CsmUsageQuotaCollectionPage struct {
4783	fn   func(CsmUsageQuotaCollection) (CsmUsageQuotaCollection, error)
4784	cuqc CsmUsageQuotaCollection
4785}
4786
4787// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4788// Next advances to the next page of values.  If there was an error making
4789// the request the page does not advance and the error is returned.
4790func (page *CsmUsageQuotaCollectionPage) Next() error {
4791	next, err := page.fn(page.cuqc)
4792	if err != nil {
4793		return err
4794	}
4795	page.cuqc = next
4796	return nil
4797}
4798
4799// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4800// NotDone returns true if the page enumeration should be started or is not yet complete.
4801func (page CsmUsageQuotaCollectionPage) NotDone() bool {
4802	return !page.cuqc.IsEmpty()
4803}
4804
4805// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4806// Response returns the raw server response from the last page request.
4807func (page CsmUsageQuotaCollectionPage) Response() CsmUsageQuotaCollection {
4808	return page.cuqc
4809}
4810
4811// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4812// Values returns the slice of values for the current page or nil if there are no values.
4813func (page CsmUsageQuotaCollectionPage) Values() []CsmUsageQuota {
4814	if page.cuqc.IsEmpty() {
4815		return nil
4816	}
4817	return *page.cuqc.Value
4818}
4819
4820// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4821// Csr certificate signing request object
4822type Csr struct {
4823	autorest.Response `json:"-"`
4824	*CsrProperties    `json:"properties,omitempty"`
4825	// ID - Resource Id
4826	ID *string `json:"id,omitempty"`
4827	// Name - Resource Name
4828	Name *string `json:"name,omitempty"`
4829	// Kind - Kind of resource
4830	Kind *string `json:"kind,omitempty"`
4831	// Location - Resource Location
4832	Location *string `json:"location,omitempty"`
4833	// Type - Resource type
4834	Type *string `json:"type,omitempty"`
4835	// Tags - Resource tags
4836	Tags map[string]*string `json:"tags"`
4837}
4838
4839// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4840// MarshalJSON is the custom marshaler for Csr.
4841func (c Csr) MarshalJSON() ([]byte, error) {
4842	objectMap := make(map[string]interface{})
4843	if c.CsrProperties != nil {
4844		objectMap["properties"] = c.CsrProperties
4845	}
4846	if c.ID != nil {
4847		objectMap["id"] = c.ID
4848	}
4849	if c.Name != nil {
4850		objectMap["name"] = c.Name
4851	}
4852	if c.Kind != nil {
4853		objectMap["kind"] = c.Kind
4854	}
4855	if c.Location != nil {
4856		objectMap["location"] = c.Location
4857	}
4858	if c.Type != nil {
4859		objectMap["type"] = c.Type
4860	}
4861	if c.Tags != nil {
4862		objectMap["tags"] = c.Tags
4863	}
4864	return json.Marshal(objectMap)
4865}
4866
4867// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4868// UnmarshalJSON is the custom unmarshaler for Csr struct.
4869func (c *Csr) UnmarshalJSON(body []byte) error {
4870	var m map[string]*json.RawMessage
4871	err := json.Unmarshal(body, &m)
4872	if err != nil {
4873		return err
4874	}
4875	for k, v := range m {
4876		switch k {
4877		case "properties":
4878			if v != nil {
4879				var csrProperties CsrProperties
4880				err = json.Unmarshal(*v, &csrProperties)
4881				if err != nil {
4882					return err
4883				}
4884				c.CsrProperties = &csrProperties
4885			}
4886		case "id":
4887			if v != nil {
4888				var ID string
4889				err = json.Unmarshal(*v, &ID)
4890				if err != nil {
4891					return err
4892				}
4893				c.ID = &ID
4894			}
4895		case "name":
4896			if v != nil {
4897				var name string
4898				err = json.Unmarshal(*v, &name)
4899				if err != nil {
4900					return err
4901				}
4902				c.Name = &name
4903			}
4904		case "kind":
4905			if v != nil {
4906				var kind string
4907				err = json.Unmarshal(*v, &kind)
4908				if err != nil {
4909					return err
4910				}
4911				c.Kind = &kind
4912			}
4913		case "location":
4914			if v != nil {
4915				var location string
4916				err = json.Unmarshal(*v, &location)
4917				if err != nil {
4918					return err
4919				}
4920				c.Location = &location
4921			}
4922		case "type":
4923			if v != nil {
4924				var typeVar string
4925				err = json.Unmarshal(*v, &typeVar)
4926				if err != nil {
4927					return err
4928				}
4929				c.Type = &typeVar
4930			}
4931		case "tags":
4932			if v != nil {
4933				var tags map[string]*string
4934				err = json.Unmarshal(*v, &tags)
4935				if err != nil {
4936					return err
4937				}
4938				c.Tags = tags
4939			}
4940		}
4941	}
4942
4943	return nil
4944}
4945
4946// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4947// CsrProperties ...
4948type CsrProperties struct {
4949	// Name - Name used to locate CSR object
4950	Name *string `json:"name,omitempty"`
4951	// DistinguishedName - Distinguished name of certificate to be created
4952	DistinguishedName *string `json:"distinguishedName,omitempty"`
4953	// CsrString - Actual CSR string created
4954	CsrString *string `json:"csrString,omitempty"`
4955	// PfxBlob - PFX certifcate of created certificate
4956	PfxBlob *string `json:"pfxBlob,omitempty"`
4957	// Password - PFX password
4958	Password *string `json:"password,omitempty"`
4959	// PublicKeyHash - Hash of the certificates public key
4960	PublicKeyHash *string `json:"publicKeyHash,omitempty"`
4961	// HostingEnvironment - Hosting environment
4962	HostingEnvironment *string `json:"hostingEnvironment,omitempty"`
4963}
4964
4965// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4966// CustomLoginSettingValue custom logging setting value
4967type CustomLoginSettingValue struct {
4968	*CustomLoginSettingValueProperties `json:"properties,omitempty"`
4969	// ID - Resource Id
4970	ID *string `json:"id,omitempty"`
4971	// Name - Resource Name
4972	Name *string `json:"name,omitempty"`
4973	// Kind - Kind of resource
4974	Kind *string `json:"kind,omitempty"`
4975	// Location - Resource Location
4976	Location *string `json:"location,omitempty"`
4977	// Type - Resource type
4978	Type *string `json:"type,omitempty"`
4979	// Tags - Resource tags
4980	Tags map[string]*string `json:"tags"`
4981}
4982
4983// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
4984// MarshalJSON is the custom marshaler for CustomLoginSettingValue.
4985func (clsv CustomLoginSettingValue) MarshalJSON() ([]byte, error) {
4986	objectMap := make(map[string]interface{})
4987	if clsv.CustomLoginSettingValueProperties != nil {
4988		objectMap["properties"] = clsv.CustomLoginSettingValueProperties
4989	}
4990	if clsv.ID != nil {
4991		objectMap["id"] = clsv.ID
4992	}
4993	if clsv.Name != nil {
4994		objectMap["name"] = clsv.Name
4995	}
4996	if clsv.Kind != nil {
4997		objectMap["kind"] = clsv.Kind
4998	}
4999	if clsv.Location != nil {
5000		objectMap["location"] = clsv.Location
5001	}
5002	if clsv.Type != nil {
5003		objectMap["type"] = clsv.Type
5004	}
5005	if clsv.Tags != nil {
5006		objectMap["tags"] = clsv.Tags
5007	}
5008	return json.Marshal(objectMap)
5009}
5010
5011// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5012// UnmarshalJSON is the custom unmarshaler for CustomLoginSettingValue struct.
5013func (clsv *CustomLoginSettingValue) UnmarshalJSON(body []byte) error {
5014	var m map[string]*json.RawMessage
5015	err := json.Unmarshal(body, &m)
5016	if err != nil {
5017		return err
5018	}
5019	for k, v := range m {
5020		switch k {
5021		case "properties":
5022			if v != nil {
5023				var customLoginSettingValueProperties CustomLoginSettingValueProperties
5024				err = json.Unmarshal(*v, &customLoginSettingValueProperties)
5025				if err != nil {
5026					return err
5027				}
5028				clsv.CustomLoginSettingValueProperties = &customLoginSettingValueProperties
5029			}
5030		case "id":
5031			if v != nil {
5032				var ID string
5033				err = json.Unmarshal(*v, &ID)
5034				if err != nil {
5035					return err
5036				}
5037				clsv.ID = &ID
5038			}
5039		case "name":
5040			if v != nil {
5041				var name string
5042				err = json.Unmarshal(*v, &name)
5043				if err != nil {
5044					return err
5045				}
5046				clsv.Name = &name
5047			}
5048		case "kind":
5049			if v != nil {
5050				var kind string
5051				err = json.Unmarshal(*v, &kind)
5052				if err != nil {
5053					return err
5054				}
5055				clsv.Kind = &kind
5056			}
5057		case "location":
5058			if v != nil {
5059				var location string
5060				err = json.Unmarshal(*v, &location)
5061				if err != nil {
5062					return err
5063				}
5064				clsv.Location = &location
5065			}
5066		case "type":
5067			if v != nil {
5068				var typeVar string
5069				err = json.Unmarshal(*v, &typeVar)
5070				if err != nil {
5071					return err
5072				}
5073				clsv.Type = &typeVar
5074			}
5075		case "tags":
5076			if v != nil {
5077				var tags map[string]*string
5078				err = json.Unmarshal(*v, &tags)
5079				if err != nil {
5080					return err
5081				}
5082				clsv.Tags = tags
5083			}
5084		}
5085	}
5086
5087	return nil
5088}
5089
5090// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5091// CustomLoginSettingValueProperties ...
5092type CustomLoginSettingValueProperties struct {
5093	// Option - Option selected for this custom login setting value
5094	Option *string `json:"option,omitempty"`
5095}
5096
5097// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5098// DatabaseBackupSetting note: properties are serialized in JSON format and stored in DB.
5099// if new properties are added they might not be in the previous data rows
5100// so please handle nulls
5101type DatabaseBackupSetting struct {
5102	// DatabaseType - SqlAzure / MySql
5103	DatabaseType *string `json:"databaseType,omitempty"`
5104	Name         *string `json:"name,omitempty"`
5105	// ConnectionStringName - Contains a connection string name that is linked to the SiteConfig.ConnectionStrings.
5106	//             This is used during restore with overwrite connection strings options.
5107	ConnectionStringName *string `json:"connectionStringName,omitempty"`
5108	// ConnectionString - Contains a connection string to a database which is being backed up/restored. If the restore should happen to a new database, the database name inside is the new one.
5109	ConnectionString *string `json:"connectionString,omitempty"`
5110}
5111
5112// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5113// DeletedSite reports deleted site including the timestamp of operation
5114type DeletedSite struct {
5115	*DeletedSiteProperties `json:"properties,omitempty"`
5116	// ID - Resource Id
5117	ID *string `json:"id,omitempty"`
5118	// Name - Resource Name
5119	Name *string `json:"name,omitempty"`
5120	// Kind - Kind of resource
5121	Kind *string `json:"kind,omitempty"`
5122	// Location - Resource Location
5123	Location *string `json:"location,omitempty"`
5124	// Type - Resource type
5125	Type *string `json:"type,omitempty"`
5126	// Tags - Resource tags
5127	Tags map[string]*string `json:"tags"`
5128}
5129
5130// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5131// MarshalJSON is the custom marshaler for DeletedSite.
5132func (ds DeletedSite) MarshalJSON() ([]byte, error) {
5133	objectMap := make(map[string]interface{})
5134	if ds.DeletedSiteProperties != nil {
5135		objectMap["properties"] = ds.DeletedSiteProperties
5136	}
5137	if ds.ID != nil {
5138		objectMap["id"] = ds.ID
5139	}
5140	if ds.Name != nil {
5141		objectMap["name"] = ds.Name
5142	}
5143	if ds.Kind != nil {
5144		objectMap["kind"] = ds.Kind
5145	}
5146	if ds.Location != nil {
5147		objectMap["location"] = ds.Location
5148	}
5149	if ds.Type != nil {
5150		objectMap["type"] = ds.Type
5151	}
5152	if ds.Tags != nil {
5153		objectMap["tags"] = ds.Tags
5154	}
5155	return json.Marshal(objectMap)
5156}
5157
5158// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5159// UnmarshalJSON is the custom unmarshaler for DeletedSite struct.
5160func (ds *DeletedSite) UnmarshalJSON(body []byte) error {
5161	var m map[string]*json.RawMessage
5162	err := json.Unmarshal(body, &m)
5163	if err != nil {
5164		return err
5165	}
5166	for k, v := range m {
5167		switch k {
5168		case "properties":
5169			if v != nil {
5170				var deletedSiteProperties DeletedSiteProperties
5171				err = json.Unmarshal(*v, &deletedSiteProperties)
5172				if err != nil {
5173					return err
5174				}
5175				ds.DeletedSiteProperties = &deletedSiteProperties
5176			}
5177		case "id":
5178			if v != nil {
5179				var ID string
5180				err = json.Unmarshal(*v, &ID)
5181				if err != nil {
5182					return err
5183				}
5184				ds.ID = &ID
5185			}
5186		case "name":
5187			if v != nil {
5188				var name string
5189				err = json.Unmarshal(*v, &name)
5190				if err != nil {
5191					return err
5192				}
5193				ds.Name = &name
5194			}
5195		case "kind":
5196			if v != nil {
5197				var kind string
5198				err = json.Unmarshal(*v, &kind)
5199				if err != nil {
5200					return err
5201				}
5202				ds.Kind = &kind
5203			}
5204		case "location":
5205			if v != nil {
5206				var location string
5207				err = json.Unmarshal(*v, &location)
5208				if err != nil {
5209					return err
5210				}
5211				ds.Location = &location
5212			}
5213		case "type":
5214			if v != nil {
5215				var typeVar string
5216				err = json.Unmarshal(*v, &typeVar)
5217				if err != nil {
5218					return err
5219				}
5220				ds.Type = &typeVar
5221			}
5222		case "tags":
5223			if v != nil {
5224				var tags map[string]*string
5225				err = json.Unmarshal(*v, &tags)
5226				if err != nil {
5227					return err
5228				}
5229				ds.Tags = tags
5230			}
5231		}
5232	}
5233
5234	return nil
5235}
5236
5237// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5238// DeletedSiteCollection collection of deleted sites
5239type DeletedSiteCollection struct {
5240	autorest.Response `json:"-"`
5241	// Value - Collection of resources
5242	Value *[]DeletedSite `json:"value,omitempty"`
5243	// NextLink - Link to next page of resources
5244	NextLink *string `json:"nextLink,omitempty"`
5245}
5246
5247// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5248// DeletedSiteCollectionIterator provides access to a complete listing of DeletedSite values.
5249type DeletedSiteCollectionIterator struct {
5250	i    int
5251	page DeletedSiteCollectionPage
5252}
5253
5254// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5255// Next advances to the next value.  If there was an error making
5256// the request the iterator does not advance and the error is returned.
5257func (iter *DeletedSiteCollectionIterator) Next() error {
5258	iter.i++
5259	if iter.i < len(iter.page.Values()) {
5260		return nil
5261	}
5262	err := iter.page.Next()
5263	if err != nil {
5264		iter.i--
5265		return err
5266	}
5267	iter.i = 0
5268	return nil
5269}
5270
5271// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5272// NotDone returns true if the enumeration should be started or is not yet complete.
5273func (iter DeletedSiteCollectionIterator) NotDone() bool {
5274	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5275}
5276
5277// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5278// Response returns the raw server response from the last page request.
5279func (iter DeletedSiteCollectionIterator) Response() DeletedSiteCollection {
5280	return iter.page.Response()
5281}
5282
5283// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5284// Value returns the current value or a zero-initialized value if the
5285// iterator has advanced beyond the end of the collection.
5286func (iter DeletedSiteCollectionIterator) Value() DeletedSite {
5287	if !iter.page.NotDone() {
5288		return DeletedSite{}
5289	}
5290	return iter.page.Values()[iter.i]
5291}
5292
5293// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5294// IsEmpty returns true if the ListResult contains no values.
5295func (dsc DeletedSiteCollection) IsEmpty() bool {
5296	return dsc.Value == nil || len(*dsc.Value) == 0
5297}
5298
5299// deletedSiteCollectionPreparer prepares a request to retrieve the next set of results.
5300// It returns nil if no more results exist.
5301func (dsc DeletedSiteCollection) deletedSiteCollectionPreparer() (*http.Request, error) {
5302	if dsc.NextLink == nil || len(to.String(dsc.NextLink)) < 1 {
5303		return nil, nil
5304	}
5305	return autorest.Prepare(&http.Request{},
5306		autorest.AsJSON(),
5307		autorest.AsGet(),
5308		autorest.WithBaseURL(to.String(dsc.NextLink)))
5309}
5310
5311// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5312// DeletedSiteCollectionPage contains a page of DeletedSite values.
5313type DeletedSiteCollectionPage struct {
5314	fn  func(DeletedSiteCollection) (DeletedSiteCollection, error)
5315	dsc DeletedSiteCollection
5316}
5317
5318// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5319// Next advances to the next page of values.  If there was an error making
5320// the request the page does not advance and the error is returned.
5321func (page *DeletedSiteCollectionPage) Next() error {
5322	next, err := page.fn(page.dsc)
5323	if err != nil {
5324		return err
5325	}
5326	page.dsc = next
5327	return nil
5328}
5329
5330// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5331// NotDone returns true if the page enumeration should be started or is not yet complete.
5332func (page DeletedSiteCollectionPage) NotDone() bool {
5333	return !page.dsc.IsEmpty()
5334}
5335
5336// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5337// Response returns the raw server response from the last page request.
5338func (page DeletedSiteCollectionPage) Response() DeletedSiteCollection {
5339	return page.dsc
5340}
5341
5342// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5343// Values returns the slice of values for the current page or nil if there are no values.
5344func (page DeletedSiteCollectionPage) Values() []DeletedSite {
5345	if page.dsc.IsEmpty() {
5346		return nil
5347	}
5348	return *page.dsc.Value
5349}
5350
5351// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5352// DeletedSiteProperties ...
5353type DeletedSiteProperties struct {
5354	// DeletedTimestamp - Time when the site was deleted
5355	DeletedTimestamp *date.Time `json:"deletedTimestamp,omitempty"`
5356	// Name - Name of web app
5357	Name *string `json:"name,omitempty"`
5358	// State - State of the web app
5359	State *string `json:"state,omitempty"`
5360	// HostNames - Hostnames associated with web app
5361	HostNames *[]string `json:"hostNames,omitempty"`
5362	// RepositorySiteName - Name of repository site
5363	RepositorySiteName *string `json:"repositorySiteName,omitempty"`
5364	// UsageState - State indicating whether web app has exceeded its quota usage. Possible values include: 'UsageStateNormal', 'UsageStateExceeded'
5365	UsageState UsageState `json:"usageState,omitempty"`
5366	// Enabled - True if the site is enabled; otherwise, false. Setting this  value to false disables the site (takes the site off line).
5367	Enabled *bool `json:"enabled,omitempty"`
5368	// EnabledHostNames - Hostnames for the web app that are enabled. Hostnames need to be assigned and enabled. If some hostnames are assigned but not enabled
5369	//             the app is not served on those hostnames
5370	EnabledHostNames *[]string `json:"enabledHostNames,omitempty"`
5371	// AvailabilityState - Management information availability state for the web app. Possible values are Normal or Limited.
5372	//             Normal means that the site is running correctly and that management information for the site is available.
5373	//             Limited means that only partial management information for the site is available and that detailed site information is unavailable. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode'
5374	AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"`
5375	// HostNameSslStates - Hostname SSL states are  used to manage the SSL bindings for site's hostnames.
5376	HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"`
5377	ServerFarmID      *string             `json:"serverFarmId,omitempty"`
5378	// LastModifiedTimeUtc - Last time web app was modified in UTC
5379	LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"`
5380	// SiteConfig - Configuration of web app
5381	SiteConfig *SiteConfig `json:"siteConfig,omitempty"`
5382	// TrafficManagerHostNames - Read-only list of Azure Traffic manager hostnames associated with web app
5383	TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"`
5384	// PremiumAppDeployed - If set indicates whether web app is deployed as a premium app
5385	PremiumAppDeployed *bool `json:"premiumAppDeployed,omitempty"`
5386	// ScmSiteAlsoStopped - If set indicates whether to stop SCM (KUDU) site when the web app is stopped. Default is false.
5387	ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"`
5388	// TargetSwapSlot - Read-only property that specifies which slot this app will swap into
5389	TargetSwapSlot *string `json:"targetSwapSlot,omitempty"`
5390	// HostingEnvironmentProfile - Specification for the hosting environment (App Service Environment) to use for the web app
5391	HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"`
5392	MicroService              *string                    `json:"microService,omitempty"`
5393	// GatewaySiteName - Name of gateway app associated with web app
5394	GatewaySiteName *string `json:"gatewaySiteName,omitempty"`
5395	// ClientAffinityEnabled - Specifies if the client affinity is enabled when load balancing http request for multiple instances of the web app
5396	ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"`
5397	// ClientCertEnabled - Specifies if the client certificate is enabled for the web app
5398	ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"`
5399	// HostNamesDisabled - Specifies if the public hostnames are disabled the web app.
5400	//             If set to true the app is only accessible via API Management process
5401	HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"`
5402	// OutboundIPAddresses - List of comma separated IP addresses that this web app uses for outbound connections. Those can be used when configuring firewall rules for databases accessed by this web app.
5403	OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"`
5404	// ContainerSize - Size of a function container
5405	ContainerSize *int32 `json:"containerSize,omitempty"`
5406	// MaxNumberOfWorkers - Maximum number of workers
5407	//             This only applies to function container
5408	MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"`
5409	// CloningInfo - This is only valid for web app creation. If specified, web app is cloned from
5410	//             a source web app
5411	CloningInfo *CloningInfo `json:"cloningInfo,omitempty"`
5412	// ResourceGroup - Resource group web app belongs to
5413	ResourceGroup *string `json:"resourceGroup,omitempty"`
5414	// IsDefaultContainer - Site is a default container
5415	IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"`
5416	// DefaultHostName - Default hostname of the web app
5417	DefaultHostName *string `json:"defaultHostName,omitempty"`
5418}
5419
5420// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5421// Deployment represents user crendentials used for publishing activity
5422type Deployment struct {
5423	autorest.Response     `json:"-"`
5424	*DeploymentProperties `json:"properties,omitempty"`
5425	// ID - Resource Id
5426	ID *string `json:"id,omitempty"`
5427	// Name - Resource Name
5428	Name *string `json:"name,omitempty"`
5429	// Kind - Kind of resource
5430	Kind *string `json:"kind,omitempty"`
5431	// Location - Resource Location
5432	Location *string `json:"location,omitempty"`
5433	// Type - Resource type
5434	Type *string `json:"type,omitempty"`
5435	// Tags - Resource tags
5436	Tags map[string]*string `json:"tags"`
5437}
5438
5439// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5440// MarshalJSON is the custom marshaler for Deployment.
5441func (d Deployment) MarshalJSON() ([]byte, error) {
5442	objectMap := make(map[string]interface{})
5443	if d.DeploymentProperties != nil {
5444		objectMap["properties"] = d.DeploymentProperties
5445	}
5446	if d.ID != nil {
5447		objectMap["id"] = d.ID
5448	}
5449	if d.Name != nil {
5450		objectMap["name"] = d.Name
5451	}
5452	if d.Kind != nil {
5453		objectMap["kind"] = d.Kind
5454	}
5455	if d.Location != nil {
5456		objectMap["location"] = d.Location
5457	}
5458	if d.Type != nil {
5459		objectMap["type"] = d.Type
5460	}
5461	if d.Tags != nil {
5462		objectMap["tags"] = d.Tags
5463	}
5464	return json.Marshal(objectMap)
5465}
5466
5467// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5468// UnmarshalJSON is the custom unmarshaler for Deployment struct.
5469func (d *Deployment) UnmarshalJSON(body []byte) error {
5470	var m map[string]*json.RawMessage
5471	err := json.Unmarshal(body, &m)
5472	if err != nil {
5473		return err
5474	}
5475	for k, v := range m {
5476		switch k {
5477		case "properties":
5478			if v != nil {
5479				var deploymentProperties DeploymentProperties
5480				err = json.Unmarshal(*v, &deploymentProperties)
5481				if err != nil {
5482					return err
5483				}
5484				d.DeploymentProperties = &deploymentProperties
5485			}
5486		case "id":
5487			if v != nil {
5488				var ID string
5489				err = json.Unmarshal(*v, &ID)
5490				if err != nil {
5491					return err
5492				}
5493				d.ID = &ID
5494			}
5495		case "name":
5496			if v != nil {
5497				var name string
5498				err = json.Unmarshal(*v, &name)
5499				if err != nil {
5500					return err
5501				}
5502				d.Name = &name
5503			}
5504		case "kind":
5505			if v != nil {
5506				var kind string
5507				err = json.Unmarshal(*v, &kind)
5508				if err != nil {
5509					return err
5510				}
5511				d.Kind = &kind
5512			}
5513		case "location":
5514			if v != nil {
5515				var location string
5516				err = json.Unmarshal(*v, &location)
5517				if err != nil {
5518					return err
5519				}
5520				d.Location = &location
5521			}
5522		case "type":
5523			if v != nil {
5524				var typeVar string
5525				err = json.Unmarshal(*v, &typeVar)
5526				if err != nil {
5527					return err
5528				}
5529				d.Type = &typeVar
5530			}
5531		case "tags":
5532			if v != nil {
5533				var tags map[string]*string
5534				err = json.Unmarshal(*v, &tags)
5535				if err != nil {
5536					return err
5537				}
5538				d.Tags = tags
5539			}
5540		}
5541	}
5542
5543	return nil
5544}
5545
5546// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5547// DeploymentCollection collection of app deployments
5548type DeploymentCollection struct {
5549	autorest.Response `json:"-"`
5550	// Value - Collection of resources
5551	Value *[]Deployment `json:"value,omitempty"`
5552	// NextLink - Link to next page of resources
5553	NextLink *string `json:"nextLink,omitempty"`
5554}
5555
5556// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5557// DeploymentCollectionIterator provides access to a complete listing of Deployment values.
5558type DeploymentCollectionIterator struct {
5559	i    int
5560	page DeploymentCollectionPage
5561}
5562
5563// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5564// Next advances to the next value.  If there was an error making
5565// the request the iterator does not advance and the error is returned.
5566func (iter *DeploymentCollectionIterator) Next() error {
5567	iter.i++
5568	if iter.i < len(iter.page.Values()) {
5569		return nil
5570	}
5571	err := iter.page.Next()
5572	if err != nil {
5573		iter.i--
5574		return err
5575	}
5576	iter.i = 0
5577	return nil
5578}
5579
5580// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5581// NotDone returns true if the enumeration should be started or is not yet complete.
5582func (iter DeploymentCollectionIterator) NotDone() bool {
5583	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5584}
5585
5586// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5587// Response returns the raw server response from the last page request.
5588func (iter DeploymentCollectionIterator) Response() DeploymentCollection {
5589	return iter.page.Response()
5590}
5591
5592// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5593// Value returns the current value or a zero-initialized value if the
5594// iterator has advanced beyond the end of the collection.
5595func (iter DeploymentCollectionIterator) Value() Deployment {
5596	if !iter.page.NotDone() {
5597		return Deployment{}
5598	}
5599	return iter.page.Values()[iter.i]
5600}
5601
5602// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5603// IsEmpty returns true if the ListResult contains no values.
5604func (dc DeploymentCollection) IsEmpty() bool {
5605	return dc.Value == nil || len(*dc.Value) == 0
5606}
5607
5608// deploymentCollectionPreparer prepares a request to retrieve the next set of results.
5609// It returns nil if no more results exist.
5610func (dc DeploymentCollection) deploymentCollectionPreparer() (*http.Request, error) {
5611	if dc.NextLink == nil || len(to.String(dc.NextLink)) < 1 {
5612		return nil, nil
5613	}
5614	return autorest.Prepare(&http.Request{},
5615		autorest.AsJSON(),
5616		autorest.AsGet(),
5617		autorest.WithBaseURL(to.String(dc.NextLink)))
5618}
5619
5620// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5621// DeploymentCollectionPage contains a page of Deployment values.
5622type DeploymentCollectionPage struct {
5623	fn func(DeploymentCollection) (DeploymentCollection, error)
5624	dc DeploymentCollection
5625}
5626
5627// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5628// Next advances to the next page of values.  If there was an error making
5629// the request the page does not advance and the error is returned.
5630func (page *DeploymentCollectionPage) Next() error {
5631	next, err := page.fn(page.dc)
5632	if err != nil {
5633		return err
5634	}
5635	page.dc = next
5636	return nil
5637}
5638
5639// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5640// NotDone returns true if the page enumeration should be started or is not yet complete.
5641func (page DeploymentCollectionPage) NotDone() bool {
5642	return !page.dc.IsEmpty()
5643}
5644
5645// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5646// Response returns the raw server response from the last page request.
5647func (page DeploymentCollectionPage) Response() DeploymentCollection {
5648	return page.dc
5649}
5650
5651// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5652// Values returns the slice of values for the current page or nil if there are no values.
5653func (page DeploymentCollectionPage) Values() []Deployment {
5654	if page.dc.IsEmpty() {
5655		return nil
5656	}
5657	return *page.dc.Value
5658}
5659
5660// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5661// DeploymentProperties ...
5662type DeploymentProperties struct {
5663	// ID - Id
5664	ID *string `json:"id,omitempty"`
5665	// Status - Status
5666	Status *int32 `json:"status,omitempty"`
5667	// Message - Message
5668	Message *string `json:"message,omitempty"`
5669	// Author - Author
5670	Author *string `json:"author,omitempty"`
5671	// Deployer - Deployer
5672	Deployer *string `json:"deployer,omitempty"`
5673	// AuthorEmail - AuthorEmail
5674	AuthorEmail *string `json:"author_email,omitempty"`
5675	// StartTime - StartTime
5676	StartTime *date.Time `json:"start_time,omitempty"`
5677	// EndTime - EndTime
5678	EndTime *date.Time `json:"end_time,omitempty"`
5679	// Active - Active
5680	Active *bool `json:"active,omitempty"`
5681	// Details - Detail
5682	Details *string `json:"details,omitempty"`
5683}
5684
5685// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5686// Domain represents a domain
5687type Domain struct {
5688	autorest.Response `json:"-"`
5689	*DomainProperties `json:"properties,omitempty"`
5690	// ID - Resource Id
5691	ID *string `json:"id,omitempty"`
5692	// Name - Resource Name
5693	Name *string `json:"name,omitempty"`
5694	// Kind - Kind of resource
5695	Kind *string `json:"kind,omitempty"`
5696	// Location - Resource Location
5697	Location *string `json:"location,omitempty"`
5698	// Type - Resource type
5699	Type *string `json:"type,omitempty"`
5700	// Tags - Resource tags
5701	Tags map[string]*string `json:"tags"`
5702}
5703
5704// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5705// MarshalJSON is the custom marshaler for Domain.
5706func (d Domain) MarshalJSON() ([]byte, error) {
5707	objectMap := make(map[string]interface{})
5708	if d.DomainProperties != nil {
5709		objectMap["properties"] = d.DomainProperties
5710	}
5711	if d.ID != nil {
5712		objectMap["id"] = d.ID
5713	}
5714	if d.Name != nil {
5715		objectMap["name"] = d.Name
5716	}
5717	if d.Kind != nil {
5718		objectMap["kind"] = d.Kind
5719	}
5720	if d.Location != nil {
5721		objectMap["location"] = d.Location
5722	}
5723	if d.Type != nil {
5724		objectMap["type"] = d.Type
5725	}
5726	if d.Tags != nil {
5727		objectMap["tags"] = d.Tags
5728	}
5729	return json.Marshal(objectMap)
5730}
5731
5732// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5733// UnmarshalJSON is the custom unmarshaler for Domain struct.
5734func (d *Domain) UnmarshalJSON(body []byte) error {
5735	var m map[string]*json.RawMessage
5736	err := json.Unmarshal(body, &m)
5737	if err != nil {
5738		return err
5739	}
5740	for k, v := range m {
5741		switch k {
5742		case "properties":
5743			if v != nil {
5744				var domainProperties DomainProperties
5745				err = json.Unmarshal(*v, &domainProperties)
5746				if err != nil {
5747					return err
5748				}
5749				d.DomainProperties = &domainProperties
5750			}
5751		case "id":
5752			if v != nil {
5753				var ID string
5754				err = json.Unmarshal(*v, &ID)
5755				if err != nil {
5756					return err
5757				}
5758				d.ID = &ID
5759			}
5760		case "name":
5761			if v != nil {
5762				var name string
5763				err = json.Unmarshal(*v, &name)
5764				if err != nil {
5765					return err
5766				}
5767				d.Name = &name
5768			}
5769		case "kind":
5770			if v != nil {
5771				var kind string
5772				err = json.Unmarshal(*v, &kind)
5773				if err != nil {
5774					return err
5775				}
5776				d.Kind = &kind
5777			}
5778		case "location":
5779			if v != nil {
5780				var location string
5781				err = json.Unmarshal(*v, &location)
5782				if err != nil {
5783					return err
5784				}
5785				d.Location = &location
5786			}
5787		case "type":
5788			if v != nil {
5789				var typeVar string
5790				err = json.Unmarshal(*v, &typeVar)
5791				if err != nil {
5792					return err
5793				}
5794				d.Type = &typeVar
5795			}
5796		case "tags":
5797			if v != nil {
5798				var tags map[string]*string
5799				err = json.Unmarshal(*v, &tags)
5800				if err != nil {
5801					return err
5802				}
5803				d.Tags = tags
5804			}
5805		}
5806	}
5807
5808	return nil
5809}
5810
5811// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5812// DomainAvailablilityCheckResult domain availablility check result
5813type DomainAvailablilityCheckResult struct {
5814	autorest.Response `json:"-"`
5815	// Name - Name of the domain
5816	Name *string `json:"name,omitempty"`
5817	// Available - If true then domain can be purchased using CreateDomain Api
5818	Available *bool `json:"available,omitempty"`
5819	// DomainType - Domain type. Possible values include: 'Regular', 'SoftDeleted'
5820	DomainType DomainType `json:"domainType,omitempty"`
5821}
5822
5823// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5824// DomainCollection collection of domains
5825type DomainCollection struct {
5826	autorest.Response `json:"-"`
5827	// Value - Collection of resources
5828	Value *[]Domain `json:"value,omitempty"`
5829	// NextLink - Link to next page of resources
5830	NextLink *string `json:"nextLink,omitempty"`
5831}
5832
5833// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5834// DomainCollectionIterator provides access to a complete listing of Domain values.
5835type DomainCollectionIterator struct {
5836	i    int
5837	page DomainCollectionPage
5838}
5839
5840// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5841// Next advances to the next value.  If there was an error making
5842// the request the iterator does not advance and the error is returned.
5843func (iter *DomainCollectionIterator) Next() error {
5844	iter.i++
5845	if iter.i < len(iter.page.Values()) {
5846		return nil
5847	}
5848	err := iter.page.Next()
5849	if err != nil {
5850		iter.i--
5851		return err
5852	}
5853	iter.i = 0
5854	return nil
5855}
5856
5857// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5858// NotDone returns true if the enumeration should be started or is not yet complete.
5859func (iter DomainCollectionIterator) NotDone() bool {
5860	return iter.page.NotDone() && iter.i < len(iter.page.Values())
5861}
5862
5863// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5864// Response returns the raw server response from the last page request.
5865func (iter DomainCollectionIterator) Response() DomainCollection {
5866	return iter.page.Response()
5867}
5868
5869// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5870// Value returns the current value or a zero-initialized value if the
5871// iterator has advanced beyond the end of the collection.
5872func (iter DomainCollectionIterator) Value() Domain {
5873	if !iter.page.NotDone() {
5874		return Domain{}
5875	}
5876	return iter.page.Values()[iter.i]
5877}
5878
5879// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5880// IsEmpty returns true if the ListResult contains no values.
5881func (dc DomainCollection) IsEmpty() bool {
5882	return dc.Value == nil || len(*dc.Value) == 0
5883}
5884
5885// domainCollectionPreparer prepares a request to retrieve the next set of results.
5886// It returns nil if no more results exist.
5887func (dc DomainCollection) domainCollectionPreparer() (*http.Request, error) {
5888	if dc.NextLink == nil || len(to.String(dc.NextLink)) < 1 {
5889		return nil, nil
5890	}
5891	return autorest.Prepare(&http.Request{},
5892		autorest.AsJSON(),
5893		autorest.AsGet(),
5894		autorest.WithBaseURL(to.String(dc.NextLink)))
5895}
5896
5897// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5898// DomainCollectionPage contains a page of Domain values.
5899type DomainCollectionPage struct {
5900	fn func(DomainCollection) (DomainCollection, error)
5901	dc DomainCollection
5902}
5903
5904// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5905// Next advances to the next page of values.  If there was an error making
5906// the request the page does not advance and the error is returned.
5907func (page *DomainCollectionPage) Next() error {
5908	next, err := page.fn(page.dc)
5909	if err != nil {
5910		return err
5911	}
5912	page.dc = next
5913	return nil
5914}
5915
5916// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5917// NotDone returns true if the page enumeration should be started or is not yet complete.
5918func (page DomainCollectionPage) NotDone() bool {
5919	return !page.dc.IsEmpty()
5920}
5921
5922// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5923// Response returns the raw server response from the last page request.
5924func (page DomainCollectionPage) Response() DomainCollection {
5925	return page.dc
5926}
5927
5928// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5929// Values returns the slice of values for the current page or nil if there are no values.
5930func (page DomainCollectionPage) Values() []Domain {
5931	if page.dc.IsEmpty() {
5932		return nil
5933	}
5934	return *page.dc.Value
5935}
5936
5937// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5938// DomainControlCenterSsoRequest single sign on request information for domain management
5939type DomainControlCenterSsoRequest struct {
5940	autorest.Response `json:"-"`
5941	// URL - Url where the single sign on request is to be made
5942	URL *string `json:"url,omitempty"`
5943	// PostParameterKey - Post parameter key
5944	PostParameterKey *string `json:"postParameterKey,omitempty"`
5945	// PostParameterValue - Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value.
5946	PostParameterValue *string `json:"postParameterValue,omitempty"`
5947}
5948
5949// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5950// DomainProperties ...
5951type DomainProperties struct {
5952	// ContactAdmin - Admin contact information
5953	ContactAdmin *Contact `json:"contactAdmin,omitempty"`
5954	// ContactBilling - Billing contact information
5955	ContactBilling *Contact `json:"contactBilling,omitempty"`
5956	// ContactRegistrant - Registrant contact information
5957	ContactRegistrant *Contact `json:"contactRegistrant,omitempty"`
5958	// ContactTech - Technical contact information
5959	ContactTech *Contact `json:"contactTech,omitempty"`
5960	// RegistrationStatus - 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'
5961	RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"`
5962	// ProvisioningState - Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting'
5963	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
5964	// NameServers - Name servers
5965	NameServers *[]string `json:"nameServers,omitempty"`
5966	// Privacy - If true then domain privacy is enabled for this domain
5967	Privacy *bool `json:"privacy,omitempty"`
5968	// CreatedTime - Domain creation timestamp
5969	CreatedTime *date.Time `json:"createdTime,omitempty"`
5970	// ExpirationTime - Domain expiration timestamp
5971	ExpirationTime *date.Time `json:"expirationTime,omitempty"`
5972	// LastRenewedTime - Timestamp when the domain was renewed last time
5973	LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"`
5974	// AutoRenew - If true then domain will renewed automatically
5975	AutoRenew *bool `json:"autoRenew,omitempty"`
5976	// ReadyForDNSRecordManagement - If true then Azure can assign this domain to Web Apps. This value will be true if domain registration status is active and it is hosted on name servers Azure has programmatic access to
5977	ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"`
5978	// ManagedHostNames - All hostnames derived from the domain and assigned to Azure resources
5979	ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"`
5980	// Consent - Legal agreement consent
5981	Consent *DomainPurchaseConsent `json:"consent,omitempty"`
5982	// DomainNotRenewableReasons - Reasons why domain is not renewable
5983	DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"`
5984}
5985
5986// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5987// DomainPurchaseConsent domain purchase consent object representing acceptance of applicable legal agreements
5988type DomainPurchaseConsent struct {
5989	// AgreementKeys - List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements Api under TopLevelDomain resource
5990	AgreementKeys *[]string `json:"agreementKeys,omitempty"`
5991	// AgreedBy - Client IP address
5992	AgreedBy *string `json:"agreedBy,omitempty"`
5993	// AgreedAt - Timestamp when the agreements were accepted
5994	AgreedAt *date.Time `json:"agreedAt,omitempty"`
5995}
5996
5997// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
5998// DomainRecommendationSearchParameters domain recommendation search parameters
5999type DomainRecommendationSearchParameters struct {
6000	// Keywords - Keywords to be used for generating domain recommendations
6001	Keywords *string `json:"keywords,omitempty"`
6002	// MaxDomainRecommendations - Maximum number of recommendations
6003	MaxDomainRecommendations *int32 `json:"maxDomainRecommendations,omitempty"`
6004}
6005
6006// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6007// DomainRegistrationInput domain registration input for validation Api
6008type DomainRegistrationInput struct {
6009	*DomainRegistrationInputProperties `json:"properties,omitempty"`
6010	// ID - Resource Id
6011	ID *string `json:"id,omitempty"`
6012	// Name - Resource Name
6013	Name *string `json:"name,omitempty"`
6014	// Kind - Kind of resource
6015	Kind *string `json:"kind,omitempty"`
6016	// Location - Resource Location
6017	Location *string `json:"location,omitempty"`
6018	// Type - Resource type
6019	Type *string `json:"type,omitempty"`
6020	// Tags - Resource tags
6021	Tags map[string]*string `json:"tags"`
6022}
6023
6024// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6025// MarshalJSON is the custom marshaler for DomainRegistrationInput.
6026func (dri DomainRegistrationInput) MarshalJSON() ([]byte, error) {
6027	objectMap := make(map[string]interface{})
6028	if dri.DomainRegistrationInputProperties != nil {
6029		objectMap["properties"] = dri.DomainRegistrationInputProperties
6030	}
6031	if dri.ID != nil {
6032		objectMap["id"] = dri.ID
6033	}
6034	if dri.Name != nil {
6035		objectMap["name"] = dri.Name
6036	}
6037	if dri.Kind != nil {
6038		objectMap["kind"] = dri.Kind
6039	}
6040	if dri.Location != nil {
6041		objectMap["location"] = dri.Location
6042	}
6043	if dri.Type != nil {
6044		objectMap["type"] = dri.Type
6045	}
6046	if dri.Tags != nil {
6047		objectMap["tags"] = dri.Tags
6048	}
6049	return json.Marshal(objectMap)
6050}
6051
6052// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6053// UnmarshalJSON is the custom unmarshaler for DomainRegistrationInput struct.
6054func (dri *DomainRegistrationInput) UnmarshalJSON(body []byte) error {
6055	var m map[string]*json.RawMessage
6056	err := json.Unmarshal(body, &m)
6057	if err != nil {
6058		return err
6059	}
6060	for k, v := range m {
6061		switch k {
6062		case "properties":
6063			if v != nil {
6064				var domainRegistrationInputProperties DomainRegistrationInputProperties
6065				err = json.Unmarshal(*v, &domainRegistrationInputProperties)
6066				if err != nil {
6067					return err
6068				}
6069				dri.DomainRegistrationInputProperties = &domainRegistrationInputProperties
6070			}
6071		case "id":
6072			if v != nil {
6073				var ID string
6074				err = json.Unmarshal(*v, &ID)
6075				if err != nil {
6076					return err
6077				}
6078				dri.ID = &ID
6079			}
6080		case "name":
6081			if v != nil {
6082				var name string
6083				err = json.Unmarshal(*v, &name)
6084				if err != nil {
6085					return err
6086				}
6087				dri.Name = &name
6088			}
6089		case "kind":
6090			if v != nil {
6091				var kind string
6092				err = json.Unmarshal(*v, &kind)
6093				if err != nil {
6094					return err
6095				}
6096				dri.Kind = &kind
6097			}
6098		case "location":
6099			if v != nil {
6100				var location string
6101				err = json.Unmarshal(*v, &location)
6102				if err != nil {
6103					return err
6104				}
6105				dri.Location = &location
6106			}
6107		case "type":
6108			if v != nil {
6109				var typeVar string
6110				err = json.Unmarshal(*v, &typeVar)
6111				if err != nil {
6112					return err
6113				}
6114				dri.Type = &typeVar
6115			}
6116		case "tags":
6117			if v != nil {
6118				var tags map[string]*string
6119				err = json.Unmarshal(*v, &tags)
6120				if err != nil {
6121					return err
6122				}
6123				dri.Tags = tags
6124			}
6125		}
6126	}
6127
6128	return nil
6129}
6130
6131// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6132// DomainRegistrationInputProperties ...
6133type DomainRegistrationInputProperties struct {
6134	// Name - Name of the domain
6135	Name *string `json:"name,omitempty"`
6136	// ContactAdmin - Admin contact information
6137	ContactAdmin *Contact `json:"contactAdmin,omitempty"`
6138	// ContactBilling - Billing contact information
6139	ContactBilling *Contact `json:"contactBilling,omitempty"`
6140	// ContactRegistrant - Registrant contact information
6141	ContactRegistrant *Contact `json:"contactRegistrant,omitempty"`
6142	// ContactTech - Technical contact information
6143	ContactTech *Contact `json:"contactTech,omitempty"`
6144	// RegistrationStatus - 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'
6145	RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"`
6146	// ProvisioningState - Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting'
6147	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
6148	// NameServers - Name servers
6149	NameServers *[]string `json:"nameServers,omitempty"`
6150	// Privacy - If true then domain privacy is enabled for this domain
6151	Privacy *bool `json:"privacy,omitempty"`
6152	// CreatedTime - Domain creation timestamp
6153	CreatedTime *date.Time `json:"createdTime,omitempty"`
6154	// ExpirationTime - Domain expiration timestamp
6155	ExpirationTime *date.Time `json:"expirationTime,omitempty"`
6156	// LastRenewedTime - Timestamp when the domain was renewed last time
6157	LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"`
6158	// AutoRenew - If true then domain will renewed automatically
6159	AutoRenew *bool `json:"autoRenew,omitempty"`
6160	// ReadyForDNSRecordManagement - If true then Azure can assign this domain to Web Apps. This value will be true if domain registration status is active and it is hosted on name servers Azure has programmatic access to
6161	ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"`
6162	// ManagedHostNames - All hostnames derived from the domain and assigned to Azure resources
6163	ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"`
6164	// Consent - Legal agreement consent
6165	Consent *DomainPurchaseConsent `json:"consent,omitempty"`
6166	// DomainNotRenewableReasons - Reasons why domain is not renewable
6167	DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"`
6168}
6169
6170// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6171// EnabledConfig enabled configuration
6172type EnabledConfig struct {
6173	// Enabled - Enabled
6174	Enabled *bool `json:"enabled,omitempty"`
6175}
6176
6177// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6178// ExpandedParentAPIEntity expanded parent object for expansion
6179type ExpandedParentAPIEntity struct {
6180	*ExpandedParentAPIEntityProperties `json:"properties,omitempty"`
6181	// ID - Resource Id
6182	ID *string `json:"id,omitempty"`
6183	// Name - Resource Name
6184	Name *string `json:"name,omitempty"`
6185	// Kind - Kind of resource
6186	Kind *string `json:"kind,omitempty"`
6187	// Location - Resource Location
6188	Location *string `json:"location,omitempty"`
6189	// Type - Resource type
6190	Type *string `json:"type,omitempty"`
6191	// Tags - Resource tags
6192	Tags map[string]*string `json:"tags"`
6193}
6194
6195// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6196// MarshalJSON is the custom marshaler for ExpandedParentAPIEntity.
6197func (epAe ExpandedParentAPIEntity) MarshalJSON() ([]byte, error) {
6198	objectMap := make(map[string]interface{})
6199	if epAe.ExpandedParentAPIEntityProperties != nil {
6200		objectMap["properties"] = epAe.ExpandedParentAPIEntityProperties
6201	}
6202	if epAe.ID != nil {
6203		objectMap["id"] = epAe.ID
6204	}
6205	if epAe.Name != nil {
6206		objectMap["name"] = epAe.Name
6207	}
6208	if epAe.Kind != nil {
6209		objectMap["kind"] = epAe.Kind
6210	}
6211	if epAe.Location != nil {
6212		objectMap["location"] = epAe.Location
6213	}
6214	if epAe.Type != nil {
6215		objectMap["type"] = epAe.Type
6216	}
6217	if epAe.Tags != nil {
6218		objectMap["tags"] = epAe.Tags
6219	}
6220	return json.Marshal(objectMap)
6221}
6222
6223// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6224// UnmarshalJSON is the custom unmarshaler for ExpandedParentAPIEntity struct.
6225func (epAe *ExpandedParentAPIEntity) UnmarshalJSON(body []byte) error {
6226	var m map[string]*json.RawMessage
6227	err := json.Unmarshal(body, &m)
6228	if err != nil {
6229		return err
6230	}
6231	for k, v := range m {
6232		switch k {
6233		case "properties":
6234			if v != nil {
6235				var expandedParentAPIEntityProperties ExpandedParentAPIEntityProperties
6236				err = json.Unmarshal(*v, &expandedParentAPIEntityProperties)
6237				if err != nil {
6238					return err
6239				}
6240				epAe.ExpandedParentAPIEntityProperties = &expandedParentAPIEntityProperties
6241			}
6242		case "id":
6243			if v != nil {
6244				var ID string
6245				err = json.Unmarshal(*v, &ID)
6246				if err != nil {
6247					return err
6248				}
6249				epAe.ID = &ID
6250			}
6251		case "name":
6252			if v != nil {
6253				var name string
6254				err = json.Unmarshal(*v, &name)
6255				if err != nil {
6256					return err
6257				}
6258				epAe.Name = &name
6259			}
6260		case "kind":
6261			if v != nil {
6262				var kind string
6263				err = json.Unmarshal(*v, &kind)
6264				if err != nil {
6265					return err
6266				}
6267				epAe.Kind = &kind
6268			}
6269		case "location":
6270			if v != nil {
6271				var location string
6272				err = json.Unmarshal(*v, &location)
6273				if err != nil {
6274					return err
6275				}
6276				epAe.Location = &location
6277			}
6278		case "type":
6279			if v != nil {
6280				var typeVar string
6281				err = json.Unmarshal(*v, &typeVar)
6282				if err != nil {
6283					return err
6284				}
6285				epAe.Type = &typeVar
6286			}
6287		case "tags":
6288			if v != nil {
6289				var tags map[string]*string
6290				err = json.Unmarshal(*v, &tags)
6291				if err != nil {
6292					return err
6293				}
6294				epAe.Tags = tags
6295			}
6296		}
6297	}
6298
6299	return nil
6300}
6301
6302// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6303// ExpandedParentAPIEntityProperties ...
6304type ExpandedParentAPIEntityProperties struct {
6305	// ID - Id of connection provider
6306	ID *string `json:"id,omitempty"`
6307	// Entity - Id of connection provider
6308	Entity *ResponseMessageEnvelopeAPIEntity `json:"entity,omitempty"`
6309}
6310
6311// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6312// Experiments class containing Routing in production experiments
6313type Experiments struct {
6314	// RampUpRules - List of {Microsoft.Web.Hosting.Administration.RampUpRule} objects.
6315	RampUpRules *[]RampUpRule `json:"rampUpRules,omitempty"`
6316}
6317
6318// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6319// FileSystemApplicationLogsConfig application logs to file system configuration
6320type FileSystemApplicationLogsConfig struct {
6321	// Level - Log level. Possible values include: 'LogLevelOff', 'LogLevelVerbose', 'LogLevelInformation', 'LogLevelWarning', 'LogLevelError'
6322	Level LogLevel `json:"level,omitempty"`
6323}
6324
6325// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6326// FileSystemHTTPLogsConfig http logs to file system configuration
6327type FileSystemHTTPLogsConfig struct {
6328	// RetentionInMb - Maximum size in megabytes that http log files can use.
6329	//             When reached old log files will be removed to make space for new ones.
6330	//             Value can range between 25 and 100.
6331	RetentionInMb *int32 `json:"retentionInMb,omitempty"`
6332	// RetentionInDays - Retention in days.
6333	//             Remove files older than X days.
6334	//             0 or lower means no retention.
6335	RetentionInDays *int32 `json:"retentionInDays,omitempty"`
6336	// Enabled - Enabled
6337	Enabled *bool `json:"enabled,omitempty"`
6338}
6339
6340// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6341// GeneralAPIInformation general API information
6342type GeneralAPIInformation struct {
6343	*GeneralAPIInformationProperties `json:"properties,omitempty"`
6344	// ID - Resource Id
6345	ID *string `json:"id,omitempty"`
6346	// Name - Resource Name
6347	Name *string `json:"name,omitempty"`
6348	// Kind - Kind of resource
6349	Kind *string `json:"kind,omitempty"`
6350	// Location - Resource Location
6351	Location *string `json:"location,omitempty"`
6352	// Type - Resource type
6353	Type *string `json:"type,omitempty"`
6354	// Tags - Resource tags
6355	Tags map[string]*string `json:"tags"`
6356}
6357
6358// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6359// MarshalJSON is the custom marshaler for GeneralAPIInformation.
6360func (gai GeneralAPIInformation) MarshalJSON() ([]byte, error) {
6361	objectMap := make(map[string]interface{})
6362	if gai.GeneralAPIInformationProperties != nil {
6363		objectMap["properties"] = gai.GeneralAPIInformationProperties
6364	}
6365	if gai.ID != nil {
6366		objectMap["id"] = gai.ID
6367	}
6368	if gai.Name != nil {
6369		objectMap["name"] = gai.Name
6370	}
6371	if gai.Kind != nil {
6372		objectMap["kind"] = gai.Kind
6373	}
6374	if gai.Location != nil {
6375		objectMap["location"] = gai.Location
6376	}
6377	if gai.Type != nil {
6378		objectMap["type"] = gai.Type
6379	}
6380	if gai.Tags != nil {
6381		objectMap["tags"] = gai.Tags
6382	}
6383	return json.Marshal(objectMap)
6384}
6385
6386// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6387// UnmarshalJSON is the custom unmarshaler for GeneralAPIInformation struct.
6388func (gai *GeneralAPIInformation) UnmarshalJSON(body []byte) error {
6389	var m map[string]*json.RawMessage
6390	err := json.Unmarshal(body, &m)
6391	if err != nil {
6392		return err
6393	}
6394	for k, v := range m {
6395		switch k {
6396		case "properties":
6397			if v != nil {
6398				var generalAPIInformationProperties GeneralAPIInformationProperties
6399				err = json.Unmarshal(*v, &generalAPIInformationProperties)
6400				if err != nil {
6401					return err
6402				}
6403				gai.GeneralAPIInformationProperties = &generalAPIInformationProperties
6404			}
6405		case "id":
6406			if v != nil {
6407				var ID string
6408				err = json.Unmarshal(*v, &ID)
6409				if err != nil {
6410					return err
6411				}
6412				gai.ID = &ID
6413			}
6414		case "name":
6415			if v != nil {
6416				var name string
6417				err = json.Unmarshal(*v, &name)
6418				if err != nil {
6419					return err
6420				}
6421				gai.Name = &name
6422			}
6423		case "kind":
6424			if v != nil {
6425				var kind string
6426				err = json.Unmarshal(*v, &kind)
6427				if err != nil {
6428					return err
6429				}
6430				gai.Kind = &kind
6431			}
6432		case "location":
6433			if v != nil {
6434				var location string
6435				err = json.Unmarshal(*v, &location)
6436				if err != nil {
6437					return err
6438				}
6439				gai.Location = &location
6440			}
6441		case "type":
6442			if v != nil {
6443				var typeVar string
6444				err = json.Unmarshal(*v, &typeVar)
6445				if err != nil {
6446					return err
6447				}
6448				gai.Type = &typeVar
6449			}
6450		case "tags":
6451			if v != nil {
6452				var tags map[string]*string
6453				err = json.Unmarshal(*v, &tags)
6454				if err != nil {
6455					return err
6456				}
6457				gai.Tags = tags
6458			}
6459		}
6460	}
6461
6462	return nil
6463}
6464
6465// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6466// GeneralAPIInformationProperties ...
6467type GeneralAPIInformationProperties struct {
6468	// IconURL - Icon Url
6469	IconURL *string `json:"iconUrl,omitempty"`
6470	// DisplayName - Display Name
6471	DisplayName *string `json:"displayName,omitempty"`
6472	// Description - Description
6473	Description *string `json:"description,omitempty"`
6474	// TermsOfUseURL - a public accessible url of the Terms Of Use Url of this API
6475	TermsOfUseURL *string `json:"termsOfUseUrl,omitempty"`
6476	// ConnectionDisplayName - DefaultConnectionNameTemplate
6477	ConnectionDisplayName *string `json:"connectionDisplayName,omitempty"`
6478	// ConnectionPortalURL - ConnectionPortalUrl
6479	ConnectionPortalURL interface{} `json:"connectionPortalUrl,omitempty"`
6480}
6481
6482// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6483// GeoRegion geographical region
6484type GeoRegion struct {
6485	*GeoRegionProperties `json:"properties,omitempty"`
6486	// ID - Resource Id
6487	ID *string `json:"id,omitempty"`
6488	// Name - Resource Name
6489	Name *string `json:"name,omitempty"`
6490	// Kind - Kind of resource
6491	Kind *string `json:"kind,omitempty"`
6492	// Location - Resource Location
6493	Location *string `json:"location,omitempty"`
6494	// Type - Resource type
6495	Type *string `json:"type,omitempty"`
6496	// Tags - Resource tags
6497	Tags map[string]*string `json:"tags"`
6498}
6499
6500// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6501// MarshalJSON is the custom marshaler for GeoRegion.
6502func (gr GeoRegion) MarshalJSON() ([]byte, error) {
6503	objectMap := make(map[string]interface{})
6504	if gr.GeoRegionProperties != nil {
6505		objectMap["properties"] = gr.GeoRegionProperties
6506	}
6507	if gr.ID != nil {
6508		objectMap["id"] = gr.ID
6509	}
6510	if gr.Name != nil {
6511		objectMap["name"] = gr.Name
6512	}
6513	if gr.Kind != nil {
6514		objectMap["kind"] = gr.Kind
6515	}
6516	if gr.Location != nil {
6517		objectMap["location"] = gr.Location
6518	}
6519	if gr.Type != nil {
6520		objectMap["type"] = gr.Type
6521	}
6522	if gr.Tags != nil {
6523		objectMap["tags"] = gr.Tags
6524	}
6525	return json.Marshal(objectMap)
6526}
6527
6528// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6529// UnmarshalJSON is the custom unmarshaler for GeoRegion struct.
6530func (gr *GeoRegion) UnmarshalJSON(body []byte) error {
6531	var m map[string]*json.RawMessage
6532	err := json.Unmarshal(body, &m)
6533	if err != nil {
6534		return err
6535	}
6536	for k, v := range m {
6537		switch k {
6538		case "properties":
6539			if v != nil {
6540				var geoRegionProperties GeoRegionProperties
6541				err = json.Unmarshal(*v, &geoRegionProperties)
6542				if err != nil {
6543					return err
6544				}
6545				gr.GeoRegionProperties = &geoRegionProperties
6546			}
6547		case "id":
6548			if v != nil {
6549				var ID string
6550				err = json.Unmarshal(*v, &ID)
6551				if err != nil {
6552					return err
6553				}
6554				gr.ID = &ID
6555			}
6556		case "name":
6557			if v != nil {
6558				var name string
6559				err = json.Unmarshal(*v, &name)
6560				if err != nil {
6561					return err
6562				}
6563				gr.Name = &name
6564			}
6565		case "kind":
6566			if v != nil {
6567				var kind string
6568				err = json.Unmarshal(*v, &kind)
6569				if err != nil {
6570					return err
6571				}
6572				gr.Kind = &kind
6573			}
6574		case "location":
6575			if v != nil {
6576				var location string
6577				err = json.Unmarshal(*v, &location)
6578				if err != nil {
6579					return err
6580				}
6581				gr.Location = &location
6582			}
6583		case "type":
6584			if v != nil {
6585				var typeVar string
6586				err = json.Unmarshal(*v, &typeVar)
6587				if err != nil {
6588					return err
6589				}
6590				gr.Type = &typeVar
6591			}
6592		case "tags":
6593			if v != nil {
6594				var tags map[string]*string
6595				err = json.Unmarshal(*v, &tags)
6596				if err != nil {
6597					return err
6598				}
6599				gr.Tags = tags
6600			}
6601		}
6602	}
6603
6604	return nil
6605}
6606
6607// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6608// GeoRegionCollection collection of geo regions
6609type GeoRegionCollection struct {
6610	autorest.Response `json:"-"`
6611	// Value - Collection of resources
6612	Value *[]GeoRegion `json:"value,omitempty"`
6613	// NextLink - Link to next page of resources
6614	NextLink *string `json:"nextLink,omitempty"`
6615}
6616
6617// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6618// GeoRegionCollectionIterator provides access to a complete listing of GeoRegion values.
6619type GeoRegionCollectionIterator struct {
6620	i    int
6621	page GeoRegionCollectionPage
6622}
6623
6624// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6625// Next advances to the next value.  If there was an error making
6626// the request the iterator does not advance and the error is returned.
6627func (iter *GeoRegionCollectionIterator) Next() error {
6628	iter.i++
6629	if iter.i < len(iter.page.Values()) {
6630		return nil
6631	}
6632	err := iter.page.Next()
6633	if err != nil {
6634		iter.i--
6635		return err
6636	}
6637	iter.i = 0
6638	return nil
6639}
6640
6641// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6642// NotDone returns true if the enumeration should be started or is not yet complete.
6643func (iter GeoRegionCollectionIterator) NotDone() bool {
6644	return iter.page.NotDone() && iter.i < len(iter.page.Values())
6645}
6646
6647// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6648// Response returns the raw server response from the last page request.
6649func (iter GeoRegionCollectionIterator) Response() GeoRegionCollection {
6650	return iter.page.Response()
6651}
6652
6653// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6654// Value returns the current value or a zero-initialized value if the
6655// iterator has advanced beyond the end of the collection.
6656func (iter GeoRegionCollectionIterator) Value() GeoRegion {
6657	if !iter.page.NotDone() {
6658		return GeoRegion{}
6659	}
6660	return iter.page.Values()[iter.i]
6661}
6662
6663// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6664// IsEmpty returns true if the ListResult contains no values.
6665func (grc GeoRegionCollection) IsEmpty() bool {
6666	return grc.Value == nil || len(*grc.Value) == 0
6667}
6668
6669// geoRegionCollectionPreparer prepares a request to retrieve the next set of results.
6670// It returns nil if no more results exist.
6671func (grc GeoRegionCollection) geoRegionCollectionPreparer() (*http.Request, error) {
6672	if grc.NextLink == nil || len(to.String(grc.NextLink)) < 1 {
6673		return nil, nil
6674	}
6675	return autorest.Prepare(&http.Request{},
6676		autorest.AsJSON(),
6677		autorest.AsGet(),
6678		autorest.WithBaseURL(to.String(grc.NextLink)))
6679}
6680
6681// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6682// GeoRegionCollectionPage contains a page of GeoRegion values.
6683type GeoRegionCollectionPage struct {
6684	fn  func(GeoRegionCollection) (GeoRegionCollection, error)
6685	grc GeoRegionCollection
6686}
6687
6688// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6689// Next advances to the next page of values.  If there was an error making
6690// the request the page does not advance and the error is returned.
6691func (page *GeoRegionCollectionPage) Next() error {
6692	next, err := page.fn(page.grc)
6693	if err != nil {
6694		return err
6695	}
6696	page.grc = next
6697	return nil
6698}
6699
6700// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6701// NotDone returns true if the page enumeration should be started or is not yet complete.
6702func (page GeoRegionCollectionPage) NotDone() bool {
6703	return !page.grc.IsEmpty()
6704}
6705
6706// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6707// Response returns the raw server response from the last page request.
6708func (page GeoRegionCollectionPage) Response() GeoRegionCollection {
6709	return page.grc
6710}
6711
6712// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6713// Values returns the slice of values for the current page or nil if there are no values.
6714func (page GeoRegionCollectionPage) Values() []GeoRegion {
6715	if page.grc.IsEmpty() {
6716		return nil
6717	}
6718	return *page.grc.Value
6719}
6720
6721// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6722// GeoRegionProperties ...
6723type GeoRegionProperties struct {
6724	// Name - Region name
6725	Name *string `json:"name,omitempty"`
6726	// Description - Region description
6727	Description *string `json:"description,omitempty"`
6728	// DisplayName - Display name for region
6729	DisplayName *string `json:"displayName,omitempty"`
6730}
6731
6732// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6733// HandlerMapping the IIS handler mappings used to define which handler processes HTTP requests with certain
6734// extension.
6735// For example it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.
6736type HandlerMapping struct {
6737	// Extension - Requests with this extension will be handled using the specified FastCGI application.
6738	Extension *string `json:"extension,omitempty"`
6739	// ScriptProcessor - The absolute path to the FastCGI application.
6740	ScriptProcessor *string `json:"scriptProcessor,omitempty"`
6741	// Arguments - Command-line arguments to be passed to the script processor.
6742	Arguments *string `json:"arguments,omitempty"`
6743}
6744
6745// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6746// HostingEnvironment description of an hostingEnvironment (App Service Environment)
6747type HostingEnvironment struct {
6748	autorest.Response             `json:"-"`
6749	*HostingEnvironmentProperties `json:"properties,omitempty"`
6750	// ID - Resource Id
6751	ID *string `json:"id,omitempty"`
6752	// Name - Resource Name
6753	Name *string `json:"name,omitempty"`
6754	// Kind - Kind of resource
6755	Kind *string `json:"kind,omitempty"`
6756	// Location - Resource Location
6757	Location *string `json:"location,omitempty"`
6758	// Type - Resource type
6759	Type *string `json:"type,omitempty"`
6760	// Tags - Resource tags
6761	Tags map[string]*string `json:"tags"`
6762}
6763
6764// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6765// MarshalJSON is the custom marshaler for HostingEnvironment.
6766func (he HostingEnvironment) MarshalJSON() ([]byte, error) {
6767	objectMap := make(map[string]interface{})
6768	if he.HostingEnvironmentProperties != nil {
6769		objectMap["properties"] = he.HostingEnvironmentProperties
6770	}
6771	if he.ID != nil {
6772		objectMap["id"] = he.ID
6773	}
6774	if he.Name != nil {
6775		objectMap["name"] = he.Name
6776	}
6777	if he.Kind != nil {
6778		objectMap["kind"] = he.Kind
6779	}
6780	if he.Location != nil {
6781		objectMap["location"] = he.Location
6782	}
6783	if he.Type != nil {
6784		objectMap["type"] = he.Type
6785	}
6786	if he.Tags != nil {
6787		objectMap["tags"] = he.Tags
6788	}
6789	return json.Marshal(objectMap)
6790}
6791
6792// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6793// UnmarshalJSON is the custom unmarshaler for HostingEnvironment struct.
6794func (he *HostingEnvironment) UnmarshalJSON(body []byte) error {
6795	var m map[string]*json.RawMessage
6796	err := json.Unmarshal(body, &m)
6797	if err != nil {
6798		return err
6799	}
6800	for k, v := range m {
6801		switch k {
6802		case "properties":
6803			if v != nil {
6804				var hostingEnvironmentProperties HostingEnvironmentProperties
6805				err = json.Unmarshal(*v, &hostingEnvironmentProperties)
6806				if err != nil {
6807					return err
6808				}
6809				he.HostingEnvironmentProperties = &hostingEnvironmentProperties
6810			}
6811		case "id":
6812			if v != nil {
6813				var ID string
6814				err = json.Unmarshal(*v, &ID)
6815				if err != nil {
6816					return err
6817				}
6818				he.ID = &ID
6819			}
6820		case "name":
6821			if v != nil {
6822				var name string
6823				err = json.Unmarshal(*v, &name)
6824				if err != nil {
6825					return err
6826				}
6827				he.Name = &name
6828			}
6829		case "kind":
6830			if v != nil {
6831				var kind string
6832				err = json.Unmarshal(*v, &kind)
6833				if err != nil {
6834					return err
6835				}
6836				he.Kind = &kind
6837			}
6838		case "location":
6839			if v != nil {
6840				var location string
6841				err = json.Unmarshal(*v, &location)
6842				if err != nil {
6843					return err
6844				}
6845				he.Location = &location
6846			}
6847		case "type":
6848			if v != nil {
6849				var typeVar string
6850				err = json.Unmarshal(*v, &typeVar)
6851				if err != nil {
6852					return err
6853				}
6854				he.Type = &typeVar
6855			}
6856		case "tags":
6857			if v != nil {
6858				var tags map[string]*string
6859				err = json.Unmarshal(*v, &tags)
6860				if err != nil {
6861					return err
6862				}
6863				he.Tags = tags
6864			}
6865		}
6866	}
6867
6868	return nil
6869}
6870
6871// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6872// HostingEnvironmentCollection collection of hosting environments (App Service Environments)
6873type HostingEnvironmentCollection struct {
6874	autorest.Response `json:"-"`
6875	// Value - Collection of resources
6876	Value *[]HostingEnvironment `json:"value,omitempty"`
6877	// NextLink - Link to next page of resources
6878	NextLink *string `json:"nextLink,omitempty"`
6879}
6880
6881// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6882// HostingEnvironmentCollectionIterator provides access to a complete listing of HostingEnvironment values.
6883type HostingEnvironmentCollectionIterator struct {
6884	i    int
6885	page HostingEnvironmentCollectionPage
6886}
6887
6888// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6889// Next advances to the next value.  If there was an error making
6890// the request the iterator does not advance and the error is returned.
6891func (iter *HostingEnvironmentCollectionIterator) Next() error {
6892	iter.i++
6893	if iter.i < len(iter.page.Values()) {
6894		return nil
6895	}
6896	err := iter.page.Next()
6897	if err != nil {
6898		iter.i--
6899		return err
6900	}
6901	iter.i = 0
6902	return nil
6903}
6904
6905// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6906// NotDone returns true if the enumeration should be started or is not yet complete.
6907func (iter HostingEnvironmentCollectionIterator) NotDone() bool {
6908	return iter.page.NotDone() && iter.i < len(iter.page.Values())
6909}
6910
6911// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6912// Response returns the raw server response from the last page request.
6913func (iter HostingEnvironmentCollectionIterator) Response() HostingEnvironmentCollection {
6914	return iter.page.Response()
6915}
6916
6917// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6918// Value returns the current value or a zero-initialized value if the
6919// iterator has advanced beyond the end of the collection.
6920func (iter HostingEnvironmentCollectionIterator) Value() HostingEnvironment {
6921	if !iter.page.NotDone() {
6922		return HostingEnvironment{}
6923	}
6924	return iter.page.Values()[iter.i]
6925}
6926
6927// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6928// IsEmpty returns true if the ListResult contains no values.
6929func (hec HostingEnvironmentCollection) IsEmpty() bool {
6930	return hec.Value == nil || len(*hec.Value) == 0
6931}
6932
6933// hostingEnvironmentCollectionPreparer prepares a request to retrieve the next set of results.
6934// It returns nil if no more results exist.
6935func (hec HostingEnvironmentCollection) hostingEnvironmentCollectionPreparer() (*http.Request, error) {
6936	if hec.NextLink == nil || len(to.String(hec.NextLink)) < 1 {
6937		return nil, nil
6938	}
6939	return autorest.Prepare(&http.Request{},
6940		autorest.AsJSON(),
6941		autorest.AsGet(),
6942		autorest.WithBaseURL(to.String(hec.NextLink)))
6943}
6944
6945// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6946// HostingEnvironmentCollectionPage contains a page of HostingEnvironment values.
6947type HostingEnvironmentCollectionPage struct {
6948	fn  func(HostingEnvironmentCollection) (HostingEnvironmentCollection, error)
6949	hec HostingEnvironmentCollection
6950}
6951
6952// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6953// Next advances to the next page of values.  If there was an error making
6954// the request the page does not advance and the error is returned.
6955func (page *HostingEnvironmentCollectionPage) Next() error {
6956	next, err := page.fn(page.hec)
6957	if err != nil {
6958		return err
6959	}
6960	page.hec = next
6961	return nil
6962}
6963
6964// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6965// NotDone returns true if the page enumeration should be started or is not yet complete.
6966func (page HostingEnvironmentCollectionPage) NotDone() bool {
6967	return !page.hec.IsEmpty()
6968}
6969
6970// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6971// Response returns the raw server response from the last page request.
6972func (page HostingEnvironmentCollectionPage) Response() HostingEnvironmentCollection {
6973	return page.hec
6974}
6975
6976// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6977// Values returns the slice of values for the current page or nil if there are no values.
6978func (page HostingEnvironmentCollectionPage) Values() []HostingEnvironment {
6979	if page.hec.IsEmpty() {
6980		return nil
6981	}
6982	return *page.hec.Value
6983}
6984
6985// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6986// HostingEnvironmentDiagnostics diagnostics for a hosting environment (App Service Environment)
6987type HostingEnvironmentDiagnostics struct {
6988	autorest.Response `json:"-"`
6989	// Name - Name/identifier of the diagnostics
6990	Name *string `json:"name,omitempty"`
6991	// DiagnosicsOutput - Diagnostics output
6992	DiagnosicsOutput *string `json:"diagnosicsOutput,omitempty"`
6993}
6994
6995// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
6996// HostingEnvironmentProfile specification for a hostingEnvironment (App Service Environment) to use for this
6997// resource
6998type HostingEnvironmentProfile struct {
6999	// ID - Resource id of the hostingEnvironment (App Service Environment)
7000	ID *string `json:"id,omitempty"`
7001	// Name - Name of the hostingEnvironment (App Service Environment) (read only)
7002	Name *string `json:"name,omitempty"`
7003	// Type - Resource type of the hostingEnvironment (App Service Environment) (read only)
7004	Type *string `json:"type,omitempty"`
7005}
7006
7007// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7008// HostingEnvironmentProperties ...
7009type HostingEnvironmentProperties struct {
7010	// Name - Name of the hostingEnvironment (App Service Environment)
7011	Name *string `json:"name,omitempty"`
7012	// Location - Location of the hostingEnvironment (App Service Environment), e.g. "West US"
7013	Location *string `json:"location,omitempty"`
7014	// ProvisioningState - Provisioning state of the hostingEnvironment (App Service Environment). Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting'
7015	ProvisioningState ProvisioningState `json:"provisioningState,omitempty"`
7016	// Status - Current status of the hostingEnvironment (App Service Environment). Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting'
7017	Status HostingEnvironmentStatus `json:"status,omitempty"`
7018	// VnetName - Name of the hostingEnvironment's (App Service Environment) virtual network
7019	VnetName *string `json:"vnetName,omitempty"`
7020	// VnetResourceGroupName - Resource group of the hostingEnvironment's (App Service Environment) virtual network
7021	VnetResourceGroupName *string `json:"vnetResourceGroupName,omitempty"`
7022	// VnetSubnetName - Subnet of the hostingEnvironment's (App Service Environment) virtual network
7023	VnetSubnetName *string `json:"vnetSubnetName,omitempty"`
7024	// VirtualNetwork - Description of the hostingEnvironment's (App Service Environment) virtual network
7025	VirtualNetwork *VirtualNetworkProfile `json:"virtualNetwork,omitempty"`
7026	// InternalLoadBalancingMode - Specifies which endpoints to serve internally in the hostingEnvironment's (App Service Environment) VNET. Possible values include: 'None', 'Web', 'Publishing'
7027	InternalLoadBalancingMode InternalLoadBalancingMode `json:"internalLoadBalancingMode,omitempty"`
7028	// MultiSize - Front-end VM size, e.g. "Medium", "Large"
7029	MultiSize *string `json:"multiSize,omitempty"`
7030	// MultiRoleCount - Number of front-end instances
7031	MultiRoleCount *int32 `json:"multiRoleCount,omitempty"`
7032	// WorkerPools - Description of worker pools with worker size ids, VM sizes, and number of workers in each pool
7033	WorkerPools *[]WorkerPool `json:"workerPools,omitempty"`
7034	// IpsslAddressCount - Number of IP SSL addresses reserved for this hostingEnvironment (App Service Environment)
7035	IpsslAddressCount *int32 `json:"ipsslAddressCount,omitempty"`
7036	// DatabaseEdition - Edition of the metadata database for the hostingEnvironment (App Service Environment) e.g. "Standard"
7037	DatabaseEdition *string `json:"databaseEdition,omitempty"`
7038	// DatabaseServiceObjective - Service objective of the metadata database for the hostingEnvironment (App Service Environment) e.g. "S0"
7039	DatabaseServiceObjective *string `json:"databaseServiceObjective,omitempty"`
7040	// UpgradeDomains - Number of upgrade domains of this hostingEnvironment (App Service Environment)
7041	UpgradeDomains *int32 `json:"upgradeDomains,omitempty"`
7042	// SubscriptionID - Subscription of the hostingEnvironment (App Service Environment)
7043	SubscriptionID *string `json:"subscriptionId,omitempty"`
7044	// DNSSuffix - DNS suffix of the hostingEnvironment (App Service Environment)
7045	DNSSuffix *string `json:"dnsSuffix,omitempty"`
7046	// LastAction - Last deployment action on this hostingEnvironment (App Service Environment)
7047	LastAction *string `json:"lastAction,omitempty"`
7048	// LastActionResult - Result of the last deployment action on this hostingEnvironment (App Service Environment)
7049	LastActionResult *string `json:"lastActionResult,omitempty"`
7050	// AllowedMultiSizes - List of comma separated strings describing which VM sizes are allowed for front-ends
7051	AllowedMultiSizes *string `json:"allowedMultiSizes,omitempty"`
7052	// AllowedWorkerSizes - List of comma separated strings describing which VM sizes are allowed for workers
7053	AllowedWorkerSizes *string `json:"allowedWorkerSizes,omitempty"`
7054	// MaximumNumberOfMachines - Maximum number of VMs in this hostingEnvironment (App Service Environment)
7055	MaximumNumberOfMachines *int32 `json:"maximumNumberOfMachines,omitempty"`
7056	// VipMappings - Description of IP SSL mapping for this hostingEnvironment (App Service Environment)
7057	VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"`
7058	// EnvironmentCapacities - Current total, used, and available worker capacities
7059	EnvironmentCapacities *[]StampCapacity `json:"environmentCapacities,omitempty"`
7060	// NetworkAccessControlList - Access control list for controlling traffic to the hostingEnvironment (App Service Environment)
7061	NetworkAccessControlList *[]NetworkAccessControlEntry `json:"networkAccessControlList,omitempty"`
7062	// EnvironmentIsHealthy - True/false indicating whether the hostingEnvironment (App Service Environment) is healthy
7063	EnvironmentIsHealthy *bool `json:"environmentIsHealthy,omitempty"`
7064	// EnvironmentStatus - Detailed message about with results of the last check of the hostingEnvironment (App Service Environment)
7065	EnvironmentStatus *string `json:"environmentStatus,omitempty"`
7066	// ResourceGroup - Resource group of the hostingEnvironment (App Service Environment)
7067	ResourceGroup *string `json:"resourceGroup,omitempty"`
7068	// APIManagementAccountID - Api Management Account associated with this Hosting Environment
7069	APIManagementAccountID *string `json:"apiManagementAccountId,omitempty"`
7070	// Suspended - True/false indicating whether the hostingEnvironment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available
7071	//             (most likely because NSG blocked the incoming traffic)
7072	Suspended *bool `json:"suspended,omitempty"`
7073	// ClusterSettings - Custom settings for changing the behavior of the hosting environment
7074	ClusterSettings *[]NameValuePair `json:"clusterSettings,omitempty"`
7075}
7076
7077// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7078// HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture an abstraction for monitoring and retrieving the
7079// results of a long-running operation.
7080type HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture struct {
7081	azure.Future
7082	req *http.Request
7083}
7084
7085// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7086// Result returns the result of the asynchronous operation.
7087// If the operation has not completed it will return an error.
7088func (future HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture) Result(client HostingEnvironmentsClient) (he HostingEnvironment, err error) {
7089	var done bool
7090	done, err = future.Done(client)
7091	if err != nil {
7092		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
7093		return
7094	}
7095	if !done {
7096		return he, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture")
7097	}
7098	if future.PollingMethod() == azure.PollingLocation {
7099		he, err = client.CreateOrUpdateHostingEnvironmentResponder(future.Response())
7100		if err != nil {
7101			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
7102		}
7103		return
7104	}
7105	var req *http.Request
7106	var resp *http.Response
7107	if future.PollingURL() != "" {
7108		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7109		if err != nil {
7110			return
7111		}
7112	} else {
7113		req = autorest.ChangeToGet(future.req)
7114	}
7115	resp, err = autorest.SendWithSender(client, req,
7116		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7117	if err != nil {
7118		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture", "Result", resp, "Failure sending request")
7119		return
7120	}
7121	he, err = client.CreateOrUpdateHostingEnvironmentResponder(resp)
7122	if err != nil {
7123		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
7124	}
7125	return
7126}
7127
7128// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7129// HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture an abstraction for monitoring and retrieving the results of
7130// a long-running operation.
7131type HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture struct {
7132	azure.Future
7133	req *http.Request
7134}
7135
7136// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7137// Result returns the result of the asynchronous operation.
7138// If the operation has not completed it will return an error.
7139func (future HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture) Result(client HostingEnvironmentsClient) (wp WorkerPool, err error) {
7140	var done bool
7141	done, err = future.Done(client)
7142	if err != nil {
7143		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", future.Response(), "Polling failure")
7144		return
7145	}
7146	if !done {
7147		return wp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture")
7148	}
7149	if future.PollingMethod() == azure.PollingLocation {
7150		wp, err = client.CreateOrUpdateMultiRolePoolResponder(future.Response())
7151		if err != nil {
7152			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", future.Response(), "Failure responding to request")
7153		}
7154		return
7155	}
7156	var req *http.Request
7157	var resp *http.Response
7158	if future.PollingURL() != "" {
7159		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7160		if err != nil {
7161			return
7162		}
7163	} else {
7164		req = autorest.ChangeToGet(future.req)
7165	}
7166	resp, err = autorest.SendWithSender(client, req,
7167		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7168	if err != nil {
7169		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", resp, "Failure sending request")
7170		return
7171	}
7172	wp, err = client.CreateOrUpdateMultiRolePoolResponder(resp)
7173	if err != nil {
7174		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", resp, "Failure responding to request")
7175	}
7176	return
7177}
7178
7179// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7180// HostingEnvironmentsCreateOrUpdateWorkerPoolFuture an abstraction for monitoring and retrieving the results of a
7181// long-running operation.
7182type HostingEnvironmentsCreateOrUpdateWorkerPoolFuture struct {
7183	azure.Future
7184	req *http.Request
7185}
7186
7187// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7188// Result returns the result of the asynchronous operation.
7189// If the operation has not completed it will return an error.
7190func (future HostingEnvironmentsCreateOrUpdateWorkerPoolFuture) Result(client HostingEnvironmentsClient) (wp WorkerPool, err error) {
7191	var done bool
7192	done, err = future.Done(client)
7193	if err != nil {
7194		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", future.Response(), "Polling failure")
7195		return
7196	}
7197	if !done {
7198		return wp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsCreateOrUpdateWorkerPoolFuture")
7199	}
7200	if future.PollingMethod() == azure.PollingLocation {
7201		wp, err = client.CreateOrUpdateWorkerPoolResponder(future.Response())
7202		if err != nil {
7203			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", future.Response(), "Failure responding to request")
7204		}
7205		return
7206	}
7207	var req *http.Request
7208	var resp *http.Response
7209	if future.PollingURL() != "" {
7210		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7211		if err != nil {
7212			return
7213		}
7214	} else {
7215		req = autorest.ChangeToGet(future.req)
7216	}
7217	resp, err = autorest.SendWithSender(client, req,
7218		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7219	if err != nil {
7220		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", resp, "Failure sending request")
7221		return
7222	}
7223	wp, err = client.CreateOrUpdateWorkerPoolResponder(resp)
7224	if err != nil {
7225		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", resp, "Failure responding to request")
7226	}
7227	return
7228}
7229
7230// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7231// HostingEnvironmentsDeleteHostingEnvironmentFuture an abstraction for monitoring and retrieving the results of a
7232// long-running operation.
7233type HostingEnvironmentsDeleteHostingEnvironmentFuture struct {
7234	azure.Future
7235	req *http.Request
7236}
7237
7238// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7239// Result returns the result of the asynchronous operation.
7240// If the operation has not completed it will return an error.
7241func (future HostingEnvironmentsDeleteHostingEnvironmentFuture) Result(client HostingEnvironmentsClient) (so SetObject, err error) {
7242	var done bool
7243	done, err = future.Done(client)
7244	if err != nil {
7245		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsDeleteHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
7246		return
7247	}
7248	if !done {
7249		return so, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsDeleteHostingEnvironmentFuture")
7250	}
7251	if future.PollingMethod() == azure.PollingLocation {
7252		so, err = client.DeleteHostingEnvironmentResponder(future.Response())
7253		if err != nil {
7254			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsDeleteHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
7255		}
7256		return
7257	}
7258	var req *http.Request
7259	var resp *http.Response
7260	if future.PollingURL() != "" {
7261		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7262		if err != nil {
7263			return
7264		}
7265	} else {
7266		req = autorest.ChangeToGet(future.req)
7267	}
7268	resp, err = autorest.SendWithSender(client, req,
7269		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7270	if err != nil {
7271		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsDeleteHostingEnvironmentFuture", "Result", resp, "Failure sending request")
7272		return
7273	}
7274	so, err = client.DeleteHostingEnvironmentResponder(resp)
7275	if err != nil {
7276		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsDeleteHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
7277	}
7278	return
7279}
7280
7281// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7282// HostingEnvironmentServiceDescriptions back end service per ASE
7283type HostingEnvironmentServiceDescriptions struct {
7284	// HostingEnvironmentID - Hosting environment Id
7285	HostingEnvironmentID *string `json:"hostingEnvironmentId,omitempty"`
7286	// HostID - Host Id
7287	HostID *string `json:"hostId,omitempty"`
7288	// ServiceURL - service url to use
7289	ServiceURL *string `json:"serviceUrl,omitempty"`
7290	// UseInternalRouting - When the backend url is in same ASE, for performance reason this flag can be set to true
7291	//             If WebApp.DisableHostNames is also set it improves the security by making the back end accesible only
7292	//             via API calls
7293	//             Note: calls will fail if this option is used but back end is not on the same ASE
7294	UseInternalRouting *bool `json:"useInternalRouting,omitempty"`
7295}
7296
7297// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7298// HostingEnvironmentsResumeHostingEnvironmentAllFuture an abstraction for monitoring and retrieving the results of
7299// a long-running operation.
7300type HostingEnvironmentsResumeHostingEnvironmentAllFuture struct {
7301	azure.Future
7302	req *http.Request
7303}
7304
7305// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7306// Result returns the result of the asynchronous operation.
7307// If the operation has not completed it will return an error.
7308func (future HostingEnvironmentsResumeHostingEnvironmentAllFuture) Result(client HostingEnvironmentsClient) (scp SiteCollectionPage, err error) {
7309	var done bool
7310	done, err = future.Done(client)
7311	if err != nil {
7312		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentAllFuture", "Result", future.Response(), "Polling failure")
7313		return
7314	}
7315	if !done {
7316		return scp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsResumeHostingEnvironmentAllFuture")
7317	}
7318	if future.PollingMethod() == azure.PollingLocation {
7319		scp, err = client.ResumeHostingEnvironmentResponder(future.Response())
7320		if err != nil {
7321			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentAllFuture", "Result", future.Response(), "Failure responding to request")
7322		}
7323		return
7324	}
7325	var req *http.Request
7326	var resp *http.Response
7327	if future.PollingURL() != "" {
7328		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7329		if err != nil {
7330			return
7331		}
7332	} else {
7333		req = autorest.ChangeToGet(future.req)
7334	}
7335	resp, err = autorest.SendWithSender(client, req,
7336		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7337	if err != nil {
7338		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentAllFuture", "Result", resp, "Failure sending request")
7339		return
7340	}
7341	scp, err = client.ResumeHostingEnvironmentResponder(resp)
7342	if err != nil {
7343		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentAllFuture", "Result", resp, "Failure responding to request")
7344	}
7345	return
7346}
7347
7348// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7349// HostingEnvironmentsResumeHostingEnvironmentFuture an abstraction for monitoring and retrieving the results of a
7350// long-running operation.
7351type HostingEnvironmentsResumeHostingEnvironmentFuture struct {
7352	azure.Future
7353	req *http.Request
7354}
7355
7356// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7357// Result returns the result of the asynchronous operation.
7358// If the operation has not completed it will return an error.
7359func (future HostingEnvironmentsResumeHostingEnvironmentFuture) Result(client HostingEnvironmentsClient) (scp SiteCollectionPage, err error) {
7360	var done bool
7361	done, err = future.Done(client)
7362	if err != nil {
7363		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
7364		return
7365	}
7366	if !done {
7367		return scp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsResumeHostingEnvironmentFuture")
7368	}
7369	if future.PollingMethod() == azure.PollingLocation {
7370		scp, err = client.ResumeHostingEnvironmentResponder(future.Response())
7371		if err != nil {
7372			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
7373		}
7374		return
7375	}
7376	var req *http.Request
7377	var resp *http.Response
7378	if future.PollingURL() != "" {
7379		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7380		if err != nil {
7381			return
7382		}
7383	} else {
7384		req = autorest.ChangeToGet(future.req)
7385	}
7386	resp, err = autorest.SendWithSender(client, req,
7387		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7388	if err != nil {
7389		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentFuture", "Result", resp, "Failure sending request")
7390		return
7391	}
7392	scp, err = client.ResumeHostingEnvironmentResponder(resp)
7393	if err != nil {
7394		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsResumeHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
7395	}
7396	return
7397}
7398
7399// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7400// HostingEnvironmentsSuspendHostingEnvironmentAllFuture an abstraction for monitoring and retrieving the results
7401// of a long-running operation.
7402type HostingEnvironmentsSuspendHostingEnvironmentAllFuture struct {
7403	azure.Future
7404	req *http.Request
7405}
7406
7407// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7408// Result returns the result of the asynchronous operation.
7409// If the operation has not completed it will return an error.
7410func (future HostingEnvironmentsSuspendHostingEnvironmentAllFuture) Result(client HostingEnvironmentsClient) (scp SiteCollectionPage, err error) {
7411	var done bool
7412	done, err = future.Done(client)
7413	if err != nil {
7414		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentAllFuture", "Result", future.Response(), "Polling failure")
7415		return
7416	}
7417	if !done {
7418		return scp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsSuspendHostingEnvironmentAllFuture")
7419	}
7420	if future.PollingMethod() == azure.PollingLocation {
7421		scp, err = client.SuspendHostingEnvironmentResponder(future.Response())
7422		if err != nil {
7423			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentAllFuture", "Result", future.Response(), "Failure responding to request")
7424		}
7425		return
7426	}
7427	var req *http.Request
7428	var resp *http.Response
7429	if future.PollingURL() != "" {
7430		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7431		if err != nil {
7432			return
7433		}
7434	} else {
7435		req = autorest.ChangeToGet(future.req)
7436	}
7437	resp, err = autorest.SendWithSender(client, req,
7438		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7439	if err != nil {
7440		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentAllFuture", "Result", resp, "Failure sending request")
7441		return
7442	}
7443	scp, err = client.SuspendHostingEnvironmentResponder(resp)
7444	if err != nil {
7445		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentAllFuture", "Result", resp, "Failure responding to request")
7446	}
7447	return
7448}
7449
7450// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7451// HostingEnvironmentsSuspendHostingEnvironmentFuture an abstraction for monitoring and retrieving the results of a
7452// long-running operation.
7453type HostingEnvironmentsSuspendHostingEnvironmentFuture struct {
7454	azure.Future
7455	req *http.Request
7456}
7457
7458// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7459// Result returns the result of the asynchronous operation.
7460// If the operation has not completed it will return an error.
7461func (future HostingEnvironmentsSuspendHostingEnvironmentFuture) Result(client HostingEnvironmentsClient) (scp SiteCollectionPage, err error) {
7462	var done bool
7463	done, err = future.Done(client)
7464	if err != nil {
7465		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
7466		return
7467	}
7468	if !done {
7469		return scp, azure.NewAsyncOpIncompleteError("web.HostingEnvironmentsSuspendHostingEnvironmentFuture")
7470	}
7471	if future.PollingMethod() == azure.PollingLocation {
7472		scp, err = client.SuspendHostingEnvironmentResponder(future.Response())
7473		if err != nil {
7474			err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
7475		}
7476		return
7477	}
7478	var req *http.Request
7479	var resp *http.Response
7480	if future.PollingURL() != "" {
7481		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
7482		if err != nil {
7483			return
7484		}
7485	} else {
7486		req = autorest.ChangeToGet(future.req)
7487	}
7488	resp, err = autorest.SendWithSender(client, req,
7489		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
7490	if err != nil {
7491		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentFuture", "Result", resp, "Failure sending request")
7492		return
7493	}
7494	scp, err = client.SuspendHostingEnvironmentResponder(resp)
7495	if err != nil {
7496		err = autorest.NewErrorWithError(err, "web.HostingEnvironmentsSuspendHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
7497	}
7498	return
7499}
7500
7501// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7502// HostName details of a hostname derived from a domain
7503type HostName struct {
7504	// Name - Name of the hostname
7505	Name *string `json:"name,omitempty"`
7506	// SiteNames - List of sites the hostname is assigned to. This list will have more than one site only if the hostname is pointing to a Traffic Manager
7507	SiteNames *[]string `json:"siteNames,omitempty"`
7508	// 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 website name
7509	AzureResourceName *string `json:"azureResourceName,omitempty"`
7510	// AzureResourceType - Type of the Azure resource the hostname is assigned to. Possible values include: 'Website', 'TrafficManager'
7511	AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"`
7512	// CustomHostNameDNSRecordType - Type of the Dns record. Possible values include: 'CName', 'A'
7513	CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"`
7514	// HostNameType - Type of the hostname. Possible values include: 'Verified', 'Managed'
7515	HostNameType HostNameType `json:"hostNameType,omitempty"`
7516}
7517
7518// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7519// HostNameBinding a host name binding object
7520type HostNameBinding struct {
7521	autorest.Response          `json:"-"`
7522	*HostNameBindingProperties `json:"properties,omitempty"`
7523	// ID - Resource Id
7524	ID *string `json:"id,omitempty"`
7525	// Name - Resource Name
7526	Name *string `json:"name,omitempty"`
7527	// Kind - Kind of resource
7528	Kind *string `json:"kind,omitempty"`
7529	// Location - Resource Location
7530	Location *string `json:"location,omitempty"`
7531	// Type - Resource type
7532	Type *string `json:"type,omitempty"`
7533	// Tags - Resource tags
7534	Tags map[string]*string `json:"tags"`
7535}
7536
7537// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7538// MarshalJSON is the custom marshaler for HostNameBinding.
7539func (hnb HostNameBinding) MarshalJSON() ([]byte, error) {
7540	objectMap := make(map[string]interface{})
7541	if hnb.HostNameBindingProperties != nil {
7542		objectMap["properties"] = hnb.HostNameBindingProperties
7543	}
7544	if hnb.ID != nil {
7545		objectMap["id"] = hnb.ID
7546	}
7547	if hnb.Name != nil {
7548		objectMap["name"] = hnb.Name
7549	}
7550	if hnb.Kind != nil {
7551		objectMap["kind"] = hnb.Kind
7552	}
7553	if hnb.Location != nil {
7554		objectMap["location"] = hnb.Location
7555	}
7556	if hnb.Type != nil {
7557		objectMap["type"] = hnb.Type
7558	}
7559	if hnb.Tags != nil {
7560		objectMap["tags"] = hnb.Tags
7561	}
7562	return json.Marshal(objectMap)
7563}
7564
7565// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7566// UnmarshalJSON is the custom unmarshaler for HostNameBinding struct.
7567func (hnb *HostNameBinding) UnmarshalJSON(body []byte) error {
7568	var m map[string]*json.RawMessage
7569	err := json.Unmarshal(body, &m)
7570	if err != nil {
7571		return err
7572	}
7573	for k, v := range m {
7574		switch k {
7575		case "properties":
7576			if v != nil {
7577				var hostNameBindingProperties HostNameBindingProperties
7578				err = json.Unmarshal(*v, &hostNameBindingProperties)
7579				if err != nil {
7580					return err
7581				}
7582				hnb.HostNameBindingProperties = &hostNameBindingProperties
7583			}
7584		case "id":
7585			if v != nil {
7586				var ID string
7587				err = json.Unmarshal(*v, &ID)
7588				if err != nil {
7589					return err
7590				}
7591				hnb.ID = &ID
7592			}
7593		case "name":
7594			if v != nil {
7595				var name string
7596				err = json.Unmarshal(*v, &name)
7597				if err != nil {
7598					return err
7599				}
7600				hnb.Name = &name
7601			}
7602		case "kind":
7603			if v != nil {
7604				var kind string
7605				err = json.Unmarshal(*v, &kind)
7606				if err != nil {
7607					return err
7608				}
7609				hnb.Kind = &kind
7610			}
7611		case "location":
7612			if v != nil {
7613				var location string
7614				err = json.Unmarshal(*v, &location)
7615				if err != nil {
7616					return err
7617				}
7618				hnb.Location = &location
7619			}
7620		case "type":
7621			if v != nil {
7622				var typeVar string
7623				err = json.Unmarshal(*v, &typeVar)
7624				if err != nil {
7625					return err
7626				}
7627				hnb.Type = &typeVar
7628			}
7629		case "tags":
7630			if v != nil {
7631				var tags map[string]*string
7632				err = json.Unmarshal(*v, &tags)
7633				if err != nil {
7634					return err
7635				}
7636				hnb.Tags = tags
7637			}
7638		}
7639	}
7640
7641	return nil
7642}
7643
7644// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7645// HostNameBindingCollection collection of host name bindings
7646type HostNameBindingCollection struct {
7647	autorest.Response `json:"-"`
7648	// Value - Collection of resources
7649	Value *[]HostNameBinding `json:"value,omitempty"`
7650	// NextLink - Link to next page of resources
7651	NextLink *string `json:"nextLink,omitempty"`
7652}
7653
7654// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7655// HostNameBindingCollectionIterator provides access to a complete listing of HostNameBinding values.
7656type HostNameBindingCollectionIterator struct {
7657	i    int
7658	page HostNameBindingCollectionPage
7659}
7660
7661// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7662// Next advances to the next value.  If there was an error making
7663// the request the iterator does not advance and the error is returned.
7664func (iter *HostNameBindingCollectionIterator) Next() error {
7665	iter.i++
7666	if iter.i < len(iter.page.Values()) {
7667		return nil
7668	}
7669	err := iter.page.Next()
7670	if err != nil {
7671		iter.i--
7672		return err
7673	}
7674	iter.i = 0
7675	return nil
7676}
7677
7678// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7679// NotDone returns true if the enumeration should be started or is not yet complete.
7680func (iter HostNameBindingCollectionIterator) NotDone() bool {
7681	return iter.page.NotDone() && iter.i < len(iter.page.Values())
7682}
7683
7684// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7685// Response returns the raw server response from the last page request.
7686func (iter HostNameBindingCollectionIterator) Response() HostNameBindingCollection {
7687	return iter.page.Response()
7688}
7689
7690// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7691// Value returns the current value or a zero-initialized value if the
7692// iterator has advanced beyond the end of the collection.
7693func (iter HostNameBindingCollectionIterator) Value() HostNameBinding {
7694	if !iter.page.NotDone() {
7695		return HostNameBinding{}
7696	}
7697	return iter.page.Values()[iter.i]
7698}
7699
7700// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7701// IsEmpty returns true if the ListResult contains no values.
7702func (hnbc HostNameBindingCollection) IsEmpty() bool {
7703	return hnbc.Value == nil || len(*hnbc.Value) == 0
7704}
7705
7706// hostNameBindingCollectionPreparer prepares a request to retrieve the next set of results.
7707// It returns nil if no more results exist.
7708func (hnbc HostNameBindingCollection) hostNameBindingCollectionPreparer() (*http.Request, error) {
7709	if hnbc.NextLink == nil || len(to.String(hnbc.NextLink)) < 1 {
7710		return nil, nil
7711	}
7712	return autorest.Prepare(&http.Request{},
7713		autorest.AsJSON(),
7714		autorest.AsGet(),
7715		autorest.WithBaseURL(to.String(hnbc.NextLink)))
7716}
7717
7718// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7719// HostNameBindingCollectionPage contains a page of HostNameBinding values.
7720type HostNameBindingCollectionPage struct {
7721	fn   func(HostNameBindingCollection) (HostNameBindingCollection, error)
7722	hnbc HostNameBindingCollection
7723}
7724
7725// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7726// Next advances to the next page of values.  If there was an error making
7727// the request the page does not advance and the error is returned.
7728func (page *HostNameBindingCollectionPage) Next() error {
7729	next, err := page.fn(page.hnbc)
7730	if err != nil {
7731		return err
7732	}
7733	page.hnbc = next
7734	return nil
7735}
7736
7737// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7738// NotDone returns true if the page enumeration should be started or is not yet complete.
7739func (page HostNameBindingCollectionPage) NotDone() bool {
7740	return !page.hnbc.IsEmpty()
7741}
7742
7743// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7744// Response returns the raw server response from the last page request.
7745func (page HostNameBindingCollectionPage) Response() HostNameBindingCollection {
7746	return page.hnbc
7747}
7748
7749// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7750// Values returns the slice of values for the current page or nil if there are no values.
7751func (page HostNameBindingCollectionPage) Values() []HostNameBinding {
7752	if page.hnbc.IsEmpty() {
7753		return nil
7754	}
7755	return *page.hnbc.Value
7756}
7757
7758// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7759// HostNameBindingProperties ...
7760type HostNameBindingProperties struct {
7761	// Name - Hostname
7762	Name *string `json:"name,omitempty"`
7763	// SiteName - Web app name
7764	SiteName *string `json:"siteName,omitempty"`
7765	// DomainID - Fully qualified ARM domain resource URI
7766	DomainID *string `json:"domainId,omitempty"`
7767	// AzureResourceName - Azure resource name
7768	AzureResourceName *string `json:"azureResourceName,omitempty"`
7769	// AzureResourceType - Azure resource type. Possible values include: 'Website', 'TrafficManager'
7770	AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"`
7771	// CustomHostNameDNSRecordType - Custom DNS record type. Possible values include: 'CName', 'A'
7772	CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"`
7773	// HostNameType - Host name type. Possible values include: 'Verified', 'Managed'
7774	HostNameType HostNameType `json:"hostNameType,omitempty"`
7775}
7776
7777// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7778// HostNameSslState object that represents a SSL-enabled host name.
7779type HostNameSslState struct {
7780	// Name - Host name
7781	Name *string `json:"name,omitempty"`
7782	// SslState - SSL type. Possible values include: 'Disabled', 'SniEnabled', 'IPBasedEnabled'
7783	SslState SslState `json:"sslState,omitempty"`
7784	// VirtualIP - Virtual IP address assigned to the host name if IP based SSL is enabled
7785	VirtualIP *string `json:"virtualIP,omitempty"`
7786	// Thumbprint - SSL cert thumbprint
7787	Thumbprint *string `json:"thumbprint,omitempty"`
7788	// ToUpdate - Set this flag to update existing host name
7789	ToUpdate *bool `json:"toUpdate,omitempty"`
7790}
7791
7792// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7793// HTTPLogsConfig http logs configuration
7794type HTTPLogsConfig struct {
7795	// FileSystem - Http logs to file system configuration
7796	FileSystem *FileSystemHTTPLogsConfig `json:"fileSystem,omitempty"`
7797	// AzureBlobStorage - Http logs to azure blob storage configuration
7798	AzureBlobStorage *AzureBlobStorageHTTPLogsConfig `json:"azureBlobStorage,omitempty"`
7799}
7800
7801// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7802// IPSecurityRestriction represents an ip security restriction on a web app.
7803type IPSecurityRestriction struct {
7804	// IPAddress - IP address the security restriction is valid for
7805	IPAddress *string `json:"ipAddress,omitempty"`
7806	// SubnetMask - Subnet mask for the range of IP addresses the restriction is valid for
7807	SubnetMask *string `json:"subnetMask,omitempty"`
7808}
7809
7810// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7811// KeyValuePairStringString ...
7812type KeyValuePairStringString struct {
7813	Key   *string `json:"key,omitempty"`
7814	Value *string `json:"value,omitempty"`
7815}
7816
7817// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7818// ListCertificateEmail ...
7819type ListCertificateEmail struct {
7820	autorest.Response `json:"-"`
7821	Value             *[]CertificateEmail `json:"value,omitempty"`
7822}
7823
7824// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7825// ListCertificateOrderAction ...
7826type ListCertificateOrderAction struct {
7827	autorest.Response `json:"-"`
7828	Value             *[]CertificateOrderAction `json:"value,omitempty"`
7829}
7830
7831// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7832// ListConnectionKeysInput list Connection Keys Input payload
7833type ListConnectionKeysInput struct {
7834	*ListConnectionKeysInputProperties `json:"properties,omitempty"`
7835	// ID - Resource Id
7836	ID *string `json:"id,omitempty"`
7837	// Name - Resource Name
7838	Name *string `json:"name,omitempty"`
7839	// Kind - Kind of resource
7840	Kind *string `json:"kind,omitempty"`
7841	// Location - Resource Location
7842	Location *string `json:"location,omitempty"`
7843	// Type - Resource type
7844	Type *string `json:"type,omitempty"`
7845	// Tags - Resource tags
7846	Tags map[string]*string `json:"tags"`
7847}
7848
7849// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7850// MarshalJSON is the custom marshaler for ListConnectionKeysInput.
7851func (lcki ListConnectionKeysInput) MarshalJSON() ([]byte, error) {
7852	objectMap := make(map[string]interface{})
7853	if lcki.ListConnectionKeysInputProperties != nil {
7854		objectMap["properties"] = lcki.ListConnectionKeysInputProperties
7855	}
7856	if lcki.ID != nil {
7857		objectMap["id"] = lcki.ID
7858	}
7859	if lcki.Name != nil {
7860		objectMap["name"] = lcki.Name
7861	}
7862	if lcki.Kind != nil {
7863		objectMap["kind"] = lcki.Kind
7864	}
7865	if lcki.Location != nil {
7866		objectMap["location"] = lcki.Location
7867	}
7868	if lcki.Type != nil {
7869		objectMap["type"] = lcki.Type
7870	}
7871	if lcki.Tags != nil {
7872		objectMap["tags"] = lcki.Tags
7873	}
7874	return json.Marshal(objectMap)
7875}
7876
7877// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7878// UnmarshalJSON is the custom unmarshaler for ListConnectionKeysInput struct.
7879func (lcki *ListConnectionKeysInput) UnmarshalJSON(body []byte) error {
7880	var m map[string]*json.RawMessage
7881	err := json.Unmarshal(body, &m)
7882	if err != nil {
7883		return err
7884	}
7885	for k, v := range m {
7886		switch k {
7887		case "properties":
7888			if v != nil {
7889				var listConnectionKeysInputProperties ListConnectionKeysInputProperties
7890				err = json.Unmarshal(*v, &listConnectionKeysInputProperties)
7891				if err != nil {
7892					return err
7893				}
7894				lcki.ListConnectionKeysInputProperties = &listConnectionKeysInputProperties
7895			}
7896		case "id":
7897			if v != nil {
7898				var ID string
7899				err = json.Unmarshal(*v, &ID)
7900				if err != nil {
7901					return err
7902				}
7903				lcki.ID = &ID
7904			}
7905		case "name":
7906			if v != nil {
7907				var name string
7908				err = json.Unmarshal(*v, &name)
7909				if err != nil {
7910					return err
7911				}
7912				lcki.Name = &name
7913			}
7914		case "kind":
7915			if v != nil {
7916				var kind string
7917				err = json.Unmarshal(*v, &kind)
7918				if err != nil {
7919					return err
7920				}
7921				lcki.Kind = &kind
7922			}
7923		case "location":
7924			if v != nil {
7925				var location string
7926				err = json.Unmarshal(*v, &location)
7927				if err != nil {
7928					return err
7929				}
7930				lcki.Location = &location
7931			}
7932		case "type":
7933			if v != nil {
7934				var typeVar string
7935				err = json.Unmarshal(*v, &typeVar)
7936				if err != nil {
7937					return err
7938				}
7939				lcki.Type = &typeVar
7940			}
7941		case "tags":
7942			if v != nil {
7943				var tags map[string]*string
7944				err = json.Unmarshal(*v, &tags)
7945				if err != nil {
7946					return err
7947				}
7948				lcki.Tags = tags
7949			}
7950		}
7951	}
7952
7953	return nil
7954}
7955
7956// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7957// ListConnectionKeysInputProperties ...
7958type ListConnectionKeysInputProperties struct {
7959	// ValidityTimeSpan - time span for how long the keys will be valid
7960	ValidityTimeSpan *string `json:"validityTimeSpan,omitempty"`
7961}
7962
7963// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7964// ListCsr ...
7965type ListCsr struct {
7966	autorest.Response `json:"-"`
7967	Value             *[]Csr `json:"value,omitempty"`
7968}
7969
7970// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7971// ListHostingEnvironmentDiagnostics ...
7972type ListHostingEnvironmentDiagnostics struct {
7973	autorest.Response `json:"-"`
7974	Value             *[]HostingEnvironmentDiagnostics `json:"value,omitempty"`
7975}
7976
7977// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7978// ListRecommendation ...
7979type ListRecommendation struct {
7980	autorest.Response `json:"-"`
7981	Value             *[]Recommendation `json:"value,omitempty"`
7982}
7983
7984// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7985// ListVnetInfo ...
7986type ListVnetInfo struct {
7987	autorest.Response `json:"-"`
7988	Value             *[]VnetInfo `json:"value,omitempty"`
7989}
7990
7991// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7992// ListVnetRoute ...
7993type ListVnetRoute struct {
7994	autorest.Response `json:"-"`
7995	Value             *[]VnetRoute `json:"value,omitempty"`
7996}
7997
7998// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
7999// LocalizableString localizableString object containing the name and a localized value.
8000type LocalizableString struct {
8001	// Value - Non localized name
8002	Value *string `json:"value,omitempty"`
8003	// LocalizedValue - Localized name
8004	LocalizedValue *string `json:"localizedValue,omitempty"`
8005}
8006
8007// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8008// ManagedHostingEnvironment description of a managed hosting environment
8009type ManagedHostingEnvironment struct {
8010	autorest.Response                    `json:"-"`
8011	*ManagedHostingEnvironmentProperties `json:"properties,omitempty"`
8012	// ID - Resource Id
8013	ID *string `json:"id,omitempty"`
8014	// Name - Resource Name
8015	Name *string `json:"name,omitempty"`
8016	// Kind - Kind of resource
8017	Kind *string `json:"kind,omitempty"`
8018	// Location - Resource Location
8019	Location *string `json:"location,omitempty"`
8020	// Type - Resource type
8021	Type *string `json:"type,omitempty"`
8022	// Tags - Resource tags
8023	Tags map[string]*string `json:"tags"`
8024}
8025
8026// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8027// MarshalJSON is the custom marshaler for ManagedHostingEnvironment.
8028func (mhe ManagedHostingEnvironment) MarshalJSON() ([]byte, error) {
8029	objectMap := make(map[string]interface{})
8030	if mhe.ManagedHostingEnvironmentProperties != nil {
8031		objectMap["properties"] = mhe.ManagedHostingEnvironmentProperties
8032	}
8033	if mhe.ID != nil {
8034		objectMap["id"] = mhe.ID
8035	}
8036	if mhe.Name != nil {
8037		objectMap["name"] = mhe.Name
8038	}
8039	if mhe.Kind != nil {
8040		objectMap["kind"] = mhe.Kind
8041	}
8042	if mhe.Location != nil {
8043		objectMap["location"] = mhe.Location
8044	}
8045	if mhe.Type != nil {
8046		objectMap["type"] = mhe.Type
8047	}
8048	if mhe.Tags != nil {
8049		objectMap["tags"] = mhe.Tags
8050	}
8051	return json.Marshal(objectMap)
8052}
8053
8054// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8055// UnmarshalJSON is the custom unmarshaler for ManagedHostingEnvironment struct.
8056func (mhe *ManagedHostingEnvironment) UnmarshalJSON(body []byte) error {
8057	var m map[string]*json.RawMessage
8058	err := json.Unmarshal(body, &m)
8059	if err != nil {
8060		return err
8061	}
8062	for k, v := range m {
8063		switch k {
8064		case "properties":
8065			if v != nil {
8066				var managedHostingEnvironmentProperties ManagedHostingEnvironmentProperties
8067				err = json.Unmarshal(*v, &managedHostingEnvironmentProperties)
8068				if err != nil {
8069					return err
8070				}
8071				mhe.ManagedHostingEnvironmentProperties = &managedHostingEnvironmentProperties
8072			}
8073		case "id":
8074			if v != nil {
8075				var ID string
8076				err = json.Unmarshal(*v, &ID)
8077				if err != nil {
8078					return err
8079				}
8080				mhe.ID = &ID
8081			}
8082		case "name":
8083			if v != nil {
8084				var name string
8085				err = json.Unmarshal(*v, &name)
8086				if err != nil {
8087					return err
8088				}
8089				mhe.Name = &name
8090			}
8091		case "kind":
8092			if v != nil {
8093				var kind string
8094				err = json.Unmarshal(*v, &kind)
8095				if err != nil {
8096					return err
8097				}
8098				mhe.Kind = &kind
8099			}
8100		case "location":
8101			if v != nil {
8102				var location string
8103				err = json.Unmarshal(*v, &location)
8104				if err != nil {
8105					return err
8106				}
8107				mhe.Location = &location
8108			}
8109		case "type":
8110			if v != nil {
8111				var typeVar string
8112				err = json.Unmarshal(*v, &typeVar)
8113				if err != nil {
8114					return err
8115				}
8116				mhe.Type = &typeVar
8117			}
8118		case "tags":
8119			if v != nil {
8120				var tags map[string]*string
8121				err = json.Unmarshal(*v, &tags)
8122				if err != nil {
8123					return err
8124				}
8125				mhe.Tags = tags
8126			}
8127		}
8128	}
8129
8130	return nil
8131}
8132
8133// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8134// ManagedHostingEnvironmentCollection collection of managed hosting environments
8135type ManagedHostingEnvironmentCollection struct {
8136	autorest.Response `json:"-"`
8137	// Value - Collection of resources
8138	Value *[]ManagedHostingEnvironment `json:"value,omitempty"`
8139	// NextLink - Link to next page of resources
8140	NextLink *string `json:"nextLink,omitempty"`
8141}
8142
8143// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8144// ManagedHostingEnvironmentCollectionIterator provides access to a complete listing of ManagedHostingEnvironment
8145// values.
8146type ManagedHostingEnvironmentCollectionIterator struct {
8147	i    int
8148	page ManagedHostingEnvironmentCollectionPage
8149}
8150
8151// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8152// Next advances to the next value.  If there was an error making
8153// the request the iterator does not advance and the error is returned.
8154func (iter *ManagedHostingEnvironmentCollectionIterator) Next() error {
8155	iter.i++
8156	if iter.i < len(iter.page.Values()) {
8157		return nil
8158	}
8159	err := iter.page.Next()
8160	if err != nil {
8161		iter.i--
8162		return err
8163	}
8164	iter.i = 0
8165	return nil
8166}
8167
8168// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8169// NotDone returns true if the enumeration should be started or is not yet complete.
8170func (iter ManagedHostingEnvironmentCollectionIterator) NotDone() bool {
8171	return iter.page.NotDone() && iter.i < len(iter.page.Values())
8172}
8173
8174// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8175// Response returns the raw server response from the last page request.
8176func (iter ManagedHostingEnvironmentCollectionIterator) Response() ManagedHostingEnvironmentCollection {
8177	return iter.page.Response()
8178}
8179
8180// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8181// Value returns the current value or a zero-initialized value if the
8182// iterator has advanced beyond the end of the collection.
8183func (iter ManagedHostingEnvironmentCollectionIterator) Value() ManagedHostingEnvironment {
8184	if !iter.page.NotDone() {
8185		return ManagedHostingEnvironment{}
8186	}
8187	return iter.page.Values()[iter.i]
8188}
8189
8190// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8191// IsEmpty returns true if the ListResult contains no values.
8192func (mhec ManagedHostingEnvironmentCollection) IsEmpty() bool {
8193	return mhec.Value == nil || len(*mhec.Value) == 0
8194}
8195
8196// managedHostingEnvironmentCollectionPreparer prepares a request to retrieve the next set of results.
8197// It returns nil if no more results exist.
8198func (mhec ManagedHostingEnvironmentCollection) managedHostingEnvironmentCollectionPreparer() (*http.Request, error) {
8199	if mhec.NextLink == nil || len(to.String(mhec.NextLink)) < 1 {
8200		return nil, nil
8201	}
8202	return autorest.Prepare(&http.Request{},
8203		autorest.AsJSON(),
8204		autorest.AsGet(),
8205		autorest.WithBaseURL(to.String(mhec.NextLink)))
8206}
8207
8208// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8209// ManagedHostingEnvironmentCollectionPage contains a page of ManagedHostingEnvironment values.
8210type ManagedHostingEnvironmentCollectionPage struct {
8211	fn   func(ManagedHostingEnvironmentCollection) (ManagedHostingEnvironmentCollection, error)
8212	mhec ManagedHostingEnvironmentCollection
8213}
8214
8215// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8216// Next advances to the next page of values.  If there was an error making
8217// the request the page does not advance and the error is returned.
8218func (page *ManagedHostingEnvironmentCollectionPage) Next() error {
8219	next, err := page.fn(page.mhec)
8220	if err != nil {
8221		return err
8222	}
8223	page.mhec = next
8224	return nil
8225}
8226
8227// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8228// NotDone returns true if the page enumeration should be started or is not yet complete.
8229func (page ManagedHostingEnvironmentCollectionPage) NotDone() bool {
8230	return !page.mhec.IsEmpty()
8231}
8232
8233// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8234// Response returns the raw server response from the last page request.
8235func (page ManagedHostingEnvironmentCollectionPage) Response() ManagedHostingEnvironmentCollection {
8236	return page.mhec
8237}
8238
8239// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8240// Values returns the slice of values for the current page or nil if there are no values.
8241func (page ManagedHostingEnvironmentCollectionPage) Values() []ManagedHostingEnvironment {
8242	if page.mhec.IsEmpty() {
8243		return nil
8244	}
8245	return *page.mhec.Value
8246}
8247
8248// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8249// ManagedHostingEnvironmentProperties ...
8250type ManagedHostingEnvironmentProperties struct {
8251	// Name - Name of the managed hosting environment
8252	Name *string `json:"name,omitempty"`
8253	// Location - Location of the managed hosting environment e.g. "West US"
8254	Location *string `json:"location,omitempty"`
8255	// Status - Current status of the managed hosting environment. Possible values include: 'ManagedHostingEnvironmentStatusPreparing', 'ManagedHostingEnvironmentStatusReady', 'ManagedHostingEnvironmentStatusDeleting'
8256	Status ManagedHostingEnvironmentStatus `json:"status,omitempty"`
8257	// VirtualNetwork - Description of the managed hosting environment's virtual network
8258	VirtualNetwork *VirtualNetworkProfile `json:"virtualNetwork,omitempty"`
8259	// IpsslAddressCount - Number of ip ssl addresses reserved for the managed hosting environment
8260	IpsslAddressCount *int32 `json:"ipsslAddressCount,omitempty"`
8261	// DNSSuffix - DNS suffix of the managed hosting environment
8262	DNSSuffix *string `json:"dnsSuffix,omitempty"`
8263	// SubscriptionID - Subscription of the managed hosting environment (read only)
8264	SubscriptionID *string `json:"subscriptionId,omitempty"`
8265	// ResourceGroup - Resource group of the managed hosting environment (read only)
8266	ResourceGroup *string `json:"resourceGroup,omitempty"`
8267	// EnvironmentIsHealthy - True/false indicating whether the managed hosting environment is healthy
8268	EnvironmentIsHealthy *bool `json:"environmentIsHealthy,omitempty"`
8269	// EnvironmentStatus - Detailed message about with results of the last check of the managed hosting environment
8270	EnvironmentStatus *string `json:"environmentStatus,omitempty"`
8271	// Suspended - True/false indicating whether the managed hosting environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available
8272	//             (most likely because NSG blocked the incoming traffic)
8273	Suspended *bool `json:"suspended,omitempty"`
8274	// APIManagementAccount - Resource id of the api management account associated with this managed hosting environment (read only)
8275	APIManagementAccount *string `json:"apiManagementAccount,omitempty"`
8276}
8277
8278// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8279// ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture an abstraction for monitoring and
8280// retrieving the results of a long-running operation.
8281type ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture struct {
8282	azure.Future
8283	req *http.Request
8284}
8285
8286// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8287// Result returns the result of the asynchronous operation.
8288// If the operation has not completed it will return an error.
8289func (future ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture) Result(client ManagedHostingEnvironmentsClient) (he HostingEnvironment, err error) {
8290	var done bool
8291	done, err = future.Done(client)
8292	if err != nil {
8293		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
8294		return
8295	}
8296	if !done {
8297		return he, azure.NewAsyncOpIncompleteError("web.ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture")
8298	}
8299	if future.PollingMethod() == azure.PollingLocation {
8300		he, err = client.CreateOrUpdateManagedHostingEnvironmentResponder(future.Response())
8301		if err != nil {
8302			err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
8303		}
8304		return
8305	}
8306	var req *http.Request
8307	var resp *http.Response
8308	if future.PollingURL() != "" {
8309		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
8310		if err != nil {
8311			return
8312		}
8313	} else {
8314		req = autorest.ChangeToGet(future.req)
8315	}
8316	resp, err = autorest.SendWithSender(client, req,
8317		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
8318	if err != nil {
8319		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture", "Result", resp, "Failure sending request")
8320		return
8321	}
8322	he, err = client.CreateOrUpdateManagedHostingEnvironmentResponder(resp)
8323	if err != nil {
8324		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsCreateOrUpdateManagedHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
8325	}
8326	return
8327}
8328
8329// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8330// ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture an abstraction for monitoring and retrieving the
8331// results of a long-running operation.
8332type ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture struct {
8333	azure.Future
8334	req *http.Request
8335}
8336
8337// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8338// Result returns the result of the asynchronous operation.
8339// If the operation has not completed it will return an error.
8340func (future ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture) Result(client ManagedHostingEnvironmentsClient) (so SetObject, err error) {
8341	var done bool
8342	done, err = future.Done(client)
8343	if err != nil {
8344		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture", "Result", future.Response(), "Polling failure")
8345		return
8346	}
8347	if !done {
8348		return so, azure.NewAsyncOpIncompleteError("web.ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture")
8349	}
8350	if future.PollingMethod() == azure.PollingLocation {
8351		so, err = client.DeleteManagedHostingEnvironmentResponder(future.Response())
8352		if err != nil {
8353			err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture", "Result", future.Response(), "Failure responding to request")
8354		}
8355		return
8356	}
8357	var req *http.Request
8358	var resp *http.Response
8359	if future.PollingURL() != "" {
8360		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
8361		if err != nil {
8362			return
8363		}
8364	} else {
8365		req = autorest.ChangeToGet(future.req)
8366	}
8367	resp, err = autorest.SendWithSender(client, req,
8368		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
8369	if err != nil {
8370		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture", "Result", resp, "Failure sending request")
8371		return
8372	}
8373	so, err = client.DeleteManagedHostingEnvironmentResponder(resp)
8374	if err != nil {
8375		err = autorest.NewErrorWithError(err, "web.ManagedHostingEnvironmentsDeleteManagedHostingEnvironmentFuture", "Result", resp, "Failure responding to request")
8376	}
8377	return
8378}
8379
8380// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8381// MetricAvailabilily class repesenting metrics availability and retention
8382type MetricAvailabilily struct {
8383	// TimeGrain - Time grain
8384	TimeGrain *string `json:"timeGrain,omitempty"`
8385	// Retention - Retention period for the current {Microsoft.Web.Hosting.Administration.MetricAvailabilily.TimeGrain}
8386	Retention *string `json:"retention,omitempty"`
8387}
8388
8389// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8390// MetricDefinition class repesenting metadata for the metrics
8391type MetricDefinition struct {
8392	autorest.Response           `json:"-"`
8393	*MetricDefinitionProperties `json:"properties,omitempty"`
8394	// ID - Resource Id
8395	ID *string `json:"id,omitempty"`
8396	// Name - Resource Name
8397	Name *string `json:"name,omitempty"`
8398	// Kind - Kind of resource
8399	Kind *string `json:"kind,omitempty"`
8400	// Location - Resource Location
8401	Location *string `json:"location,omitempty"`
8402	// Type - Resource type
8403	Type *string `json:"type,omitempty"`
8404	// Tags - Resource tags
8405	Tags map[string]*string `json:"tags"`
8406}
8407
8408// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8409// MarshalJSON is the custom marshaler for MetricDefinition.
8410func (md MetricDefinition) MarshalJSON() ([]byte, error) {
8411	objectMap := make(map[string]interface{})
8412	if md.MetricDefinitionProperties != nil {
8413		objectMap["properties"] = md.MetricDefinitionProperties
8414	}
8415	if md.ID != nil {
8416		objectMap["id"] = md.ID
8417	}
8418	if md.Name != nil {
8419		objectMap["name"] = md.Name
8420	}
8421	if md.Kind != nil {
8422		objectMap["kind"] = md.Kind
8423	}
8424	if md.Location != nil {
8425		objectMap["location"] = md.Location
8426	}
8427	if md.Type != nil {
8428		objectMap["type"] = md.Type
8429	}
8430	if md.Tags != nil {
8431		objectMap["tags"] = md.Tags
8432	}
8433	return json.Marshal(objectMap)
8434}
8435
8436// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8437// UnmarshalJSON is the custom unmarshaler for MetricDefinition struct.
8438func (md *MetricDefinition) UnmarshalJSON(body []byte) error {
8439	var m map[string]*json.RawMessage
8440	err := json.Unmarshal(body, &m)
8441	if err != nil {
8442		return err
8443	}
8444	for k, v := range m {
8445		switch k {
8446		case "properties":
8447			if v != nil {
8448				var metricDefinitionProperties MetricDefinitionProperties
8449				err = json.Unmarshal(*v, &metricDefinitionProperties)
8450				if err != nil {
8451					return err
8452				}
8453				md.MetricDefinitionProperties = &metricDefinitionProperties
8454			}
8455		case "id":
8456			if v != nil {
8457				var ID string
8458				err = json.Unmarshal(*v, &ID)
8459				if err != nil {
8460					return err
8461				}
8462				md.ID = &ID
8463			}
8464		case "name":
8465			if v != nil {
8466				var name string
8467				err = json.Unmarshal(*v, &name)
8468				if err != nil {
8469					return err
8470				}
8471				md.Name = &name
8472			}
8473		case "kind":
8474			if v != nil {
8475				var kind string
8476				err = json.Unmarshal(*v, &kind)
8477				if err != nil {
8478					return err
8479				}
8480				md.Kind = &kind
8481			}
8482		case "location":
8483			if v != nil {
8484				var location string
8485				err = json.Unmarshal(*v, &location)
8486				if err != nil {
8487					return err
8488				}
8489				md.Location = &location
8490			}
8491		case "type":
8492			if v != nil {
8493				var typeVar string
8494				err = json.Unmarshal(*v, &typeVar)
8495				if err != nil {
8496					return err
8497				}
8498				md.Type = &typeVar
8499			}
8500		case "tags":
8501			if v != nil {
8502				var tags map[string]*string
8503				err = json.Unmarshal(*v, &tags)
8504				if err != nil {
8505					return err
8506				}
8507				md.Tags = tags
8508			}
8509		}
8510	}
8511
8512	return nil
8513}
8514
8515// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8516// MetricDefinitionCollection collection of metric defintions
8517type MetricDefinitionCollection struct {
8518	autorest.Response `json:"-"`
8519	// Value - Collection of resources
8520	Value *[]MetricDefinition `json:"value,omitempty"`
8521	// NextLink - Link to next page of resources
8522	NextLink *string `json:"nextLink,omitempty"`
8523}
8524
8525// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8526// MetricDefinitionCollectionIterator provides access to a complete listing of MetricDefinition values.
8527type MetricDefinitionCollectionIterator struct {
8528	i    int
8529	page MetricDefinitionCollectionPage
8530}
8531
8532// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8533// Next advances to the next value.  If there was an error making
8534// the request the iterator does not advance and the error is returned.
8535func (iter *MetricDefinitionCollectionIterator) Next() error {
8536	iter.i++
8537	if iter.i < len(iter.page.Values()) {
8538		return nil
8539	}
8540	err := iter.page.Next()
8541	if err != nil {
8542		iter.i--
8543		return err
8544	}
8545	iter.i = 0
8546	return nil
8547}
8548
8549// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8550// NotDone returns true if the enumeration should be started or is not yet complete.
8551func (iter MetricDefinitionCollectionIterator) NotDone() bool {
8552	return iter.page.NotDone() && iter.i < len(iter.page.Values())
8553}
8554
8555// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8556// Response returns the raw server response from the last page request.
8557func (iter MetricDefinitionCollectionIterator) Response() MetricDefinitionCollection {
8558	return iter.page.Response()
8559}
8560
8561// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8562// Value returns the current value or a zero-initialized value if the
8563// iterator has advanced beyond the end of the collection.
8564func (iter MetricDefinitionCollectionIterator) Value() MetricDefinition {
8565	if !iter.page.NotDone() {
8566		return MetricDefinition{}
8567	}
8568	return iter.page.Values()[iter.i]
8569}
8570
8571// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8572// IsEmpty returns true if the ListResult contains no values.
8573func (mdc MetricDefinitionCollection) IsEmpty() bool {
8574	return mdc.Value == nil || len(*mdc.Value) == 0
8575}
8576
8577// metricDefinitionCollectionPreparer prepares a request to retrieve the next set of results.
8578// It returns nil if no more results exist.
8579func (mdc MetricDefinitionCollection) metricDefinitionCollectionPreparer() (*http.Request, error) {
8580	if mdc.NextLink == nil || len(to.String(mdc.NextLink)) < 1 {
8581		return nil, nil
8582	}
8583	return autorest.Prepare(&http.Request{},
8584		autorest.AsJSON(),
8585		autorest.AsGet(),
8586		autorest.WithBaseURL(to.String(mdc.NextLink)))
8587}
8588
8589// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8590// MetricDefinitionCollectionPage contains a page of MetricDefinition values.
8591type MetricDefinitionCollectionPage struct {
8592	fn  func(MetricDefinitionCollection) (MetricDefinitionCollection, error)
8593	mdc MetricDefinitionCollection
8594}
8595
8596// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8597// Next advances to the next page of values.  If there was an error making
8598// the request the page does not advance and the error is returned.
8599func (page *MetricDefinitionCollectionPage) Next() error {
8600	next, err := page.fn(page.mdc)
8601	if err != nil {
8602		return err
8603	}
8604	page.mdc = next
8605	return nil
8606}
8607
8608// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8609// NotDone returns true if the page enumeration should be started or is not yet complete.
8610func (page MetricDefinitionCollectionPage) NotDone() bool {
8611	return !page.mdc.IsEmpty()
8612}
8613
8614// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8615// Response returns the raw server response from the last page request.
8616func (page MetricDefinitionCollectionPage) Response() MetricDefinitionCollection {
8617	return page.mdc
8618}
8619
8620// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8621// Values returns the slice of values for the current page or nil if there are no values.
8622func (page MetricDefinitionCollectionPage) Values() []MetricDefinition {
8623	if page.mdc.IsEmpty() {
8624		return nil
8625	}
8626	return *page.mdc.Value
8627}
8628
8629// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8630// MetricDefinitionProperties ...
8631type MetricDefinitionProperties struct {
8632	// Name - Name of the metric
8633	Name *string `json:"name,omitempty"`
8634	// Unit - Unit of the metric
8635	Unit *string `json:"unit,omitempty"`
8636	// PrimaryAggregationType - Primary aggregation type
8637	PrimaryAggregationType *string `json:"primaryAggregationType,omitempty"`
8638	// MetricAvailabilities - List of time grains supported for the metric together with retention period
8639	MetricAvailabilities *[]MetricAvailabilily `json:"metricAvailabilities,omitempty"`
8640	// DisplayName - Friendly name shown in the UI
8641	DisplayName *string `json:"displayName,omitempty"`
8642}
8643
8644// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8645// NameIdentifier identifies an object
8646type NameIdentifier struct {
8647	// Name - Name of the object
8648	Name *string `json:"name,omitempty"`
8649}
8650
8651// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8652// NameIdentifierCollection collection of domain name identifiers
8653type NameIdentifierCollection struct {
8654	autorest.Response `json:"-"`
8655	// Value - Collection of resources
8656	Value *[]NameIdentifier `json:"value,omitempty"`
8657	// NextLink - Link to next page of resources
8658	NextLink *string `json:"nextLink,omitempty"`
8659}
8660
8661// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8662// NameIdentifierCollectionIterator provides access to a complete listing of NameIdentifier values.
8663type NameIdentifierCollectionIterator struct {
8664	i    int
8665	page NameIdentifierCollectionPage
8666}
8667
8668// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8669// Next advances to the next value.  If there was an error making
8670// the request the iterator does not advance and the error is returned.
8671func (iter *NameIdentifierCollectionIterator) Next() error {
8672	iter.i++
8673	if iter.i < len(iter.page.Values()) {
8674		return nil
8675	}
8676	err := iter.page.Next()
8677	if err != nil {
8678		iter.i--
8679		return err
8680	}
8681	iter.i = 0
8682	return nil
8683}
8684
8685// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8686// NotDone returns true if the enumeration should be started or is not yet complete.
8687func (iter NameIdentifierCollectionIterator) NotDone() bool {
8688	return iter.page.NotDone() && iter.i < len(iter.page.Values())
8689}
8690
8691// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8692// Response returns the raw server response from the last page request.
8693func (iter NameIdentifierCollectionIterator) Response() NameIdentifierCollection {
8694	return iter.page.Response()
8695}
8696
8697// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8698// Value returns the current value or a zero-initialized value if the
8699// iterator has advanced beyond the end of the collection.
8700func (iter NameIdentifierCollectionIterator) Value() NameIdentifier {
8701	if !iter.page.NotDone() {
8702		return NameIdentifier{}
8703	}
8704	return iter.page.Values()[iter.i]
8705}
8706
8707// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8708// IsEmpty returns true if the ListResult contains no values.
8709func (nic NameIdentifierCollection) IsEmpty() bool {
8710	return nic.Value == nil || len(*nic.Value) == 0
8711}
8712
8713// nameIdentifierCollectionPreparer prepares a request to retrieve the next set of results.
8714// It returns nil if no more results exist.
8715func (nic NameIdentifierCollection) nameIdentifierCollectionPreparer() (*http.Request, error) {
8716	if nic.NextLink == nil || len(to.String(nic.NextLink)) < 1 {
8717		return nil, nil
8718	}
8719	return autorest.Prepare(&http.Request{},
8720		autorest.AsJSON(),
8721		autorest.AsGet(),
8722		autorest.WithBaseURL(to.String(nic.NextLink)))
8723}
8724
8725// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8726// NameIdentifierCollectionPage contains a page of NameIdentifier values.
8727type NameIdentifierCollectionPage struct {
8728	fn  func(NameIdentifierCollection) (NameIdentifierCollection, error)
8729	nic NameIdentifierCollection
8730}
8731
8732// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8733// Next advances to the next page of values.  If there was an error making
8734// the request the page does not advance and the error is returned.
8735func (page *NameIdentifierCollectionPage) Next() error {
8736	next, err := page.fn(page.nic)
8737	if err != nil {
8738		return err
8739	}
8740	page.nic = next
8741	return nil
8742}
8743
8744// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8745// NotDone returns true if the page enumeration should be started or is not yet complete.
8746func (page NameIdentifierCollectionPage) NotDone() bool {
8747	return !page.nic.IsEmpty()
8748}
8749
8750// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8751// Response returns the raw server response from the last page request.
8752func (page NameIdentifierCollectionPage) Response() NameIdentifierCollection {
8753	return page.nic
8754}
8755
8756// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8757// Values returns the slice of values for the current page or nil if there are no values.
8758func (page NameIdentifierCollectionPage) Values() []NameIdentifier {
8759	if page.nic.IsEmpty() {
8760		return nil
8761	}
8762	return *page.nic.Value
8763}
8764
8765// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8766// NameValuePair name value pair
8767type NameValuePair struct {
8768	// Name - Pair name
8769	Name *string `json:"name,omitempty"`
8770	// Value - Pair value
8771	Value *string `json:"value,omitempty"`
8772}
8773
8774// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8775// NetworkAccessControlEntry ...
8776type NetworkAccessControlEntry struct {
8777	// Action - Possible values include: 'Permit', 'Deny'
8778	Action       AccessControlEntryAction `json:"action,omitempty"`
8779	Description  *string                  `json:"description,omitempty"`
8780	Order        *int32                   `json:"order,omitempty"`
8781	RemoteSubnet *string                  `json:"remoteSubnet,omitempty"`
8782}
8783
8784// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8785// NetworkFeatures this is an object used to store a full view of network features (presently VNET integration and
8786// Hybrid Connections)
8787// for a web app.
8788type NetworkFeatures struct {
8789	autorest.Response          `json:"-"`
8790	*NetworkFeaturesProperties `json:"properties,omitempty"`
8791	// ID - Resource Id
8792	ID *string `json:"id,omitempty"`
8793	// Name - Resource Name
8794	Name *string `json:"name,omitempty"`
8795	// Kind - Kind of resource
8796	Kind *string `json:"kind,omitempty"`
8797	// Location - Resource Location
8798	Location *string `json:"location,omitempty"`
8799	// Type - Resource type
8800	Type *string `json:"type,omitempty"`
8801	// Tags - Resource tags
8802	Tags map[string]*string `json:"tags"`
8803}
8804
8805// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8806// MarshalJSON is the custom marshaler for NetworkFeatures.
8807func (nf NetworkFeatures) MarshalJSON() ([]byte, error) {
8808	objectMap := make(map[string]interface{})
8809	if nf.NetworkFeaturesProperties != nil {
8810		objectMap["properties"] = nf.NetworkFeaturesProperties
8811	}
8812	if nf.ID != nil {
8813		objectMap["id"] = nf.ID
8814	}
8815	if nf.Name != nil {
8816		objectMap["name"] = nf.Name
8817	}
8818	if nf.Kind != nil {
8819		objectMap["kind"] = nf.Kind
8820	}
8821	if nf.Location != nil {
8822		objectMap["location"] = nf.Location
8823	}
8824	if nf.Type != nil {
8825		objectMap["type"] = nf.Type
8826	}
8827	if nf.Tags != nil {
8828		objectMap["tags"] = nf.Tags
8829	}
8830	return json.Marshal(objectMap)
8831}
8832
8833// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8834// UnmarshalJSON is the custom unmarshaler for NetworkFeatures struct.
8835func (nf *NetworkFeatures) UnmarshalJSON(body []byte) error {
8836	var m map[string]*json.RawMessage
8837	err := json.Unmarshal(body, &m)
8838	if err != nil {
8839		return err
8840	}
8841	for k, v := range m {
8842		switch k {
8843		case "properties":
8844			if v != nil {
8845				var networkFeaturesProperties NetworkFeaturesProperties
8846				err = json.Unmarshal(*v, &networkFeaturesProperties)
8847				if err != nil {
8848					return err
8849				}
8850				nf.NetworkFeaturesProperties = &networkFeaturesProperties
8851			}
8852		case "id":
8853			if v != nil {
8854				var ID string
8855				err = json.Unmarshal(*v, &ID)
8856				if err != nil {
8857					return err
8858				}
8859				nf.ID = &ID
8860			}
8861		case "name":
8862			if v != nil {
8863				var name string
8864				err = json.Unmarshal(*v, &name)
8865				if err != nil {
8866					return err
8867				}
8868				nf.Name = &name
8869			}
8870		case "kind":
8871			if v != nil {
8872				var kind string
8873				err = json.Unmarshal(*v, &kind)
8874				if err != nil {
8875					return err
8876				}
8877				nf.Kind = &kind
8878			}
8879		case "location":
8880			if v != nil {
8881				var location string
8882				err = json.Unmarshal(*v, &location)
8883				if err != nil {
8884					return err
8885				}
8886				nf.Location = &location
8887			}
8888		case "type":
8889			if v != nil {
8890				var typeVar string
8891				err = json.Unmarshal(*v, &typeVar)
8892				if err != nil {
8893					return err
8894				}
8895				nf.Type = &typeVar
8896			}
8897		case "tags":
8898			if v != nil {
8899				var tags map[string]*string
8900				err = json.Unmarshal(*v, &tags)
8901				if err != nil {
8902					return err
8903				}
8904				nf.Tags = tags
8905			}
8906		}
8907	}
8908
8909	return nil
8910}
8911
8912// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8913// NetworkFeaturesProperties ...
8914type NetworkFeaturesProperties struct {
8915	// VirtualNetworkName - The Vnet Name
8916	VirtualNetworkName *string `json:"virtualNetworkName,omitempty"`
8917	// VirtualNetworkConnection - The Vnet Summary view
8918	VirtualNetworkConnection *VnetInfo `json:"virtualNetworkConnection,omitempty"`
8919	// HybridConnections - The Hybrid Connections Summary view
8920	HybridConnections *[]RelayServiceConnectionEntity `json:"hybridConnections,omitempty"`
8921}
8922
8923// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8924// ParameterCustomLoginSettingValues custom logging setting values
8925type ParameterCustomLoginSettingValues struct {
8926	*ParameterCustomLoginSettingValuesProperties `json:"properties,omitempty"`
8927	// ID - Resource Id
8928	ID *string `json:"id,omitempty"`
8929	// Name - Resource Name
8930	Name *string `json:"name,omitempty"`
8931	// Kind - Kind of resource
8932	Kind *string `json:"kind,omitempty"`
8933	// Location - Resource Location
8934	Location *string `json:"location,omitempty"`
8935	// Type - Resource type
8936	Type *string `json:"type,omitempty"`
8937	// Tags - Resource tags
8938	Tags map[string]*string `json:"tags"`
8939}
8940
8941// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8942// MarshalJSON is the custom marshaler for ParameterCustomLoginSettingValues.
8943func (pclsv ParameterCustomLoginSettingValues) MarshalJSON() ([]byte, error) {
8944	objectMap := make(map[string]interface{})
8945	if pclsv.ParameterCustomLoginSettingValuesProperties != nil {
8946		objectMap["properties"] = pclsv.ParameterCustomLoginSettingValuesProperties
8947	}
8948	if pclsv.ID != nil {
8949		objectMap["id"] = pclsv.ID
8950	}
8951	if pclsv.Name != nil {
8952		objectMap["name"] = pclsv.Name
8953	}
8954	if pclsv.Kind != nil {
8955		objectMap["kind"] = pclsv.Kind
8956	}
8957	if pclsv.Location != nil {
8958		objectMap["location"] = pclsv.Location
8959	}
8960	if pclsv.Type != nil {
8961		objectMap["type"] = pclsv.Type
8962	}
8963	if pclsv.Tags != nil {
8964		objectMap["tags"] = pclsv.Tags
8965	}
8966	return json.Marshal(objectMap)
8967}
8968
8969// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
8970// UnmarshalJSON is the custom unmarshaler for ParameterCustomLoginSettingValues struct.
8971func (pclsv *ParameterCustomLoginSettingValues) UnmarshalJSON(body []byte) error {
8972	var m map[string]*json.RawMessage
8973	err := json.Unmarshal(body, &m)
8974	if err != nil {
8975		return err
8976	}
8977	for k, v := range m {
8978		switch k {
8979		case "properties":
8980			if v != nil {
8981				var parameterCustomLoginSettingValuesProperties ParameterCustomLoginSettingValuesProperties
8982				err = json.Unmarshal(*v, &parameterCustomLoginSettingValuesProperties)
8983				if err != nil {
8984					return err
8985				}
8986				pclsv.ParameterCustomLoginSettingValuesProperties = &parameterCustomLoginSettingValuesProperties
8987			}
8988		case "id":
8989			if v != nil {
8990				var ID string
8991				err = json.Unmarshal(*v, &ID)
8992				if err != nil {
8993					return err
8994				}
8995				pclsv.ID = &ID
8996			}
8997		case "name":
8998			if v != nil {
8999				var name string
9000				err = json.Unmarshal(*v, &name)
9001				if err != nil {
9002					return err
9003				}
9004				pclsv.Name = &name
9005			}
9006		case "kind":
9007			if v != nil {
9008				var kind string
9009				err = json.Unmarshal(*v, &kind)
9010				if err != nil {
9011					return err
9012				}
9013				pclsv.Kind = &kind
9014			}
9015		case "location":
9016			if v != nil {
9017				var location string
9018				err = json.Unmarshal(*v, &location)
9019				if err != nil {
9020					return err
9021				}
9022				pclsv.Location = &location
9023			}
9024		case "type":
9025			if v != nil {
9026				var typeVar string
9027				err = json.Unmarshal(*v, &typeVar)
9028				if err != nil {
9029					return err
9030				}
9031				pclsv.Type = &typeVar
9032			}
9033		case "tags":
9034			if v != nil {
9035				var tags map[string]*string
9036				err = json.Unmarshal(*v, &tags)
9037				if err != nil {
9038					return err
9039				}
9040				pclsv.Tags = tags
9041			}
9042		}
9043	}
9044
9045	return nil
9046}
9047
9048// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9049// ParameterCustomLoginSettingValuesProperties ...
9050type ParameterCustomLoginSettingValuesProperties struct {
9051	// CustomParameters - Custom parameters.
9052	CustomParameters map[string]*CustomLoginSettingValue `json:"customParameters"`
9053}
9054
9055// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9056// MarshalJSON is the custom marshaler for ParameterCustomLoginSettingValuesProperties.
9057func (pclsv ParameterCustomLoginSettingValuesProperties) MarshalJSON() ([]byte, error) {
9058	objectMap := make(map[string]interface{})
9059	if pclsv.CustomParameters != nil {
9060		objectMap["customParameters"] = pclsv.CustomParameters
9061	}
9062	return json.Marshal(objectMap)
9063}
9064
9065// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9066// PremierAddOnRequest ...
9067type PremierAddOnRequest struct {
9068	// Location - Geo region resource belongs to e.g. SouthCentralUS, SouthEastAsia
9069	Location *string `json:"location,omitempty"`
9070	// Tags - Tags associated with resource
9071	Tags map[string]*string `json:"tags"`
9072	// Plan - Azure resource manager plan
9073	Plan *ArmPlan `json:"plan,omitempty"`
9074	// Properties - Resource specific properties
9075	Properties interface{} `json:"properties,omitempty"`
9076	// Sku - Sku description of the resource
9077	Sku *SkuDescription `json:"sku,omitempty"`
9078}
9079
9080// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9081// MarshalJSON is the custom marshaler for PremierAddOnRequest.
9082func (paor PremierAddOnRequest) MarshalJSON() ([]byte, error) {
9083	objectMap := make(map[string]interface{})
9084	if paor.Location != nil {
9085		objectMap["location"] = paor.Location
9086	}
9087	if paor.Tags != nil {
9088		objectMap["tags"] = paor.Tags
9089	}
9090	if paor.Plan != nil {
9091		objectMap["plan"] = paor.Plan
9092	}
9093	objectMap["properties"] = paor.Properties
9094	if paor.Sku != nil {
9095		objectMap["sku"] = paor.Sku
9096	}
9097	return json.Marshal(objectMap)
9098}
9099
9100// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9101// RampUpRule routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to
9102// gradually change routing % based on performance
9103type RampUpRule struct {
9104	// ActionHostName - Hostname of a slot to which the traffic will be redirected if decided to. E.g. mysite-stage.azurewebsites.net
9105	ActionHostName *string `json:"actionHostName,omitempty"`
9106	// ReroutePercentage - Percentage of the traffic which will be redirected to {Microsoft.Web.Hosting.Administration.RampUpRule.ActionHostName}
9107	ReroutePercentage *float64 `json:"reroutePercentage,omitempty"`
9108	// ChangeStep - [Optional] In auto ramp up scenario this is the step to to add/remove from {Microsoft.Web.Hosting.Administration.RampUpRule.ReroutePercentage} until it reaches
9109	//             {Microsoft.Web.Hosting.Administration.RampUpRule.MinReroutePercentage} or {Microsoft.Web.Hosting.Administration.RampUpRule.MaxReroutePercentage}. Site metrics are checked every N minutes specificed in {Microsoft.Web.Hosting.Administration.RampUpRule.ChangeIntervalInMinutes}.
9110	//             Custom decision algorithm can be provided in TiPCallback site extension which Url can be specified in {Microsoft.Web.Hosting.Administration.RampUpRule.ChangeDecisionCallbackUrl}
9111	ChangeStep *float64 `json:"changeStep,omitempty"`
9112	// ChangeIntervalInMinutes - [Optional] Specifies interval in mimuntes to reevaluate ReroutePercentage
9113	ChangeIntervalInMinutes *int32 `json:"changeIntervalInMinutes,omitempty"`
9114	// MinReroutePercentage - [Optional] Specifies lower boundary above which ReroutePercentage will stay.
9115	MinReroutePercentage *float64 `json:"minReroutePercentage,omitempty"`
9116	// MaxReroutePercentage - [Optional] Specifies upper boundary below which ReroutePercentage will stay.
9117	MaxReroutePercentage *float64 `json:"maxReroutePercentage,omitempty"`
9118	// 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.
9119	//             https://www.siteextensions.net/packages/TiPCallback/
9120	ChangeDecisionCallbackURL *string `json:"changeDecisionCallbackUrl,omitempty"`
9121	// Name - Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.
9122	Name *string `json:"name,omitempty"`
9123}
9124
9125// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9126// ReadCloser ...
9127type ReadCloser struct {
9128	autorest.Response `json:"-"`
9129	Value             *io.ReadCloser `json:"value,omitempty"`
9130}
9131
9132// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9133// Recommendation represents a recommendation result generated by the recommendation engine
9134type Recommendation struct {
9135	// CreationTime - Timestamp when this instance was created.
9136	CreationTime *date.Time `json:"creationTime,omitempty"`
9137	// RecommendationID - A GUID value that each recommendation object is associated with.
9138	RecommendationID *string `json:"recommendationId,omitempty"`
9139	// ResourceID - Full ARM resource ID string that this recommendation object is associated with.
9140	ResourceID *string `json:"resourceId,omitempty"`
9141	// ResourceScope - Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site.
9142	ResourceScope *string `json:"resourceScope,omitempty"`
9143	// RuleName - Unique name of the rule
9144	RuleName *string `json:"ruleName,omitempty"`
9145	// DisplayName - UI friendly name of the rule (may not be unique)
9146	DisplayName *string `json:"displayName,omitempty"`
9147	// Message - Localized text of recommendation, good for UI.
9148	Message *string `json:"message,omitempty"`
9149	// Level - Level indicating how critical this recommendation can impact. Possible values include: 'Critical', 'Warning', 'Information', 'NonUrgentSuggestion'
9150	Level NotificationLevel `json:"level,omitempty"`
9151	// Channels - List of channels that this recommendation can apply. Possible values include: 'Notification', 'API', 'Email', 'All'
9152	Channels Channels `json:"channels,omitempty"`
9153	// Tags - The list of category tags that this recommendation belongs to.
9154	Tags *[]string `json:"tags,omitempty"`
9155	// ActionName - Name of action recommended by this object.
9156	ActionName *string `json:"actionName,omitempty"`
9157	// Enabled - On/off flag indicating the rule is currently enabled or disabled.
9158	Enabled *int32 `json:"enabled,omitempty"`
9159	// StartTime - The beginning time of a range that the recommendation refers to.
9160	StartTime *date.Time `json:"startTime,omitempty"`
9161	// EndTime - The end time of a range that the recommendation refers to.
9162	EndTime *date.Time `json:"endTime,omitempty"`
9163	// NextNotificationTime - When to notify this recommendation next. Null means that this will never be notified anymore.
9164	NextNotificationTime *date.Time `json:"nextNotificationTime,omitempty"`
9165	// NotificationExpirationTime - Date and time when this notification expires.
9166	NotificationExpirationTime *date.Time `json:"notificationExpirationTime,omitempty"`
9167	// NotifiedTime - Last timestamp this instance was actually notified. Null means that this recommendation hasn't been notified yet.
9168	NotifiedTime *date.Time `json:"notifiedTime,omitempty"`
9169	// Score - A metric value measured by the rule.
9170	Score *float64 `json:"score,omitempty"`
9171}
9172
9173// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9174// RecommendationRule represents a recommendation rule that the recommendation engine can perform
9175type RecommendationRule struct {
9176	autorest.Response `json:"-"`
9177	// Name - Unique name of the rule
9178	Name *string `json:"name,omitempty"`
9179	// DisplayName - UI friendly name of the rule
9180	DisplayName *string `json:"displayName,omitempty"`
9181	// Message - Localized name of the rule (Good for UI)
9182	Message *string `json:"message,omitempty"`
9183	// RecommendationID - Recommendation ID of an associated recommendation object tied to the rule, if exists.
9184	//             If such an object doesn't exist, it is set to null.
9185	RecommendationID *string `json:"recommendationId,omitempty"`
9186	// Description - Localized detailed description of the rule
9187	Description *string `json:"description,omitempty"`
9188	// ActionName - Name of action that is recommended by this rule in string
9189	ActionName *string `json:"actionName,omitempty"`
9190	// Enabled - On/off flag indicating the rule is currently enabled or disabled.
9191	Enabled *int32 `json:"enabled,omitempty"`
9192	// Level - Level of impact indicating how critical this rule is. Possible values include: 'Critical', 'Warning', 'Information', 'NonUrgentSuggestion'
9193	Level NotificationLevel `json:"level,omitempty"`
9194	// Channels - List of available channels that this rule applies. Possible values include: 'Notification', 'API', 'Email', 'All'
9195	Channels Channels `json:"channels,omitempty"`
9196	// Tags - An array of category tags that the rule contains.
9197	Tags *[]string `json:"tags,omitempty"`
9198}
9199
9200// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9201// ReissueCertificateOrderRequest class representing certificate reissue request
9202type ReissueCertificateOrderRequest struct {
9203	*ReissueCertificateOrderRequestProperties `json:"properties,omitempty"`
9204	// ID - Resource Id
9205	ID *string `json:"id,omitempty"`
9206	// Name - Resource Name
9207	Name *string `json:"name,omitempty"`
9208	// Kind - Kind of resource
9209	Kind *string `json:"kind,omitempty"`
9210	// Location - Resource Location
9211	Location *string `json:"location,omitempty"`
9212	// Type - Resource type
9213	Type *string `json:"type,omitempty"`
9214	// Tags - Resource tags
9215	Tags map[string]*string `json:"tags"`
9216}
9217
9218// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9219// MarshalJSON is the custom marshaler for ReissueCertificateOrderRequest.
9220func (rcor ReissueCertificateOrderRequest) MarshalJSON() ([]byte, error) {
9221	objectMap := make(map[string]interface{})
9222	if rcor.ReissueCertificateOrderRequestProperties != nil {
9223		objectMap["properties"] = rcor.ReissueCertificateOrderRequestProperties
9224	}
9225	if rcor.ID != nil {
9226		objectMap["id"] = rcor.ID
9227	}
9228	if rcor.Name != nil {
9229		objectMap["name"] = rcor.Name
9230	}
9231	if rcor.Kind != nil {
9232		objectMap["kind"] = rcor.Kind
9233	}
9234	if rcor.Location != nil {
9235		objectMap["location"] = rcor.Location
9236	}
9237	if rcor.Type != nil {
9238		objectMap["type"] = rcor.Type
9239	}
9240	if rcor.Tags != nil {
9241		objectMap["tags"] = rcor.Tags
9242	}
9243	return json.Marshal(objectMap)
9244}
9245
9246// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9247// UnmarshalJSON is the custom unmarshaler for ReissueCertificateOrderRequest struct.
9248func (rcor *ReissueCertificateOrderRequest) UnmarshalJSON(body []byte) error {
9249	var m map[string]*json.RawMessage
9250	err := json.Unmarshal(body, &m)
9251	if err != nil {
9252		return err
9253	}
9254	for k, v := range m {
9255		switch k {
9256		case "properties":
9257			if v != nil {
9258				var reissueCertificateOrderRequestProperties ReissueCertificateOrderRequestProperties
9259				err = json.Unmarshal(*v, &reissueCertificateOrderRequestProperties)
9260				if err != nil {
9261					return err
9262				}
9263				rcor.ReissueCertificateOrderRequestProperties = &reissueCertificateOrderRequestProperties
9264			}
9265		case "id":
9266			if v != nil {
9267				var ID string
9268				err = json.Unmarshal(*v, &ID)
9269				if err != nil {
9270					return err
9271				}
9272				rcor.ID = &ID
9273			}
9274		case "name":
9275			if v != nil {
9276				var name string
9277				err = json.Unmarshal(*v, &name)
9278				if err != nil {
9279					return err
9280				}
9281				rcor.Name = &name
9282			}
9283		case "kind":
9284			if v != nil {
9285				var kind string
9286				err = json.Unmarshal(*v, &kind)
9287				if err != nil {
9288					return err
9289				}
9290				rcor.Kind = &kind
9291			}
9292		case "location":
9293			if v != nil {
9294				var location string
9295				err = json.Unmarshal(*v, &location)
9296				if err != nil {
9297					return err
9298				}
9299				rcor.Location = &location
9300			}
9301		case "type":
9302			if v != nil {
9303				var typeVar string
9304				err = json.Unmarshal(*v, &typeVar)
9305				if err != nil {
9306					return err
9307				}
9308				rcor.Type = &typeVar
9309			}
9310		case "tags":
9311			if v != nil {
9312				var tags map[string]*string
9313				err = json.Unmarshal(*v, &tags)
9314				if err != nil {
9315					return err
9316				}
9317				rcor.Tags = tags
9318			}
9319		}
9320	}
9321
9322	return nil
9323}
9324
9325// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9326// ReissueCertificateOrderRequestProperties ...
9327type ReissueCertificateOrderRequestProperties struct {
9328	// KeySize - Certificate Key Size
9329	KeySize *int32 `json:"keySize,omitempty"`
9330	// DelayExistingRevokeInHours - Delay in hours to revoke existing certificate after the new certificate is issued
9331	DelayExistingRevokeInHours *int32 `json:"delayExistingRevokeInHours,omitempty"`
9332}
9333
9334// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9335// RelayServiceConnectionEntity class that represents a Biztalk Hybrid Connection
9336type RelayServiceConnectionEntity struct {
9337	autorest.Response                       `json:"-"`
9338	*RelayServiceConnectionEntityProperties `json:"properties,omitempty"`
9339	// ID - Resource Id
9340	ID *string `json:"id,omitempty"`
9341	// Name - Resource Name
9342	Name *string `json:"name,omitempty"`
9343	// Kind - Kind of resource
9344	Kind *string `json:"kind,omitempty"`
9345	// Location - Resource Location
9346	Location *string `json:"location,omitempty"`
9347	// Type - Resource type
9348	Type *string `json:"type,omitempty"`
9349	// Tags - Resource tags
9350	Tags map[string]*string `json:"tags"`
9351}
9352
9353// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9354// MarshalJSON is the custom marshaler for RelayServiceConnectionEntity.
9355func (rsce RelayServiceConnectionEntity) MarshalJSON() ([]byte, error) {
9356	objectMap := make(map[string]interface{})
9357	if rsce.RelayServiceConnectionEntityProperties != nil {
9358		objectMap["properties"] = rsce.RelayServiceConnectionEntityProperties
9359	}
9360	if rsce.ID != nil {
9361		objectMap["id"] = rsce.ID
9362	}
9363	if rsce.Name != nil {
9364		objectMap["name"] = rsce.Name
9365	}
9366	if rsce.Kind != nil {
9367		objectMap["kind"] = rsce.Kind
9368	}
9369	if rsce.Location != nil {
9370		objectMap["location"] = rsce.Location
9371	}
9372	if rsce.Type != nil {
9373		objectMap["type"] = rsce.Type
9374	}
9375	if rsce.Tags != nil {
9376		objectMap["tags"] = rsce.Tags
9377	}
9378	return json.Marshal(objectMap)
9379}
9380
9381// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9382// UnmarshalJSON is the custom unmarshaler for RelayServiceConnectionEntity struct.
9383func (rsce *RelayServiceConnectionEntity) UnmarshalJSON(body []byte) error {
9384	var m map[string]*json.RawMessage
9385	err := json.Unmarshal(body, &m)
9386	if err != nil {
9387		return err
9388	}
9389	for k, v := range m {
9390		switch k {
9391		case "properties":
9392			if v != nil {
9393				var relayServiceConnectionEntityProperties RelayServiceConnectionEntityProperties
9394				err = json.Unmarshal(*v, &relayServiceConnectionEntityProperties)
9395				if err != nil {
9396					return err
9397				}
9398				rsce.RelayServiceConnectionEntityProperties = &relayServiceConnectionEntityProperties
9399			}
9400		case "id":
9401			if v != nil {
9402				var ID string
9403				err = json.Unmarshal(*v, &ID)
9404				if err != nil {
9405					return err
9406				}
9407				rsce.ID = &ID
9408			}
9409		case "name":
9410			if v != nil {
9411				var name string
9412				err = json.Unmarshal(*v, &name)
9413				if err != nil {
9414					return err
9415				}
9416				rsce.Name = &name
9417			}
9418		case "kind":
9419			if v != nil {
9420				var kind string
9421				err = json.Unmarshal(*v, &kind)
9422				if err != nil {
9423					return err
9424				}
9425				rsce.Kind = &kind
9426			}
9427		case "location":
9428			if v != nil {
9429				var location string
9430				err = json.Unmarshal(*v, &location)
9431				if err != nil {
9432					return err
9433				}
9434				rsce.Location = &location
9435			}
9436		case "type":
9437			if v != nil {
9438				var typeVar string
9439				err = json.Unmarshal(*v, &typeVar)
9440				if err != nil {
9441					return err
9442				}
9443				rsce.Type = &typeVar
9444			}
9445		case "tags":
9446			if v != nil {
9447				var tags map[string]*string
9448				err = json.Unmarshal(*v, &tags)
9449				if err != nil {
9450					return err
9451				}
9452				rsce.Tags = tags
9453			}
9454		}
9455	}
9456
9457	return nil
9458}
9459
9460// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9461// RelayServiceConnectionEntityProperties ...
9462type RelayServiceConnectionEntityProperties struct {
9463	EntityName               *string `json:"entityName,omitempty"`
9464	EntityConnectionString   *string `json:"entityConnectionString,omitempty"`
9465	ResourceType             *string `json:"resourceType,omitempty"`
9466	ResourceConnectionString *string `json:"resourceConnectionString,omitempty"`
9467	Hostname                 *string `json:"hostname,omitempty"`
9468	Port                     *int32  `json:"port,omitempty"`
9469	BiztalkURI               *string `json:"biztalkUri,omitempty"`
9470}
9471
9472// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9473// RenewCertificateOrderRequest class representing certificate renew request
9474type RenewCertificateOrderRequest struct {
9475	*RenewCertificateOrderRequestProperties `json:"properties,omitempty"`
9476	// ID - Resource Id
9477	ID *string `json:"id,omitempty"`
9478	// Name - Resource Name
9479	Name *string `json:"name,omitempty"`
9480	// Kind - Kind of resource
9481	Kind *string `json:"kind,omitempty"`
9482	// Location - Resource Location
9483	Location *string `json:"location,omitempty"`
9484	// Type - Resource type
9485	Type *string `json:"type,omitempty"`
9486	// Tags - Resource tags
9487	Tags map[string]*string `json:"tags"`
9488}
9489
9490// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9491// MarshalJSON is the custom marshaler for RenewCertificateOrderRequest.
9492func (rcor RenewCertificateOrderRequest) MarshalJSON() ([]byte, error) {
9493	objectMap := make(map[string]interface{})
9494	if rcor.RenewCertificateOrderRequestProperties != nil {
9495		objectMap["properties"] = rcor.RenewCertificateOrderRequestProperties
9496	}
9497	if rcor.ID != nil {
9498		objectMap["id"] = rcor.ID
9499	}
9500	if rcor.Name != nil {
9501		objectMap["name"] = rcor.Name
9502	}
9503	if rcor.Kind != nil {
9504		objectMap["kind"] = rcor.Kind
9505	}
9506	if rcor.Location != nil {
9507		objectMap["location"] = rcor.Location
9508	}
9509	if rcor.Type != nil {
9510		objectMap["type"] = rcor.Type
9511	}
9512	if rcor.Tags != nil {
9513		objectMap["tags"] = rcor.Tags
9514	}
9515	return json.Marshal(objectMap)
9516}
9517
9518// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9519// UnmarshalJSON is the custom unmarshaler for RenewCertificateOrderRequest struct.
9520func (rcor *RenewCertificateOrderRequest) UnmarshalJSON(body []byte) error {
9521	var m map[string]*json.RawMessage
9522	err := json.Unmarshal(body, &m)
9523	if err != nil {
9524		return err
9525	}
9526	for k, v := range m {
9527		switch k {
9528		case "properties":
9529			if v != nil {
9530				var renewCertificateOrderRequestProperties RenewCertificateOrderRequestProperties
9531				err = json.Unmarshal(*v, &renewCertificateOrderRequestProperties)
9532				if err != nil {
9533					return err
9534				}
9535				rcor.RenewCertificateOrderRequestProperties = &renewCertificateOrderRequestProperties
9536			}
9537		case "id":
9538			if v != nil {
9539				var ID string
9540				err = json.Unmarshal(*v, &ID)
9541				if err != nil {
9542					return err
9543				}
9544				rcor.ID = &ID
9545			}
9546		case "name":
9547			if v != nil {
9548				var name string
9549				err = json.Unmarshal(*v, &name)
9550				if err != nil {
9551					return err
9552				}
9553				rcor.Name = &name
9554			}
9555		case "kind":
9556			if v != nil {
9557				var kind string
9558				err = json.Unmarshal(*v, &kind)
9559				if err != nil {
9560					return err
9561				}
9562				rcor.Kind = &kind
9563			}
9564		case "location":
9565			if v != nil {
9566				var location string
9567				err = json.Unmarshal(*v, &location)
9568				if err != nil {
9569					return err
9570				}
9571				rcor.Location = &location
9572			}
9573		case "type":
9574			if v != nil {
9575				var typeVar string
9576				err = json.Unmarshal(*v, &typeVar)
9577				if err != nil {
9578					return err
9579				}
9580				rcor.Type = &typeVar
9581			}
9582		case "tags":
9583			if v != nil {
9584				var tags map[string]*string
9585				err = json.Unmarshal(*v, &tags)
9586				if err != nil {
9587					return err
9588				}
9589				rcor.Tags = tags
9590			}
9591		}
9592	}
9593
9594	return nil
9595}
9596
9597// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9598// RenewCertificateOrderRequestProperties ...
9599type RenewCertificateOrderRequestProperties struct {
9600	// KeySize - Certificate Key Size
9601	KeySize *int32 `json:"keySize,omitempty"`
9602}
9603
9604// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9605// RequestsBasedTrigger requestsBasedTrigger
9606type RequestsBasedTrigger struct {
9607	// Count - Count
9608	Count *int32 `json:"count,omitempty"`
9609	// TimeInterval - TimeInterval
9610	TimeInterval *string `json:"timeInterval,omitempty"`
9611}
9612
9613// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9614// Resource ...
9615type Resource struct {
9616	// ID - Resource Id
9617	ID *string `json:"id,omitempty"`
9618	// Name - Resource Name
9619	Name *string `json:"name,omitempty"`
9620	// Kind - Kind of resource
9621	Kind *string `json:"kind,omitempty"`
9622	// Location - Resource Location
9623	Location *string `json:"location,omitempty"`
9624	// Type - Resource type
9625	Type *string `json:"type,omitempty"`
9626	// Tags - Resource tags
9627	Tags map[string]*string `json:"tags"`
9628}
9629
9630// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9631// MarshalJSON is the custom marshaler for Resource.
9632func (r Resource) MarshalJSON() ([]byte, error) {
9633	objectMap := make(map[string]interface{})
9634	if r.ID != nil {
9635		objectMap["id"] = r.ID
9636	}
9637	if r.Name != nil {
9638		objectMap["name"] = r.Name
9639	}
9640	if r.Kind != nil {
9641		objectMap["kind"] = r.Kind
9642	}
9643	if r.Location != nil {
9644		objectMap["location"] = r.Location
9645	}
9646	if r.Type != nil {
9647		objectMap["type"] = r.Type
9648	}
9649	if r.Tags != nil {
9650		objectMap["tags"] = r.Tags
9651	}
9652	return json.Marshal(objectMap)
9653}
9654
9655// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9656// ResourceMetric object representing a metric for any resource
9657type ResourceMetric struct {
9658	// Name - Name of metric
9659	Name *ResourceMetricName `json:"name,omitempty"`
9660	// Unit - Metric unit
9661	Unit *string `json:"unit,omitempty"`
9662	// TimeGrain - Metric granularity. E.g PT1H, PT5M, P1D
9663	TimeGrain *string `json:"timeGrain,omitempty"`
9664	// StartTime - Metric start time
9665	StartTime *date.Time `json:"startTime,omitempty"`
9666	// EndTime - Metric end time
9667	EndTime *date.Time `json:"endTime,omitempty"`
9668	// ResourceID - Metric resource Id
9669	ResourceID *string `json:"resourceId,omitempty"`
9670	// MetricValues - Metric values
9671	MetricValues *[]ResourceMetricValue `json:"metricValues,omitempty"`
9672	// Properties - Properties
9673	Properties *[]KeyValuePairStringString `json:"properties,omitempty"`
9674}
9675
9676// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9677// ResourceMetricCollection collection of metric responses
9678type ResourceMetricCollection struct {
9679	autorest.Response `json:"-"`
9680	// Value - Collection of resources
9681	Value *[]ResourceMetric `json:"value,omitempty"`
9682	// NextLink - Link to next page of resources
9683	NextLink *string `json:"nextLink,omitempty"`
9684}
9685
9686// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9687// ResourceMetricCollectionIterator provides access to a complete listing of ResourceMetric values.
9688type ResourceMetricCollectionIterator struct {
9689	i    int
9690	page ResourceMetricCollectionPage
9691}
9692
9693// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9694// Next advances to the next value.  If there was an error making
9695// the request the iterator does not advance and the error is returned.
9696func (iter *ResourceMetricCollectionIterator) Next() error {
9697	iter.i++
9698	if iter.i < len(iter.page.Values()) {
9699		return nil
9700	}
9701	err := iter.page.Next()
9702	if err != nil {
9703		iter.i--
9704		return err
9705	}
9706	iter.i = 0
9707	return nil
9708}
9709
9710// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9711// NotDone returns true if the enumeration should be started or is not yet complete.
9712func (iter ResourceMetricCollectionIterator) NotDone() bool {
9713	return iter.page.NotDone() && iter.i < len(iter.page.Values())
9714}
9715
9716// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9717// Response returns the raw server response from the last page request.
9718func (iter ResourceMetricCollectionIterator) Response() ResourceMetricCollection {
9719	return iter.page.Response()
9720}
9721
9722// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9723// Value returns the current value or a zero-initialized value if the
9724// iterator has advanced beyond the end of the collection.
9725func (iter ResourceMetricCollectionIterator) Value() ResourceMetric {
9726	if !iter.page.NotDone() {
9727		return ResourceMetric{}
9728	}
9729	return iter.page.Values()[iter.i]
9730}
9731
9732// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9733// IsEmpty returns true if the ListResult contains no values.
9734func (rmc ResourceMetricCollection) IsEmpty() bool {
9735	return rmc.Value == nil || len(*rmc.Value) == 0
9736}
9737
9738// resourceMetricCollectionPreparer prepares a request to retrieve the next set of results.
9739// It returns nil if no more results exist.
9740func (rmc ResourceMetricCollection) resourceMetricCollectionPreparer() (*http.Request, error) {
9741	if rmc.NextLink == nil || len(to.String(rmc.NextLink)) < 1 {
9742		return nil, nil
9743	}
9744	return autorest.Prepare(&http.Request{},
9745		autorest.AsJSON(),
9746		autorest.AsGet(),
9747		autorest.WithBaseURL(to.String(rmc.NextLink)))
9748}
9749
9750// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9751// ResourceMetricCollectionPage contains a page of ResourceMetric values.
9752type ResourceMetricCollectionPage struct {
9753	fn  func(ResourceMetricCollection) (ResourceMetricCollection, error)
9754	rmc ResourceMetricCollection
9755}
9756
9757// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9758// Next advances to the next page of values.  If there was an error making
9759// the request the page does not advance and the error is returned.
9760func (page *ResourceMetricCollectionPage) Next() error {
9761	next, err := page.fn(page.rmc)
9762	if err != nil {
9763		return err
9764	}
9765	page.rmc = next
9766	return nil
9767}
9768
9769// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9770// NotDone returns true if the page enumeration should be started or is not yet complete.
9771func (page ResourceMetricCollectionPage) NotDone() bool {
9772	return !page.rmc.IsEmpty()
9773}
9774
9775// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9776// Response returns the raw server response from the last page request.
9777func (page ResourceMetricCollectionPage) Response() ResourceMetricCollection {
9778	return page.rmc
9779}
9780
9781// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9782// Values returns the slice of values for the current page or nil if there are no values.
9783func (page ResourceMetricCollectionPage) Values() []ResourceMetric {
9784	if page.rmc.IsEmpty() {
9785		return nil
9786	}
9787	return *page.rmc.Value
9788}
9789
9790// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9791// ResourceMetricName name of a metric for any resource
9792type ResourceMetricName struct {
9793	// Value - metric name value
9794	Value *string `json:"value,omitempty"`
9795	// LocalizedValue - Localized metric name value
9796	LocalizedValue *string `json:"localizedValue,omitempty"`
9797}
9798
9799// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9800// ResourceMetricValue value of resource metric
9801type ResourceMetricValue struct {
9802	// TimeStamp - Value timestamp
9803	TimeStamp *string `json:"timeStamp,omitempty"`
9804	// Average - Value average
9805	Average *float64 `json:"average,omitempty"`
9806	// Minimum - Value minimum
9807	Minimum *float64 `json:"minimum,omitempty"`
9808	// Maximum - Value maximum
9809	Maximum *float64 `json:"maximum,omitempty"`
9810	// Total - Value total
9811	Total *float64 `json:"total,omitempty"`
9812	// Count - Value count
9813	Count *float64 `json:"count,omitempty"`
9814}
9815
9816// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9817// ResourceNameAvailability describes if a resource name is available
9818type ResourceNameAvailability struct {
9819	autorest.Response `json:"-"`
9820	// NameAvailable - True indicates name is valid and available.  False indicates the name is invalid, unavailable, or both.
9821	NameAvailable *bool `json:"nameAvailable,omitempty"`
9822	// Reason - Required if nameAvailable is false. 'Invalid' indicates the name provided does not match Azure WebApp service’s naming requirements. 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.
9823	Reason  *string `json:"reason,omitempty"`
9824	Message *string `json:"message,omitempty"`
9825}
9826
9827// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9828// ResourceNameAvailabilityRequest resource name availability request content
9829type ResourceNameAvailabilityRequest struct {
9830	// Name - Resource name to verify
9831	Name *string `json:"name,omitempty"`
9832	// Type - Resource type used for verification
9833	Type *string `json:"type,omitempty"`
9834	// IsFqdn - Is fully qualified domain name
9835	IsFqdn *bool `json:"isFqdn,omitempty"`
9836}
9837
9838// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9839// ResponseMessageEnvelopeAPIEntity message envelope that contains the common Azure resource manager properties and
9840// the resource provider specific content
9841type ResponseMessageEnvelopeAPIEntity struct {
9842	// ID - Resource Id. Typically id is populated only for responses to GET requests. Caller is responsible for passing in this
9843	//             value for GET requests only.
9844	//             For example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupId}/providers/Microsoft.Web/sites/{sitename}
9845	ID *string `json:"id,omitempty"`
9846	// Name - Name of resource
9847	Name *string `json:"name,omitempty"`
9848	// Type - Type of resource e.g Microsoft.Web/sites
9849	Type *string `json:"type,omitempty"`
9850	// Location - Geo region resource belongs to e.g. SouthCentralUS, SouthEastAsia
9851	Location *string `json:"location,omitempty"`
9852	// Tags - Tags associated with resource
9853	Tags map[string]*string `json:"tags"`
9854	// Plan - Azure resource manager plan
9855	Plan *ArmPlan `json:"plan,omitempty"`
9856	// Properties - Resource specific properties
9857	Properties *APIEntity `json:"properties,omitempty"`
9858	// Sku - Sku description of the resource
9859	Sku *SkuDescription `json:"sku,omitempty"`
9860}
9861
9862// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9863// MarshalJSON is the custom marshaler for ResponseMessageEnvelopeAPIEntity.
9864func (rmeAe ResponseMessageEnvelopeAPIEntity) MarshalJSON() ([]byte, error) {
9865	objectMap := make(map[string]interface{})
9866	if rmeAe.ID != nil {
9867		objectMap["id"] = rmeAe.ID
9868	}
9869	if rmeAe.Name != nil {
9870		objectMap["name"] = rmeAe.Name
9871	}
9872	if rmeAe.Type != nil {
9873		objectMap["type"] = rmeAe.Type
9874	}
9875	if rmeAe.Location != nil {
9876		objectMap["location"] = rmeAe.Location
9877	}
9878	if rmeAe.Tags != nil {
9879		objectMap["tags"] = rmeAe.Tags
9880	}
9881	if rmeAe.Plan != nil {
9882		objectMap["plan"] = rmeAe.Plan
9883	}
9884	if rmeAe.Properties != nil {
9885		objectMap["properties"] = rmeAe.Properties
9886	}
9887	if rmeAe.Sku != nil {
9888		objectMap["sku"] = rmeAe.Sku
9889	}
9890	return json.Marshal(objectMap)
9891}
9892
9893// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9894// RestoreRequest description of a restore request
9895type RestoreRequest struct {
9896	autorest.Response         `json:"-"`
9897	*RestoreRequestProperties `json:"properties,omitempty"`
9898	// ID - Resource Id
9899	ID *string `json:"id,omitempty"`
9900	// Name - Resource Name
9901	Name *string `json:"name,omitempty"`
9902	// Kind - Kind of resource
9903	Kind *string `json:"kind,omitempty"`
9904	// Location - Resource Location
9905	Location *string `json:"location,omitempty"`
9906	// Type - Resource type
9907	Type *string `json:"type,omitempty"`
9908	// Tags - Resource tags
9909	Tags map[string]*string `json:"tags"`
9910}
9911
9912// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9913// MarshalJSON is the custom marshaler for RestoreRequest.
9914func (rr RestoreRequest) MarshalJSON() ([]byte, error) {
9915	objectMap := make(map[string]interface{})
9916	if rr.RestoreRequestProperties != nil {
9917		objectMap["properties"] = rr.RestoreRequestProperties
9918	}
9919	if rr.ID != nil {
9920		objectMap["id"] = rr.ID
9921	}
9922	if rr.Name != nil {
9923		objectMap["name"] = rr.Name
9924	}
9925	if rr.Kind != nil {
9926		objectMap["kind"] = rr.Kind
9927	}
9928	if rr.Location != nil {
9929		objectMap["location"] = rr.Location
9930	}
9931	if rr.Type != nil {
9932		objectMap["type"] = rr.Type
9933	}
9934	if rr.Tags != nil {
9935		objectMap["tags"] = rr.Tags
9936	}
9937	return json.Marshal(objectMap)
9938}
9939
9940// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
9941// UnmarshalJSON is the custom unmarshaler for RestoreRequest struct.
9942func (rr *RestoreRequest) UnmarshalJSON(body []byte) error {
9943	var m map[string]*json.RawMessage
9944	err := json.Unmarshal(body, &m)
9945	if err != nil {
9946		return err
9947	}
9948	for k, v := range m {
9949		switch k {
9950		case "properties":
9951			if v != nil {
9952				var restoreRequestProperties RestoreRequestProperties
9953				err = json.Unmarshal(*v, &restoreRequestProperties)
9954				if err != nil {
9955					return err
9956				}
9957				rr.RestoreRequestProperties = &restoreRequestProperties
9958			}
9959		case "id":
9960			if v != nil {
9961				var ID string
9962				err = json.Unmarshal(*v, &ID)
9963				if err != nil {
9964					return err
9965				}
9966				rr.ID = &ID
9967			}
9968		case "name":
9969			if v != nil {
9970				var name string
9971				err = json.Unmarshal(*v, &name)
9972				if err != nil {
9973					return err
9974				}
9975				rr.Name = &name
9976			}
9977		case "kind":
9978			if v != nil {
9979				var kind string
9980				err = json.Unmarshal(*v, &kind)
9981				if err != nil {
9982					return err
9983				}
9984				rr.Kind = &kind
9985			}
9986		case "location":
9987			if v != nil {
9988				var location string
9989				err = json.Unmarshal(*v, &location)
9990				if err != nil {
9991					return err
9992				}
9993				rr.Location = &location
9994			}
9995		case "type":
9996			if v != nil {
9997				var typeVar string
9998				err = json.Unmarshal(*v, &typeVar)
9999				if err != nil {
10000					return err
10001				}
10002				rr.Type = &typeVar
10003			}
10004		case "tags":
10005			if v != nil {
10006				var tags map[string]*string
10007				err = json.Unmarshal(*v, &tags)
10008				if err != nil {
10009					return err
10010				}
10011				rr.Tags = tags
10012			}
10013		}
10014	}
10015
10016	return nil
10017}
10018
10019// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10020// RestoreRequestProperties ...
10021type RestoreRequestProperties struct {
10022	// StorageAccountURL - SAS URL to the container
10023	StorageAccountURL *string `json:"storageAccountUrl,omitempty"`
10024	// BlobName - Name of a blob which contains the backup
10025	BlobName *string `json:"blobName,omitempty"`
10026	// Overwrite - True if the restore operation can overwrite target site. "True" needed if trying to restore over an existing site.
10027	Overwrite *bool `json:"overwrite,omitempty"`
10028	// SiteName - Name of a site (Web App)
10029	SiteName *string `json:"siteName,omitempty"`
10030	// Databases - Collection of databses which should be restored. This list has to match the list of databases included in the backup.
10031	Databases *[]DatabaseBackupSetting `json:"databases,omitempty"`
10032	// IgnoreConflictingHostNames - Changes a logic when restoring a site with custom domains. If "true", custom domains are removed automatically. If "false", custom domains are added to
10033	//             the site object when it is being restored, but that might fail due to conflicts during the operation.
10034	IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"`
10035	// OperationType - Operation type. Possible values include: 'Default', 'Clone', 'Relocation'
10036	OperationType BackupRestoreOperationType `json:"operationType,omitempty"`
10037	// AdjustConnectionStrings - Gets or sets a flag showing if SiteConfig.ConnectionStrings should be set in new site
10038	AdjustConnectionStrings *bool `json:"adjustConnectionStrings,omitempty"`
10039	// HostingEnvironment - App Service Environment name, if needed (only when restoring a site to an App Service Environment)
10040	HostingEnvironment *string `json:"hostingEnvironment,omitempty"`
10041}
10042
10043// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10044// RestoreResponse response for a restore site request
10045type RestoreResponse struct {
10046	autorest.Response          `json:"-"`
10047	*RestoreResponseProperties `json:"properties,omitempty"`
10048	// ID - Resource Id
10049	ID *string `json:"id,omitempty"`
10050	// Name - Resource Name
10051	Name *string `json:"name,omitempty"`
10052	// Kind - Kind of resource
10053	Kind *string `json:"kind,omitempty"`
10054	// Location - Resource Location
10055	Location *string `json:"location,omitempty"`
10056	// Type - Resource type
10057	Type *string `json:"type,omitempty"`
10058	// Tags - Resource tags
10059	Tags map[string]*string `json:"tags"`
10060}
10061
10062// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10063// MarshalJSON is the custom marshaler for RestoreResponse.
10064func (rr RestoreResponse) MarshalJSON() ([]byte, error) {
10065	objectMap := make(map[string]interface{})
10066	if rr.RestoreResponseProperties != nil {
10067		objectMap["properties"] = rr.RestoreResponseProperties
10068	}
10069	if rr.ID != nil {
10070		objectMap["id"] = rr.ID
10071	}
10072	if rr.Name != nil {
10073		objectMap["name"] = rr.Name
10074	}
10075	if rr.Kind != nil {
10076		objectMap["kind"] = rr.Kind
10077	}
10078	if rr.Location != nil {
10079		objectMap["location"] = rr.Location
10080	}
10081	if rr.Type != nil {
10082		objectMap["type"] = rr.Type
10083	}
10084	if rr.Tags != nil {
10085		objectMap["tags"] = rr.Tags
10086	}
10087	return json.Marshal(objectMap)
10088}
10089
10090// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10091// UnmarshalJSON is the custom unmarshaler for RestoreResponse struct.
10092func (rr *RestoreResponse) UnmarshalJSON(body []byte) error {
10093	var m map[string]*json.RawMessage
10094	err := json.Unmarshal(body, &m)
10095	if err != nil {
10096		return err
10097	}
10098	for k, v := range m {
10099		switch k {
10100		case "properties":
10101			if v != nil {
10102				var restoreResponseProperties RestoreResponseProperties
10103				err = json.Unmarshal(*v, &restoreResponseProperties)
10104				if err != nil {
10105					return err
10106				}
10107				rr.RestoreResponseProperties = &restoreResponseProperties
10108			}
10109		case "id":
10110			if v != nil {
10111				var ID string
10112				err = json.Unmarshal(*v, &ID)
10113				if err != nil {
10114					return err
10115				}
10116				rr.ID = &ID
10117			}
10118		case "name":
10119			if v != nil {
10120				var name string
10121				err = json.Unmarshal(*v, &name)
10122				if err != nil {
10123					return err
10124				}
10125				rr.Name = &name
10126			}
10127		case "kind":
10128			if v != nil {
10129				var kind string
10130				err = json.Unmarshal(*v, &kind)
10131				if err != nil {
10132					return err
10133				}
10134				rr.Kind = &kind
10135			}
10136		case "location":
10137			if v != nil {
10138				var location string
10139				err = json.Unmarshal(*v, &location)
10140				if err != nil {
10141					return err
10142				}
10143				rr.Location = &location
10144			}
10145		case "type":
10146			if v != nil {
10147				var typeVar string
10148				err = json.Unmarshal(*v, &typeVar)
10149				if err != nil {
10150					return err
10151				}
10152				rr.Type = &typeVar
10153			}
10154		case "tags":
10155			if v != nil {
10156				var tags map[string]*string
10157				err = json.Unmarshal(*v, &tags)
10158				if err != nil {
10159					return err
10160				}
10161				rr.Tags = tags
10162			}
10163		}
10164	}
10165
10166	return nil
10167}
10168
10169// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10170// RestoreResponseProperties ...
10171type RestoreResponseProperties struct {
10172	// OperationID - When server starts the restore process, it will return an OperationId identifying that particular restore operation
10173	OperationID *string `json:"operationId,omitempty"`
10174}
10175
10176// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10177// RoutingRule routing rules for TiP
10178type RoutingRule struct {
10179	// Name - Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.
10180	Name *string `json:"name,omitempty"`
10181}
10182
10183// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10184// ServerFarmCollection collection of serverfarms
10185type ServerFarmCollection struct {
10186	autorest.Response `json:"-"`
10187	// Value - Collection of resources
10188	Value *[]ServerFarmWithRichSku `json:"value,omitempty"`
10189	// NextLink - Link to next page of resources
10190	NextLink *string `json:"nextLink,omitempty"`
10191}
10192
10193// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10194// ServerFarmCollectionIterator provides access to a complete listing of ServerFarmWithRichSku values.
10195type ServerFarmCollectionIterator struct {
10196	i    int
10197	page ServerFarmCollectionPage
10198}
10199
10200// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10201// Next advances to the next value.  If there was an error making
10202// the request the iterator does not advance and the error is returned.
10203func (iter *ServerFarmCollectionIterator) Next() error {
10204	iter.i++
10205	if iter.i < len(iter.page.Values()) {
10206		return nil
10207	}
10208	err := iter.page.Next()
10209	if err != nil {
10210		iter.i--
10211		return err
10212	}
10213	iter.i = 0
10214	return nil
10215}
10216
10217// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10218// NotDone returns true if the enumeration should be started or is not yet complete.
10219func (iter ServerFarmCollectionIterator) NotDone() bool {
10220	return iter.page.NotDone() && iter.i < len(iter.page.Values())
10221}
10222
10223// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10224// Response returns the raw server response from the last page request.
10225func (iter ServerFarmCollectionIterator) Response() ServerFarmCollection {
10226	return iter.page.Response()
10227}
10228
10229// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10230// Value returns the current value or a zero-initialized value if the
10231// iterator has advanced beyond the end of the collection.
10232func (iter ServerFarmCollectionIterator) Value() ServerFarmWithRichSku {
10233	if !iter.page.NotDone() {
10234		return ServerFarmWithRichSku{}
10235	}
10236	return iter.page.Values()[iter.i]
10237}
10238
10239// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10240// IsEmpty returns true if the ListResult contains no values.
10241func (sfc ServerFarmCollection) IsEmpty() bool {
10242	return sfc.Value == nil || len(*sfc.Value) == 0
10243}
10244
10245// serverFarmCollectionPreparer prepares a request to retrieve the next set of results.
10246// It returns nil if no more results exist.
10247func (sfc ServerFarmCollection) serverFarmCollectionPreparer() (*http.Request, error) {
10248	if sfc.NextLink == nil || len(to.String(sfc.NextLink)) < 1 {
10249		return nil, nil
10250	}
10251	return autorest.Prepare(&http.Request{},
10252		autorest.AsJSON(),
10253		autorest.AsGet(),
10254		autorest.WithBaseURL(to.String(sfc.NextLink)))
10255}
10256
10257// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10258// ServerFarmCollectionPage contains a page of ServerFarmWithRichSku values.
10259type ServerFarmCollectionPage struct {
10260	fn  func(ServerFarmCollection) (ServerFarmCollection, error)
10261	sfc ServerFarmCollection
10262}
10263
10264// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10265// Next advances to the next page of values.  If there was an error making
10266// the request the page does not advance and the error is returned.
10267func (page *ServerFarmCollectionPage) Next() error {
10268	next, err := page.fn(page.sfc)
10269	if err != nil {
10270		return err
10271	}
10272	page.sfc = next
10273	return nil
10274}
10275
10276// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10277// NotDone returns true if the page enumeration should be started or is not yet complete.
10278func (page ServerFarmCollectionPage) NotDone() bool {
10279	return !page.sfc.IsEmpty()
10280}
10281
10282// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10283// Response returns the raw server response from the last page request.
10284func (page ServerFarmCollectionPage) Response() ServerFarmCollection {
10285	return page.sfc
10286}
10287
10288// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10289// Values returns the slice of values for the current page or nil if there are no values.
10290func (page ServerFarmCollectionPage) Values() []ServerFarmWithRichSku {
10291	if page.sfc.IsEmpty() {
10292		return nil
10293	}
10294	return *page.sfc.Value
10295}
10296
10297// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10298// ServerFarmsCreateOrUpdateServerFarmFuture an abstraction for monitoring and retrieving the results of a
10299// long-running operation.
10300type ServerFarmsCreateOrUpdateServerFarmFuture struct {
10301	azure.Future
10302	req *http.Request
10303}
10304
10305// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10306// Result returns the result of the asynchronous operation.
10307// If the operation has not completed it will return an error.
10308func (future ServerFarmsCreateOrUpdateServerFarmFuture) Result(client ServerFarmsClient) (sfwrs ServerFarmWithRichSku, err error) {
10309	var done bool
10310	done, err = future.Done(client)
10311	if err != nil {
10312		err = autorest.NewErrorWithError(err, "web.ServerFarmsCreateOrUpdateServerFarmFuture", "Result", future.Response(), "Polling failure")
10313		return
10314	}
10315	if !done {
10316		return sfwrs, azure.NewAsyncOpIncompleteError("web.ServerFarmsCreateOrUpdateServerFarmFuture")
10317	}
10318	if future.PollingMethod() == azure.PollingLocation {
10319		sfwrs, err = client.CreateOrUpdateServerFarmResponder(future.Response())
10320		if err != nil {
10321			err = autorest.NewErrorWithError(err, "web.ServerFarmsCreateOrUpdateServerFarmFuture", "Result", future.Response(), "Failure responding to request")
10322		}
10323		return
10324	}
10325	var req *http.Request
10326	var resp *http.Response
10327	if future.PollingURL() != "" {
10328		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
10329		if err != nil {
10330			return
10331		}
10332	} else {
10333		req = autorest.ChangeToGet(future.req)
10334	}
10335	resp, err = autorest.SendWithSender(client, req,
10336		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
10337	if err != nil {
10338		err = autorest.NewErrorWithError(err, "web.ServerFarmsCreateOrUpdateServerFarmFuture", "Result", resp, "Failure sending request")
10339		return
10340	}
10341	sfwrs, err = client.CreateOrUpdateServerFarmResponder(resp)
10342	if err != nil {
10343		err = autorest.NewErrorWithError(err, "web.ServerFarmsCreateOrUpdateServerFarmFuture", "Result", resp, "Failure responding to request")
10344	}
10345	return
10346}
10347
10348// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10349// ServerFarmWithRichSku app Service Plan Model
10350type ServerFarmWithRichSku struct {
10351	autorest.Response                `json:"-"`
10352	*ServerFarmWithRichSkuProperties `json:"properties,omitempty"`
10353	Sku                              *SkuDescription `json:"sku,omitempty"`
10354	// ID - Resource Id
10355	ID *string `json:"id,omitempty"`
10356	// Name - Resource Name
10357	Name *string `json:"name,omitempty"`
10358	// Kind - Kind of resource
10359	Kind *string `json:"kind,omitempty"`
10360	// Location - Resource Location
10361	Location *string `json:"location,omitempty"`
10362	// Type - Resource type
10363	Type *string `json:"type,omitempty"`
10364	// Tags - Resource tags
10365	Tags map[string]*string `json:"tags"`
10366}
10367
10368// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10369// MarshalJSON is the custom marshaler for ServerFarmWithRichSku.
10370func (sfwrs ServerFarmWithRichSku) MarshalJSON() ([]byte, error) {
10371	objectMap := make(map[string]interface{})
10372	if sfwrs.ServerFarmWithRichSkuProperties != nil {
10373		objectMap["properties"] = sfwrs.ServerFarmWithRichSkuProperties
10374	}
10375	if sfwrs.Sku != nil {
10376		objectMap["sku"] = sfwrs.Sku
10377	}
10378	if sfwrs.ID != nil {
10379		objectMap["id"] = sfwrs.ID
10380	}
10381	if sfwrs.Name != nil {
10382		objectMap["name"] = sfwrs.Name
10383	}
10384	if sfwrs.Kind != nil {
10385		objectMap["kind"] = sfwrs.Kind
10386	}
10387	if sfwrs.Location != nil {
10388		objectMap["location"] = sfwrs.Location
10389	}
10390	if sfwrs.Type != nil {
10391		objectMap["type"] = sfwrs.Type
10392	}
10393	if sfwrs.Tags != nil {
10394		objectMap["tags"] = sfwrs.Tags
10395	}
10396	return json.Marshal(objectMap)
10397}
10398
10399// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10400// UnmarshalJSON is the custom unmarshaler for ServerFarmWithRichSku struct.
10401func (sfwrs *ServerFarmWithRichSku) UnmarshalJSON(body []byte) error {
10402	var m map[string]*json.RawMessage
10403	err := json.Unmarshal(body, &m)
10404	if err != nil {
10405		return err
10406	}
10407	for k, v := range m {
10408		switch k {
10409		case "properties":
10410			if v != nil {
10411				var serverFarmWithRichSkuProperties ServerFarmWithRichSkuProperties
10412				err = json.Unmarshal(*v, &serverFarmWithRichSkuProperties)
10413				if err != nil {
10414					return err
10415				}
10416				sfwrs.ServerFarmWithRichSkuProperties = &serverFarmWithRichSkuProperties
10417			}
10418		case "sku":
10419			if v != nil {
10420				var sku SkuDescription
10421				err = json.Unmarshal(*v, &sku)
10422				if err != nil {
10423					return err
10424				}
10425				sfwrs.Sku = &sku
10426			}
10427		case "id":
10428			if v != nil {
10429				var ID string
10430				err = json.Unmarshal(*v, &ID)
10431				if err != nil {
10432					return err
10433				}
10434				sfwrs.ID = &ID
10435			}
10436		case "name":
10437			if v != nil {
10438				var name string
10439				err = json.Unmarshal(*v, &name)
10440				if err != nil {
10441					return err
10442				}
10443				sfwrs.Name = &name
10444			}
10445		case "kind":
10446			if v != nil {
10447				var kind string
10448				err = json.Unmarshal(*v, &kind)
10449				if err != nil {
10450					return err
10451				}
10452				sfwrs.Kind = &kind
10453			}
10454		case "location":
10455			if v != nil {
10456				var location string
10457				err = json.Unmarshal(*v, &location)
10458				if err != nil {
10459					return err
10460				}
10461				sfwrs.Location = &location
10462			}
10463		case "type":
10464			if v != nil {
10465				var typeVar string
10466				err = json.Unmarshal(*v, &typeVar)
10467				if err != nil {
10468					return err
10469				}
10470				sfwrs.Type = &typeVar
10471			}
10472		case "tags":
10473			if v != nil {
10474				var tags map[string]*string
10475				err = json.Unmarshal(*v, &tags)
10476				if err != nil {
10477					return err
10478				}
10479				sfwrs.Tags = tags
10480			}
10481		}
10482	}
10483
10484	return nil
10485}
10486
10487// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10488// ServerFarmWithRichSkuProperties ...
10489type ServerFarmWithRichSkuProperties struct {
10490	// Name - Name for the App Service Plan
10491	Name *string `json:"name,omitempty"`
10492	// WorkerTierName - Target worker tier assigned to the App Service Plan
10493	WorkerTierName *string `json:"workerTierName,omitempty"`
10494	// Status - App Service Plan Status. Possible values include: 'StatusOptionsReady', 'StatusOptionsPending'
10495	Status StatusOptions `json:"status,omitempty"`
10496	// Subscription - App Service Plan Subscription
10497	Subscription *string `json:"subscription,omitempty"`
10498	// AdminSiteName - App Service Plan administration site
10499	AdminSiteName *string `json:"adminSiteName,omitempty"`
10500	// HostingEnvironmentProfile - Specification for the hosting environment (App Service Environment) to use for the App Service Plan
10501	HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"`
10502	// MaximumNumberOfWorkers - Maximum number of instances that can be assigned to this App Service Plan
10503	MaximumNumberOfWorkers *int32 `json:"maximumNumberOfWorkers,omitempty"`
10504	// GeoRegion - Geographical location for the App Service Plan
10505	GeoRegion *string `json:"geoRegion,omitempty"`
10506	// PerSiteScaling - If True apps assigned to this App Service Plan can be scaled independently
10507	//             If False apps assigned to this App Service Plan will scale to all instances of the plan
10508	PerSiteScaling *bool `json:"perSiteScaling,omitempty"`
10509	// NumberOfSites - Number of web apps assigned to this App Service Plan
10510	NumberOfSites *int32 `json:"numberOfSites,omitempty"`
10511	// ResourceGroup - Resource group of the serverfarm
10512	ResourceGroup *string `json:"resourceGroup,omitempty"`
10513	// Reserved - Enables creation of a Linux App Service Plan
10514	Reserved *bool `json:"reserved,omitempty"`
10515}
10516
10517// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10518// SetObject ...
10519type SetObject struct {
10520	autorest.Response `json:"-"`
10521	Value             interface{} `json:"value,omitempty"`
10522}
10523
10524// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10525// Site represents a web app
10526type Site struct {
10527	autorest.Response `json:"-"`
10528	*SiteProperties   `json:"properties,omitempty"`
10529	// ID - Resource Id
10530	ID *string `json:"id,omitempty"`
10531	// Name - Resource Name
10532	Name *string `json:"name,omitempty"`
10533	// Kind - Kind of resource
10534	Kind *string `json:"kind,omitempty"`
10535	// Location - Resource Location
10536	Location *string `json:"location,omitempty"`
10537	// Type - Resource type
10538	Type *string `json:"type,omitempty"`
10539	// Tags - Resource tags
10540	Tags map[string]*string `json:"tags"`
10541}
10542
10543// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10544// MarshalJSON is the custom marshaler for Site.
10545func (s Site) MarshalJSON() ([]byte, error) {
10546	objectMap := make(map[string]interface{})
10547	if s.SiteProperties != nil {
10548		objectMap["properties"] = s.SiteProperties
10549	}
10550	if s.ID != nil {
10551		objectMap["id"] = s.ID
10552	}
10553	if s.Name != nil {
10554		objectMap["name"] = s.Name
10555	}
10556	if s.Kind != nil {
10557		objectMap["kind"] = s.Kind
10558	}
10559	if s.Location != nil {
10560		objectMap["location"] = s.Location
10561	}
10562	if s.Type != nil {
10563		objectMap["type"] = s.Type
10564	}
10565	if s.Tags != nil {
10566		objectMap["tags"] = s.Tags
10567	}
10568	return json.Marshal(objectMap)
10569}
10570
10571// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10572// UnmarshalJSON is the custom unmarshaler for Site struct.
10573func (s *Site) UnmarshalJSON(body []byte) error {
10574	var m map[string]*json.RawMessage
10575	err := json.Unmarshal(body, &m)
10576	if err != nil {
10577		return err
10578	}
10579	for k, v := range m {
10580		switch k {
10581		case "properties":
10582			if v != nil {
10583				var siteProperties SiteProperties
10584				err = json.Unmarshal(*v, &siteProperties)
10585				if err != nil {
10586					return err
10587				}
10588				s.SiteProperties = &siteProperties
10589			}
10590		case "id":
10591			if v != nil {
10592				var ID string
10593				err = json.Unmarshal(*v, &ID)
10594				if err != nil {
10595					return err
10596				}
10597				s.ID = &ID
10598			}
10599		case "name":
10600			if v != nil {
10601				var name string
10602				err = json.Unmarshal(*v, &name)
10603				if err != nil {
10604					return err
10605				}
10606				s.Name = &name
10607			}
10608		case "kind":
10609			if v != nil {
10610				var kind string
10611				err = json.Unmarshal(*v, &kind)
10612				if err != nil {
10613					return err
10614				}
10615				s.Kind = &kind
10616			}
10617		case "location":
10618			if v != nil {
10619				var location string
10620				err = json.Unmarshal(*v, &location)
10621				if err != nil {
10622					return err
10623				}
10624				s.Location = &location
10625			}
10626		case "type":
10627			if v != nil {
10628				var typeVar string
10629				err = json.Unmarshal(*v, &typeVar)
10630				if err != nil {
10631					return err
10632				}
10633				s.Type = &typeVar
10634			}
10635		case "tags":
10636			if v != nil {
10637				var tags map[string]*string
10638				err = json.Unmarshal(*v, &tags)
10639				if err != nil {
10640					return err
10641				}
10642				s.Tags = tags
10643			}
10644		}
10645	}
10646
10647	return nil
10648}
10649
10650// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10651// SiteAuthSettings configuration settings for the Azure App Service Authentication / Authorization feature.
10652type SiteAuthSettings struct {
10653	autorest.Response `json:"-"`
10654	// Enabled - Gets or sets a value indicating whether the Authentication / Authorization feature is enabled for the current app.
10655	Enabled *bool `json:"enabled,omitempty"`
10656	// HTTPAPIPrefixPath - Gets or sets the relative path prefix used by platform HTTP APIs.
10657	//             Changing this value is not recommended except for compatibility reasons.
10658	HTTPAPIPrefixPath *string `json:"httpApiPrefixPath,omitempty"`
10659	// UnauthenticatedClientAction - Gets or sets the action to take when an unauthenticated client attempts to access the app. Possible values include: 'RedirectToLoginPage', 'AllowAnonymous'
10660	UnauthenticatedClientAction UnauthenticatedClientAction `json:"unauthenticatedClientAction,omitempty"`
10661	// TokenStoreEnabled - Gets or sets a value indicating whether to durably store platform-specific security tokens
10662	//             obtained during login flows. This capability is disabled by default.
10663	TokenStoreEnabled *bool `json:"tokenStoreEnabled,omitempty"`
10664	// AllowedExternalRedirectUrls - Gets or sets a collection of external URLs that can be redirected to as part of logging in
10665	//             or logging out of the web app. Note that the query string part of the URL is ignored.
10666	//             This is an advanced setting typically only needed by Windows Store application backends.
10667	//             Note that URLs within the current domain are always implicitly allowed.
10668	AllowedExternalRedirectUrls *[]string `json:"allowedExternalRedirectUrls,omitempty"`
10669	// DefaultProvider - Gets or sets the default authentication provider to use when multiple providers are configured.
10670	//             This setting is only needed if multiple providers are configured and the unauthenticated client
10671	//             action is set to "RedirectToLoginPage". Possible values include: 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', 'Twitter'
10672	DefaultProvider BuiltInAuthenticationProvider `json:"defaultProvider,omitempty"`
10673	// TokenRefreshExtensionHours - Gets or sets the number of hours after session token expiration that a session token can be used to
10674	//             call the token refresh API. The default is 72 hours.
10675	TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"`
10676	// ClientID - Gets or sets the Client ID of this relying party application, known as the client_id.
10677	//             This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
10678	//             other 3rd party OpenID Connect providers.
10679	//             More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
10680	ClientID *string `json:"clientId,omitempty"`
10681	// ClientSecret - Gets or sets the Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
10682	//             This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
10683	//             Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
10684	//             More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
10685	ClientSecret *string `json:"clientSecret,omitempty"`
10686	// Issuer - Gets or sets the OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
10687	//             When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
10688	//             This URI is a case-sensitive identifier for the token issuer.
10689	//             More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
10690	Issuer *string `json:"issuer,omitempty"`
10691	// AllowedAudiences - Gets or sets a list of allowed audience values to consider when validating JWTs issued by
10692	//             Azure Active Directory. Note that the {Microsoft.Web.Hosting.Administration.SiteAuthSettings.ClientId} value is always considered an
10693	//             allowed audience, regardless of this setting.
10694	AllowedAudiences *[]string `json:"allowedAudiences,omitempty"`
10695	// AdditionalLoginParams - Gets or sets a list of login parameters to send to the OpenID Connect authorization endpoint when
10696	//             a user logs in. Each parameter must be in the form "key=value".
10697	AdditionalLoginParams *[]string `json:"additionalLoginParams,omitempty"`
10698	AadClientID           *string   `json:"aadClientId,omitempty"`
10699	OpenIDIssuer          *string   `json:"openIdIssuer,omitempty"`
10700	// GoogleClientID - Gets or sets the OpenID Connect Client ID for the Google web application.
10701	//             This setting is required for enabling Google Sign-In.
10702	//             Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
10703	GoogleClientID *string `json:"googleClientId,omitempty"`
10704	// GoogleClientSecret - Gets or sets the client secret associated with the Google web application.
10705	//             This setting is required for enabling Google Sign-In.
10706	//             Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
10707	GoogleClientSecret *string `json:"googleClientSecret,omitempty"`
10708	// GoogleOAuthScopes - Gets or sets the OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
10709	//             This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
10710	//             Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
10711	GoogleOAuthScopes *[]string `json:"googleOAuthScopes,omitempty"`
10712	// FacebookAppID - Gets or sets the App ID of the Facebook app used for login.
10713	//             This setting is required for enabling Facebook Login.
10714	//             Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
10715	FacebookAppID *string `json:"facebookAppId,omitempty"`
10716	// FacebookAppSecret - Gets or sets the App Secret of the Facebook app used for Facebook Login.
10717	//             This setting is required for enabling Facebook Login.
10718	//             Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
10719	FacebookAppSecret *string `json:"facebookAppSecret,omitempty"`
10720	// FacebookOAuthScopes - Gets or sets the OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
10721	//             This setting is optional.
10722	//             Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
10723	FacebookOAuthScopes *[]string `json:"facebookOAuthScopes,omitempty"`
10724	// TwitterConsumerKey - Gets or sets the OAuth 1.0a consumer key of the Twitter application used for sign-in.
10725	//             This setting is required for enabling Twitter Sign-In.
10726	//             Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
10727	TwitterConsumerKey *string `json:"twitterConsumerKey,omitempty"`
10728	// TwitterConsumerSecret - Gets or sets the OAuth 1.0a consumer secret of the Twitter application used for sign-in.
10729	//             This setting is required for enabling Twitter Sign-In.
10730	//             Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
10731	TwitterConsumerSecret *string `json:"twitterConsumerSecret,omitempty"`
10732	// MicrosoftAccountClientID - Gets or sets the OAuth 2.0 client ID that was created for the app used for authentication.
10733	//             This setting is required for enabling Microsoft Account authentication.
10734	//             Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
10735	MicrosoftAccountClientID *string `json:"microsoftAccountClientId,omitempty"`
10736	// MicrosoftAccountClientSecret - Gets or sets the OAuth 2.0 client secret that was created for the app used for authentication.
10737	//             This setting is required for enabling Microsoft Account authentication.
10738	//             Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
10739	MicrosoftAccountClientSecret *string `json:"microsoftAccountClientSecret,omitempty"`
10740	// MicrosoftAccountOAuthScopes - Gets or sets the OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
10741	//             This setting is optional. If not specified, "wl.basic" is used as the default scope.
10742	//             Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
10743	MicrosoftAccountOAuthScopes *[]string `json:"microsoftAccountOAuthScopes,omitempty"`
10744}
10745
10746// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10747// SiteCloneability represents whether or not a web app is cloneable
10748type SiteCloneability struct {
10749	autorest.Response `json:"-"`
10750	// Result - Name of web app. Possible values include: 'Cloneable', 'PartiallyCloneable', 'NotCloneable'
10751	Result CloneAbilityResult `json:"result,omitempty"`
10752	// BlockingFeatures - List of features enabled on web app that prevent cloning
10753	BlockingFeatures *[]SiteCloneabilityCriterion `json:"blockingFeatures,omitempty"`
10754	// UnsupportedFeatures - List of features enabled on web app that are non-blocking but cannot be cloned. The web app can still be cloned
10755	//             but the features in this list will not be set up on cloned web app.
10756	UnsupportedFeatures *[]SiteCloneabilityCriterion `json:"unsupportedFeatures,omitempty"`
10757	// BlockingCharacteristics - List of blocking application characteristics
10758	BlockingCharacteristics *[]SiteCloneabilityCriterion `json:"blockingCharacteristics,omitempty"`
10759}
10760
10761// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10762// SiteCloneabilityCriterion represents a site cloneability criterion
10763type SiteCloneabilityCriterion struct {
10764	// Name - Name of criterion
10765	Name *string `json:"name,omitempty"`
10766	// Description - Description of criterion
10767	Description *string `json:"description,omitempty"`
10768}
10769
10770// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10771// SiteCollection collection of sites
10772type SiteCollection struct {
10773	autorest.Response `json:"-"`
10774	// Value - Collection of resources
10775	Value *[]Site `json:"value,omitempty"`
10776	// NextLink - Link to next page of resources
10777	NextLink *string `json:"nextLink,omitempty"`
10778}
10779
10780// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10781// SiteCollectionIterator provides access to a complete listing of Site values.
10782type SiteCollectionIterator struct {
10783	i    int
10784	page SiteCollectionPage
10785}
10786
10787// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10788// Next advances to the next value.  If there was an error making
10789// the request the iterator does not advance and the error is returned.
10790func (iter *SiteCollectionIterator) Next() error {
10791	iter.i++
10792	if iter.i < len(iter.page.Values()) {
10793		return nil
10794	}
10795	err := iter.page.Next()
10796	if err != nil {
10797		iter.i--
10798		return err
10799	}
10800	iter.i = 0
10801	return nil
10802}
10803
10804// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10805// NotDone returns true if the enumeration should be started or is not yet complete.
10806func (iter SiteCollectionIterator) NotDone() bool {
10807	return iter.page.NotDone() && iter.i < len(iter.page.Values())
10808}
10809
10810// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10811// Response returns the raw server response from the last page request.
10812func (iter SiteCollectionIterator) Response() SiteCollection {
10813	return iter.page.Response()
10814}
10815
10816// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10817// Value returns the current value or a zero-initialized value if the
10818// iterator has advanced beyond the end of the collection.
10819func (iter SiteCollectionIterator) Value() Site {
10820	if !iter.page.NotDone() {
10821		return Site{}
10822	}
10823	return iter.page.Values()[iter.i]
10824}
10825
10826// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10827// IsEmpty returns true if the ListResult contains no values.
10828func (sc SiteCollection) IsEmpty() bool {
10829	return sc.Value == nil || len(*sc.Value) == 0
10830}
10831
10832// siteCollectionPreparer prepares a request to retrieve the next set of results.
10833// It returns nil if no more results exist.
10834func (sc SiteCollection) siteCollectionPreparer() (*http.Request, error) {
10835	if sc.NextLink == nil || len(to.String(sc.NextLink)) < 1 {
10836		return nil, nil
10837	}
10838	return autorest.Prepare(&http.Request{},
10839		autorest.AsJSON(),
10840		autorest.AsGet(),
10841		autorest.WithBaseURL(to.String(sc.NextLink)))
10842}
10843
10844// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10845// SiteCollectionPage contains a page of Site values.
10846type SiteCollectionPage struct {
10847	fn func(SiteCollection) (SiteCollection, error)
10848	sc SiteCollection
10849}
10850
10851// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10852// Next advances to the next page of values.  If there was an error making
10853// the request the page does not advance and the error is returned.
10854func (page *SiteCollectionPage) Next() error {
10855	next, err := page.fn(page.sc)
10856	if err != nil {
10857		return err
10858	}
10859	page.sc = next
10860	return nil
10861}
10862
10863// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10864// NotDone returns true if the page enumeration should be started or is not yet complete.
10865func (page SiteCollectionPage) NotDone() bool {
10866	return !page.sc.IsEmpty()
10867}
10868
10869// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10870// Response returns the raw server response from the last page request.
10871func (page SiteCollectionPage) Response() SiteCollection {
10872	return page.sc
10873}
10874
10875// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10876// Values returns the slice of values for the current page or nil if there are no values.
10877func (page SiteCollectionPage) Values() []Site {
10878	if page.sc.IsEmpty() {
10879		return nil
10880	}
10881	return *page.sc.Value
10882}
10883
10884// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10885// SiteConfig configuration of Azure web site
10886type SiteConfig struct {
10887	autorest.Response     `json:"-"`
10888	*SiteConfigProperties `json:"properties,omitempty"`
10889	// ID - Resource Id
10890	ID *string `json:"id,omitempty"`
10891	// Name - Resource Name
10892	Name *string `json:"name,omitempty"`
10893	// Kind - Kind of resource
10894	Kind *string `json:"kind,omitempty"`
10895	// Location - Resource Location
10896	Location *string `json:"location,omitempty"`
10897	// Type - Resource type
10898	Type *string `json:"type,omitempty"`
10899	// Tags - Resource tags
10900	Tags map[string]*string `json:"tags"`
10901}
10902
10903// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10904// MarshalJSON is the custom marshaler for SiteConfig.
10905func (sc SiteConfig) MarshalJSON() ([]byte, error) {
10906	objectMap := make(map[string]interface{})
10907	if sc.SiteConfigProperties != nil {
10908		objectMap["properties"] = sc.SiteConfigProperties
10909	}
10910	if sc.ID != nil {
10911		objectMap["id"] = sc.ID
10912	}
10913	if sc.Name != nil {
10914		objectMap["name"] = sc.Name
10915	}
10916	if sc.Kind != nil {
10917		objectMap["kind"] = sc.Kind
10918	}
10919	if sc.Location != nil {
10920		objectMap["location"] = sc.Location
10921	}
10922	if sc.Type != nil {
10923		objectMap["type"] = sc.Type
10924	}
10925	if sc.Tags != nil {
10926		objectMap["tags"] = sc.Tags
10927	}
10928	return json.Marshal(objectMap)
10929}
10930
10931// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
10932// UnmarshalJSON is the custom unmarshaler for SiteConfig struct.
10933func (sc *SiteConfig) UnmarshalJSON(body []byte) error {
10934	var m map[string]*json.RawMessage
10935	err := json.Unmarshal(body, &m)
10936	if err != nil {
10937		return err
10938	}
10939	for k, v := range m {
10940		switch k {
10941		case "properties":
10942			if v != nil {
10943				var siteConfigProperties SiteConfigProperties
10944				err = json.Unmarshal(*v, &siteConfigProperties)
10945				if err != nil {
10946					return err
10947				}
10948				sc.SiteConfigProperties = &siteConfigProperties
10949			}
10950		case "id":
10951			if v != nil {
10952				var ID string
10953				err = json.Unmarshal(*v, &ID)
10954				if err != nil {
10955					return err
10956				}
10957				sc.ID = &ID
10958			}
10959		case "name":
10960			if v != nil {
10961				var name string
10962				err = json.Unmarshal(*v, &name)
10963				if err != nil {
10964					return err
10965				}
10966				sc.Name = &name
10967			}
10968		case "kind":
10969			if v != nil {
10970				var kind string
10971				err = json.Unmarshal(*v, &kind)
10972				if err != nil {
10973					return err
10974				}
10975				sc.Kind = &kind
10976			}
10977		case "location":
10978			if v != nil {
10979				var location string
10980				err = json.Unmarshal(*v, &location)
10981				if err != nil {
10982					return err
10983				}
10984				sc.Location = &location
10985			}
10986		case "type":
10987			if v != nil {
10988				var typeVar string
10989				err = json.Unmarshal(*v, &typeVar)
10990				if err != nil {
10991					return err
10992				}
10993				sc.Type = &typeVar
10994			}
10995		case "tags":
10996			if v != nil {
10997				var tags map[string]*string
10998				err = json.Unmarshal(*v, &tags)
10999				if err != nil {
11000					return err
11001				}
11002				sc.Tags = tags
11003			}
11004		}
11005	}
11006
11007	return nil
11008}
11009
11010// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11011// SiteConfigProperties ...
11012type SiteConfigProperties struct {
11013	// NumberOfWorkers - Number of workers
11014	NumberOfWorkers *int32 `json:"numberOfWorkers,omitempty"`
11015	// DefaultDocuments - Default documents
11016	DefaultDocuments *[]string `json:"defaultDocuments,omitempty"`
11017	// NetFrameworkVersion - Net Framework Version
11018	NetFrameworkVersion *string `json:"netFrameworkVersion,omitempty"`
11019	// PhpVersion - Version of PHP
11020	PhpVersion *string `json:"phpVersion,omitempty"`
11021	// PythonVersion - Version of Python
11022	PythonVersion *string `json:"pythonVersion,omitempty"`
11023	// NodeVersion - Version of Node
11024	NodeVersion *string `json:"nodeVersion,omitempty"`
11025	// RequestTracingEnabled - Enable request tracing
11026	RequestTracingEnabled *bool `json:"requestTracingEnabled,omitempty"`
11027	// RequestTracingExpirationTime - Request tracing expiration time
11028	RequestTracingExpirationTime *date.Time `json:"requestTracingExpirationTime,omitempty"`
11029	// RemoteDebuggingEnabled - Remote Debugging Enabled
11030	RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty"`
11031	// RemoteDebuggingVersion - Remote Debugging Version
11032	RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty"`
11033	// HTTPLoggingEnabled - HTTP logging Enabled
11034	HTTPLoggingEnabled *bool `json:"httpLoggingEnabled,omitempty"`
11035	// LogsDirectorySizeLimit - HTTP Logs Directory size limit
11036	LogsDirectorySizeLimit *int32 `json:"logsDirectorySizeLimit,omitempty"`
11037	// DetailedErrorLoggingEnabled - Detailed error logging enabled
11038	DetailedErrorLoggingEnabled *bool `json:"detailedErrorLoggingEnabled,omitempty"`
11039	// PublishingUsername - Publishing user name
11040	PublishingUsername *string `json:"publishingUsername,omitempty"`
11041	// PublishingPassword - Publishing password
11042	PublishingPassword *string `json:"publishingPassword,omitempty"`
11043	// AppSettings - Application Settings
11044	AppSettings *[]NameValuePair `json:"appSettings,omitempty"`
11045	// Metadata - Site Metadata
11046	Metadata *[]NameValuePair `json:"metadata,omitempty"`
11047	// ConnectionStrings - Connection strings
11048	ConnectionStrings *[]ConnStringInfo `json:"connectionStrings,omitempty"`
11049	// HandlerMappings - Handler mappings
11050	HandlerMappings *[]HandlerMapping `json:"handlerMappings,omitempty"`
11051	// DocumentRoot - Document root
11052	DocumentRoot *string `json:"documentRoot,omitempty"`
11053	// ScmType - SCM type
11054	ScmType *string `json:"scmType,omitempty"`
11055	// Use32BitWorkerProcess - Use 32 bit worker process
11056	Use32BitWorkerProcess *bool `json:"use32BitWorkerProcess,omitempty"`
11057	// WebSocketsEnabled - Web socket enabled.
11058	WebSocketsEnabled *bool `json:"webSocketsEnabled,omitempty"`
11059	// AlwaysOn - Always On
11060	AlwaysOn *bool `json:"alwaysOn,omitempty"`
11061	// JavaVersion - Java version
11062	JavaVersion *string `json:"javaVersion,omitempty"`
11063	// JavaContainer - Java container
11064	JavaContainer *string `json:"javaContainer,omitempty"`
11065	// JavaContainerVersion - Java container version
11066	JavaContainerVersion *string `json:"javaContainerVersion,omitempty"`
11067	// AppCommandLine - App Command Line to launch
11068	AppCommandLine *string `json:"appCommandLine,omitempty"`
11069	// ManagedPipelineMode - Managed pipeline mode. Possible values include: 'Integrated', 'Classic'
11070	ManagedPipelineMode ManagedPipelineMode `json:"managedPipelineMode,omitempty"`
11071	// VirtualApplications - Virtual applications
11072	VirtualApplications *[]VirtualApplication `json:"virtualApplications,omitempty"`
11073	// LoadBalancing - Site load balancing. Possible values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash'
11074	LoadBalancing SiteLoadBalancing `json:"loadBalancing,omitempty"`
11075	// Experiments - This is work around for polymophic types
11076	Experiments *Experiments `json:"experiments,omitempty"`
11077	// Limits - Site limits
11078	Limits *SiteLimits `json:"limits,omitempty"`
11079	// AutoHealEnabled - Auto heal enabled
11080	AutoHealEnabled *bool `json:"autoHealEnabled,omitempty"`
11081	// AutoHealRules - Auto heal rules
11082	AutoHealRules *AutoHealRules `json:"autoHealRules,omitempty"`
11083	// TracingOptions - Tracing options
11084	TracingOptions *string `json:"tracingOptions,omitempty"`
11085	// VnetName - Vnet name
11086	VnetName *string `json:"vnetName,omitempty"`
11087	// Cors - Cross-Origin Resource Sharing (CORS) settings.
11088	Cors *CorsSettings `json:"cors,omitempty"`
11089	// APIDefinition - Information about the formal API definition for the web app.
11090	APIDefinition *APIDefinitionInfo `json:"apiDefinition,omitempty"`
11091	// AutoSwapSlotName - Auto swap slot name
11092	AutoSwapSlotName *string `json:"autoSwapSlotName,omitempty"`
11093	// LocalMySQLEnabled - Local mysql enabled
11094	LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"`
11095	// IPSecurityRestrictions - Ip Security restrictions
11096	IPSecurityRestrictions *[]IPSecurityRestriction `json:"ipSecurityRestrictions,omitempty"`
11097}
11098
11099// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11100// SiteInstance instance of a web app
11101type SiteInstance struct {
11102	*SiteInstanceProperties `json:"properties,omitempty"`
11103	// ID - Resource Id
11104	ID *string `json:"id,omitempty"`
11105	// Name - Resource Name
11106	Name *string `json:"name,omitempty"`
11107	// Kind - Kind of resource
11108	Kind *string `json:"kind,omitempty"`
11109	// Location - Resource Location
11110	Location *string `json:"location,omitempty"`
11111	// Type - Resource type
11112	Type *string `json:"type,omitempty"`
11113	// Tags - Resource tags
11114	Tags map[string]*string `json:"tags"`
11115}
11116
11117// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11118// MarshalJSON is the custom marshaler for SiteInstance.
11119func (si SiteInstance) MarshalJSON() ([]byte, error) {
11120	objectMap := make(map[string]interface{})
11121	if si.SiteInstanceProperties != nil {
11122		objectMap["properties"] = si.SiteInstanceProperties
11123	}
11124	if si.ID != nil {
11125		objectMap["id"] = si.ID
11126	}
11127	if si.Name != nil {
11128		objectMap["name"] = si.Name
11129	}
11130	if si.Kind != nil {
11131		objectMap["kind"] = si.Kind
11132	}
11133	if si.Location != nil {
11134		objectMap["location"] = si.Location
11135	}
11136	if si.Type != nil {
11137		objectMap["type"] = si.Type
11138	}
11139	if si.Tags != nil {
11140		objectMap["tags"] = si.Tags
11141	}
11142	return json.Marshal(objectMap)
11143}
11144
11145// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11146// UnmarshalJSON is the custom unmarshaler for SiteInstance struct.
11147func (si *SiteInstance) UnmarshalJSON(body []byte) error {
11148	var m map[string]*json.RawMessage
11149	err := json.Unmarshal(body, &m)
11150	if err != nil {
11151		return err
11152	}
11153	for k, v := range m {
11154		switch k {
11155		case "properties":
11156			if v != nil {
11157				var siteInstanceProperties SiteInstanceProperties
11158				err = json.Unmarshal(*v, &siteInstanceProperties)
11159				if err != nil {
11160					return err
11161				}
11162				si.SiteInstanceProperties = &siteInstanceProperties
11163			}
11164		case "id":
11165			if v != nil {
11166				var ID string
11167				err = json.Unmarshal(*v, &ID)
11168				if err != nil {
11169					return err
11170				}
11171				si.ID = &ID
11172			}
11173		case "name":
11174			if v != nil {
11175				var name string
11176				err = json.Unmarshal(*v, &name)
11177				if err != nil {
11178					return err
11179				}
11180				si.Name = &name
11181			}
11182		case "kind":
11183			if v != nil {
11184				var kind string
11185				err = json.Unmarshal(*v, &kind)
11186				if err != nil {
11187					return err
11188				}
11189				si.Kind = &kind
11190			}
11191		case "location":
11192			if v != nil {
11193				var location string
11194				err = json.Unmarshal(*v, &location)
11195				if err != nil {
11196					return err
11197				}
11198				si.Location = &location
11199			}
11200		case "type":
11201			if v != nil {
11202				var typeVar string
11203				err = json.Unmarshal(*v, &typeVar)
11204				if err != nil {
11205					return err
11206				}
11207				si.Type = &typeVar
11208			}
11209		case "tags":
11210			if v != nil {
11211				var tags map[string]*string
11212				err = json.Unmarshal(*v, &tags)
11213				if err != nil {
11214					return err
11215				}
11216				si.Tags = tags
11217			}
11218		}
11219	}
11220
11221	return nil
11222}
11223
11224// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11225// SiteInstanceCollection collection of site instances
11226type SiteInstanceCollection struct {
11227	autorest.Response `json:"-"`
11228	// Value - Collection of resources
11229	Value *[]SiteInstance `json:"value,omitempty"`
11230	// NextLink - Link to next page of resources
11231	NextLink *string `json:"nextLink,omitempty"`
11232}
11233
11234// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11235// SiteInstanceCollectionIterator provides access to a complete listing of SiteInstance values.
11236type SiteInstanceCollectionIterator struct {
11237	i    int
11238	page SiteInstanceCollectionPage
11239}
11240
11241// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11242// Next advances to the next value.  If there was an error making
11243// the request the iterator does not advance and the error is returned.
11244func (iter *SiteInstanceCollectionIterator) Next() error {
11245	iter.i++
11246	if iter.i < len(iter.page.Values()) {
11247		return nil
11248	}
11249	err := iter.page.Next()
11250	if err != nil {
11251		iter.i--
11252		return err
11253	}
11254	iter.i = 0
11255	return nil
11256}
11257
11258// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11259// NotDone returns true if the enumeration should be started or is not yet complete.
11260func (iter SiteInstanceCollectionIterator) NotDone() bool {
11261	return iter.page.NotDone() && iter.i < len(iter.page.Values())
11262}
11263
11264// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11265// Response returns the raw server response from the last page request.
11266func (iter SiteInstanceCollectionIterator) Response() SiteInstanceCollection {
11267	return iter.page.Response()
11268}
11269
11270// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11271// Value returns the current value or a zero-initialized value if the
11272// iterator has advanced beyond the end of the collection.
11273func (iter SiteInstanceCollectionIterator) Value() SiteInstance {
11274	if !iter.page.NotDone() {
11275		return SiteInstance{}
11276	}
11277	return iter.page.Values()[iter.i]
11278}
11279
11280// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11281// IsEmpty returns true if the ListResult contains no values.
11282func (sic SiteInstanceCollection) IsEmpty() bool {
11283	return sic.Value == nil || len(*sic.Value) == 0
11284}
11285
11286// siteInstanceCollectionPreparer prepares a request to retrieve the next set of results.
11287// It returns nil if no more results exist.
11288func (sic SiteInstanceCollection) siteInstanceCollectionPreparer() (*http.Request, error) {
11289	if sic.NextLink == nil || len(to.String(sic.NextLink)) < 1 {
11290		return nil, nil
11291	}
11292	return autorest.Prepare(&http.Request{},
11293		autorest.AsJSON(),
11294		autorest.AsGet(),
11295		autorest.WithBaseURL(to.String(sic.NextLink)))
11296}
11297
11298// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11299// SiteInstanceCollectionPage contains a page of SiteInstance values.
11300type SiteInstanceCollectionPage struct {
11301	fn  func(SiteInstanceCollection) (SiteInstanceCollection, error)
11302	sic SiteInstanceCollection
11303}
11304
11305// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11306// Next advances to the next page of values.  If there was an error making
11307// the request the page does not advance and the error is returned.
11308func (page *SiteInstanceCollectionPage) Next() error {
11309	next, err := page.fn(page.sic)
11310	if err != nil {
11311		return err
11312	}
11313	page.sic = next
11314	return nil
11315}
11316
11317// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11318// NotDone returns true if the page enumeration should be started or is not yet complete.
11319func (page SiteInstanceCollectionPage) NotDone() bool {
11320	return !page.sic.IsEmpty()
11321}
11322
11323// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11324// Response returns the raw server response from the last page request.
11325func (page SiteInstanceCollectionPage) Response() SiteInstanceCollection {
11326	return page.sic
11327}
11328
11329// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11330// Values returns the slice of values for the current page or nil if there are no values.
11331func (page SiteInstanceCollectionPage) Values() []SiteInstance {
11332	if page.sic.IsEmpty() {
11333		return nil
11334	}
11335	return *page.sic.Value
11336}
11337
11338// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11339// SiteInstanceProperties ...
11340type SiteInstanceProperties struct {
11341	// Name - Name of instance
11342	Name *string `json:"name,omitempty"`
11343}
11344
11345// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11346// SiteLimits represents metric limits set on a web app.
11347type SiteLimits struct {
11348	// MaxPercentageCPU - Maximum allowed CPU usage percentage
11349	MaxPercentageCPU *float64 `json:"maxPercentageCpu,omitempty"`
11350	// MaxMemoryInMb - Maximum allowed memory usage in MB
11351	MaxMemoryInMb *int64 `json:"maxMemoryInMb,omitempty"`
11352	// MaxDiskSizeInMb - Maximum allowed disk size usage in MB
11353	MaxDiskSizeInMb *int64 `json:"maxDiskSizeInMb,omitempty"`
11354}
11355
11356// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11357// SiteLogsConfig configuration of Azure web site
11358type SiteLogsConfig struct {
11359	autorest.Response         `json:"-"`
11360	*SiteLogsConfigProperties `json:"properties,omitempty"`
11361	// ID - Resource Id
11362	ID *string `json:"id,omitempty"`
11363	// Name - Resource Name
11364	Name *string `json:"name,omitempty"`
11365	// Kind - Kind of resource
11366	Kind *string `json:"kind,omitempty"`
11367	// Location - Resource Location
11368	Location *string `json:"location,omitempty"`
11369	// Type - Resource type
11370	Type *string `json:"type,omitempty"`
11371	// Tags - Resource tags
11372	Tags map[string]*string `json:"tags"`
11373}
11374
11375// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11376// MarshalJSON is the custom marshaler for SiteLogsConfig.
11377func (slc SiteLogsConfig) MarshalJSON() ([]byte, error) {
11378	objectMap := make(map[string]interface{})
11379	if slc.SiteLogsConfigProperties != nil {
11380		objectMap["properties"] = slc.SiteLogsConfigProperties
11381	}
11382	if slc.ID != nil {
11383		objectMap["id"] = slc.ID
11384	}
11385	if slc.Name != nil {
11386		objectMap["name"] = slc.Name
11387	}
11388	if slc.Kind != nil {
11389		objectMap["kind"] = slc.Kind
11390	}
11391	if slc.Location != nil {
11392		objectMap["location"] = slc.Location
11393	}
11394	if slc.Type != nil {
11395		objectMap["type"] = slc.Type
11396	}
11397	if slc.Tags != nil {
11398		objectMap["tags"] = slc.Tags
11399	}
11400	return json.Marshal(objectMap)
11401}
11402
11403// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11404// UnmarshalJSON is the custom unmarshaler for SiteLogsConfig struct.
11405func (slc *SiteLogsConfig) UnmarshalJSON(body []byte) error {
11406	var m map[string]*json.RawMessage
11407	err := json.Unmarshal(body, &m)
11408	if err != nil {
11409		return err
11410	}
11411	for k, v := range m {
11412		switch k {
11413		case "properties":
11414			if v != nil {
11415				var siteLogsConfigProperties SiteLogsConfigProperties
11416				err = json.Unmarshal(*v, &siteLogsConfigProperties)
11417				if err != nil {
11418					return err
11419				}
11420				slc.SiteLogsConfigProperties = &siteLogsConfigProperties
11421			}
11422		case "id":
11423			if v != nil {
11424				var ID string
11425				err = json.Unmarshal(*v, &ID)
11426				if err != nil {
11427					return err
11428				}
11429				slc.ID = &ID
11430			}
11431		case "name":
11432			if v != nil {
11433				var name string
11434				err = json.Unmarshal(*v, &name)
11435				if err != nil {
11436					return err
11437				}
11438				slc.Name = &name
11439			}
11440		case "kind":
11441			if v != nil {
11442				var kind string
11443				err = json.Unmarshal(*v, &kind)
11444				if err != nil {
11445					return err
11446				}
11447				slc.Kind = &kind
11448			}
11449		case "location":
11450			if v != nil {
11451				var location string
11452				err = json.Unmarshal(*v, &location)
11453				if err != nil {
11454					return err
11455				}
11456				slc.Location = &location
11457			}
11458		case "type":
11459			if v != nil {
11460				var typeVar string
11461				err = json.Unmarshal(*v, &typeVar)
11462				if err != nil {
11463					return err
11464				}
11465				slc.Type = &typeVar
11466			}
11467		case "tags":
11468			if v != nil {
11469				var tags map[string]*string
11470				err = json.Unmarshal(*v, &tags)
11471				if err != nil {
11472					return err
11473				}
11474				slc.Tags = tags
11475			}
11476		}
11477	}
11478
11479	return nil
11480}
11481
11482// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11483// SiteLogsConfigProperties ...
11484type SiteLogsConfigProperties struct {
11485	// ApplicationLogs - Application logs configuration
11486	ApplicationLogs *ApplicationLogsConfig `json:"applicationLogs,omitempty"`
11487	// HTTPLogs - Http logs configuration
11488	HTTPLogs *HTTPLogsConfig `json:"httpLogs,omitempty"`
11489	// FailedRequestsTracing - Failed requests tracing configuration
11490	FailedRequestsTracing *EnabledConfig `json:"failedRequestsTracing,omitempty"`
11491	// DetailedErrorMessages - Detailed error messages configuration
11492	DetailedErrorMessages *EnabledConfig `json:"detailedErrorMessages,omitempty"`
11493}
11494
11495// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11496// SiteProperties ...
11497type SiteProperties struct {
11498	// Name - Name of web app
11499	Name *string `json:"name,omitempty"`
11500	// State - State of the web app
11501	State *string `json:"state,omitempty"`
11502	// HostNames - Hostnames associated with web app
11503	HostNames *[]string `json:"hostNames,omitempty"`
11504	// RepositorySiteName - Name of repository site
11505	RepositorySiteName *string `json:"repositorySiteName,omitempty"`
11506	// UsageState - State indicating whether web app has exceeded its quota usage. Possible values include: 'UsageStateNormal', 'UsageStateExceeded'
11507	UsageState UsageState `json:"usageState,omitempty"`
11508	// Enabled - True if the site is enabled; otherwise, false. Setting this  value to false disables the site (takes the site off line).
11509	Enabled *bool `json:"enabled,omitempty"`
11510	// EnabledHostNames - Hostnames for the web app that are enabled. Hostnames need to be assigned and enabled. If some hostnames are assigned but not enabled
11511	//             the app is not served on those hostnames
11512	EnabledHostNames *[]string `json:"enabledHostNames,omitempty"`
11513	// AvailabilityState - Management information availability state for the web app. Possible values are Normal or Limited.
11514	//             Normal means that the site is running correctly and that management information for the site is available.
11515	//             Limited means that only partial management information for the site is available and that detailed site information is unavailable. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode'
11516	AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"`
11517	// HostNameSslStates - Hostname SSL states are  used to manage the SSL bindings for site's hostnames.
11518	HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"`
11519	ServerFarmID      *string             `json:"serverFarmId,omitempty"`
11520	// LastModifiedTimeUtc - Last time web app was modified in UTC
11521	LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"`
11522	// SiteConfig - Configuration of web app
11523	SiteConfig *SiteConfig `json:"siteConfig,omitempty"`
11524	// TrafficManagerHostNames - Read-only list of Azure Traffic manager hostnames associated with web app
11525	TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"`
11526	// PremiumAppDeployed - If set indicates whether web app is deployed as a premium app
11527	PremiumAppDeployed *bool `json:"premiumAppDeployed,omitempty"`
11528	// ScmSiteAlsoStopped - If set indicates whether to stop SCM (KUDU) site when the web app is stopped. Default is false.
11529	ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"`
11530	// TargetSwapSlot - Read-only property that specifies which slot this app will swap into
11531	TargetSwapSlot *string `json:"targetSwapSlot,omitempty"`
11532	// HostingEnvironmentProfile - Specification for the hosting environment (App Service Environment) to use for the web app
11533	HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"`
11534	MicroService              *string                    `json:"microService,omitempty"`
11535	// GatewaySiteName - Name of gateway app associated with web app
11536	GatewaySiteName *string `json:"gatewaySiteName,omitempty"`
11537	// ClientAffinityEnabled - Specifies if the client affinity is enabled when load balancing http request for multiple instances of the web app
11538	ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"`
11539	// ClientCertEnabled - Specifies if the client certificate is enabled for the web app
11540	ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"`
11541	// HostNamesDisabled - Specifies if the public hostnames are disabled the web app.
11542	//             If set to true the app is only accessible via API Management process
11543	HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"`
11544	// OutboundIPAddresses - List of comma separated IP addresses that this web app uses for outbound connections. Those can be used when configuring firewall rules for databases accessed by this web app.
11545	OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"`
11546	// ContainerSize - Size of a function container
11547	ContainerSize *int32 `json:"containerSize,omitempty"`
11548	// MaxNumberOfWorkers - Maximum number of workers
11549	//             This only applies to function container
11550	MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"`
11551	// CloningInfo - This is only valid for web app creation. If specified, web app is cloned from
11552	//             a source web app
11553	CloningInfo *CloningInfo `json:"cloningInfo,omitempty"`
11554	// ResourceGroup - Resource group web app belongs to
11555	ResourceGroup *string `json:"resourceGroup,omitempty"`
11556	// IsDefaultContainer - Site is a default container
11557	IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"`
11558	// DefaultHostName - Default hostname of the web app
11559	DefaultHostName *string `json:"defaultHostName,omitempty"`
11560}
11561
11562// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11563// SitePropertiesModel ...
11564type SitePropertiesModel struct {
11565	Metadata    *[]NameValuePair `json:"metadata,omitempty"`
11566	Properties  *[]NameValuePair `json:"properties,omitempty"`
11567	AppSettings *[]NameValuePair `json:"appSettings,omitempty"`
11568}
11569
11570// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11571// SitesCreateOrUpdateSiteFuture an abstraction for monitoring and retrieving the results of a long-running
11572// operation.
11573type SitesCreateOrUpdateSiteFuture struct {
11574	azure.Future
11575	req *http.Request
11576}
11577
11578// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11579// Result returns the result of the asynchronous operation.
11580// If the operation has not completed it will return an error.
11581func (future SitesCreateOrUpdateSiteFuture) Result(client SitesClient) (s Site, err error) {
11582	var done bool
11583	done, err = future.Done(client)
11584	if err != nil {
11585		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteFuture", "Result", future.Response(), "Polling failure")
11586		return
11587	}
11588	if !done {
11589		return s, azure.NewAsyncOpIncompleteError("web.SitesCreateOrUpdateSiteFuture")
11590	}
11591	if future.PollingMethod() == azure.PollingLocation {
11592		s, err = client.CreateOrUpdateSiteResponder(future.Response())
11593		if err != nil {
11594			err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteFuture", "Result", future.Response(), "Failure responding to request")
11595		}
11596		return
11597	}
11598	var req *http.Request
11599	var resp *http.Response
11600	if future.PollingURL() != "" {
11601		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11602		if err != nil {
11603			return
11604		}
11605	} else {
11606		req = autorest.ChangeToGet(future.req)
11607	}
11608	resp, err = autorest.SendWithSender(client, req,
11609		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
11610	if err != nil {
11611		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteFuture", "Result", resp, "Failure sending request")
11612		return
11613	}
11614	s, err = client.CreateOrUpdateSiteResponder(resp)
11615	if err != nil {
11616		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteFuture", "Result", resp, "Failure responding to request")
11617	}
11618	return
11619}
11620
11621// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11622// SitesCreateOrUpdateSiteSlotFuture an abstraction for monitoring and retrieving the results of a long-running
11623// operation.
11624type SitesCreateOrUpdateSiteSlotFuture struct {
11625	azure.Future
11626	req *http.Request
11627}
11628
11629// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11630// Result returns the result of the asynchronous operation.
11631// If the operation has not completed it will return an error.
11632func (future SitesCreateOrUpdateSiteSlotFuture) Result(client SitesClient) (s Site, err error) {
11633	var done bool
11634	done, err = future.Done(client)
11635	if err != nil {
11636		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteSlotFuture", "Result", future.Response(), "Polling failure")
11637		return
11638	}
11639	if !done {
11640		return s, azure.NewAsyncOpIncompleteError("web.SitesCreateOrUpdateSiteSlotFuture")
11641	}
11642	if future.PollingMethod() == azure.PollingLocation {
11643		s, err = client.CreateOrUpdateSiteSlotResponder(future.Response())
11644		if err != nil {
11645			err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteSlotFuture", "Result", future.Response(), "Failure responding to request")
11646		}
11647		return
11648	}
11649	var req *http.Request
11650	var resp *http.Response
11651	if future.PollingURL() != "" {
11652		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11653		if err != nil {
11654			return
11655		}
11656	} else {
11657		req = autorest.ChangeToGet(future.req)
11658	}
11659	resp, err = autorest.SendWithSender(client, req,
11660		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
11661	if err != nil {
11662		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteSlotFuture", "Result", resp, "Failure sending request")
11663		return
11664	}
11665	s, err = client.CreateOrUpdateSiteSlotResponder(resp)
11666	if err != nil {
11667		err = autorest.NewErrorWithError(err, "web.SitesCreateOrUpdateSiteSlotFuture", "Result", resp, "Failure responding to request")
11668	}
11669	return
11670}
11671
11672// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11673// SitesListSitePublishingCredentialsFuture an abstraction for monitoring and retrieving the results of a
11674// long-running operation.
11675type SitesListSitePublishingCredentialsFuture struct {
11676	azure.Future
11677	req *http.Request
11678}
11679
11680// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11681// Result returns the result of the asynchronous operation.
11682// If the operation has not completed it will return an error.
11683func (future SitesListSitePublishingCredentialsFuture) Result(client SitesClient) (u User, err error) {
11684	var done bool
11685	done, err = future.Done(client)
11686	if err != nil {
11687		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsFuture", "Result", future.Response(), "Polling failure")
11688		return
11689	}
11690	if !done {
11691		return u, azure.NewAsyncOpIncompleteError("web.SitesListSitePublishingCredentialsFuture")
11692	}
11693	if future.PollingMethod() == azure.PollingLocation {
11694		u, err = client.ListSitePublishingCredentialsResponder(future.Response())
11695		if err != nil {
11696			err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsFuture", "Result", future.Response(), "Failure responding to request")
11697		}
11698		return
11699	}
11700	var req *http.Request
11701	var resp *http.Response
11702	if future.PollingURL() != "" {
11703		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11704		if err != nil {
11705			return
11706		}
11707	} else {
11708		req = autorest.ChangeToGet(future.req)
11709	}
11710	resp, err = autorest.SendWithSender(client, req,
11711		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
11712	if err != nil {
11713		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsFuture", "Result", resp, "Failure sending request")
11714		return
11715	}
11716	u, err = client.ListSitePublishingCredentialsResponder(resp)
11717	if err != nil {
11718		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsFuture", "Result", resp, "Failure responding to request")
11719	}
11720	return
11721}
11722
11723// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11724// SitesListSitePublishingCredentialsSlotFuture an abstraction for monitoring and retrieving the results of a
11725// long-running operation.
11726type SitesListSitePublishingCredentialsSlotFuture struct {
11727	azure.Future
11728	req *http.Request
11729}
11730
11731// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11732// Result returns the result of the asynchronous operation.
11733// If the operation has not completed it will return an error.
11734func (future SitesListSitePublishingCredentialsSlotFuture) Result(client SitesClient) (u User, err error) {
11735	var done bool
11736	done, err = future.Done(client)
11737	if err != nil {
11738		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsSlotFuture", "Result", future.Response(), "Polling failure")
11739		return
11740	}
11741	if !done {
11742		return u, azure.NewAsyncOpIncompleteError("web.SitesListSitePublishingCredentialsSlotFuture")
11743	}
11744	if future.PollingMethod() == azure.PollingLocation {
11745		u, err = client.ListSitePublishingCredentialsSlotResponder(future.Response())
11746		if err != nil {
11747			err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsSlotFuture", "Result", future.Response(), "Failure responding to request")
11748		}
11749		return
11750	}
11751	var req *http.Request
11752	var resp *http.Response
11753	if future.PollingURL() != "" {
11754		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11755		if err != nil {
11756			return
11757		}
11758	} else {
11759		req = autorest.ChangeToGet(future.req)
11760	}
11761	resp, err = autorest.SendWithSender(client, req,
11762		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
11763	if err != nil {
11764		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsSlotFuture", "Result", resp, "Failure sending request")
11765		return
11766	}
11767	u, err = client.ListSitePublishingCredentialsSlotResponder(resp)
11768	if err != nil {
11769		err = autorest.NewErrorWithError(err, "web.SitesListSitePublishingCredentialsSlotFuture", "Result", resp, "Failure responding to request")
11770	}
11771	return
11772}
11773
11774// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11775// SiteSourceControl describes the source control configuration for web app
11776type SiteSourceControl struct {
11777	autorest.Response            `json:"-"`
11778	*SiteSourceControlProperties `json:"properties,omitempty"`
11779	// ID - Resource Id
11780	ID *string `json:"id,omitempty"`
11781	// Name - Resource Name
11782	Name *string `json:"name,omitempty"`
11783	// Kind - Kind of resource
11784	Kind *string `json:"kind,omitempty"`
11785	// Location - Resource Location
11786	Location *string `json:"location,omitempty"`
11787	// Type - Resource type
11788	Type *string `json:"type,omitempty"`
11789	// Tags - Resource tags
11790	Tags map[string]*string `json:"tags"`
11791}
11792
11793// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11794// MarshalJSON is the custom marshaler for SiteSourceControl.
11795func (ssc SiteSourceControl) MarshalJSON() ([]byte, error) {
11796	objectMap := make(map[string]interface{})
11797	if ssc.SiteSourceControlProperties != nil {
11798		objectMap["properties"] = ssc.SiteSourceControlProperties
11799	}
11800	if ssc.ID != nil {
11801		objectMap["id"] = ssc.ID
11802	}
11803	if ssc.Name != nil {
11804		objectMap["name"] = ssc.Name
11805	}
11806	if ssc.Kind != nil {
11807		objectMap["kind"] = ssc.Kind
11808	}
11809	if ssc.Location != nil {
11810		objectMap["location"] = ssc.Location
11811	}
11812	if ssc.Type != nil {
11813		objectMap["type"] = ssc.Type
11814	}
11815	if ssc.Tags != nil {
11816		objectMap["tags"] = ssc.Tags
11817	}
11818	return json.Marshal(objectMap)
11819}
11820
11821// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11822// UnmarshalJSON is the custom unmarshaler for SiteSourceControl struct.
11823func (ssc *SiteSourceControl) UnmarshalJSON(body []byte) error {
11824	var m map[string]*json.RawMessage
11825	err := json.Unmarshal(body, &m)
11826	if err != nil {
11827		return err
11828	}
11829	for k, v := range m {
11830		switch k {
11831		case "properties":
11832			if v != nil {
11833				var siteSourceControlProperties SiteSourceControlProperties
11834				err = json.Unmarshal(*v, &siteSourceControlProperties)
11835				if err != nil {
11836					return err
11837				}
11838				ssc.SiteSourceControlProperties = &siteSourceControlProperties
11839			}
11840		case "id":
11841			if v != nil {
11842				var ID string
11843				err = json.Unmarshal(*v, &ID)
11844				if err != nil {
11845					return err
11846				}
11847				ssc.ID = &ID
11848			}
11849		case "name":
11850			if v != nil {
11851				var name string
11852				err = json.Unmarshal(*v, &name)
11853				if err != nil {
11854					return err
11855				}
11856				ssc.Name = &name
11857			}
11858		case "kind":
11859			if v != nil {
11860				var kind string
11861				err = json.Unmarshal(*v, &kind)
11862				if err != nil {
11863					return err
11864				}
11865				ssc.Kind = &kind
11866			}
11867		case "location":
11868			if v != nil {
11869				var location string
11870				err = json.Unmarshal(*v, &location)
11871				if err != nil {
11872					return err
11873				}
11874				ssc.Location = &location
11875			}
11876		case "type":
11877			if v != nil {
11878				var typeVar string
11879				err = json.Unmarshal(*v, &typeVar)
11880				if err != nil {
11881					return err
11882				}
11883				ssc.Type = &typeVar
11884			}
11885		case "tags":
11886			if v != nil {
11887				var tags map[string]*string
11888				err = json.Unmarshal(*v, &tags)
11889				if err != nil {
11890					return err
11891				}
11892				ssc.Tags = tags
11893			}
11894		}
11895	}
11896
11897	return nil
11898}
11899
11900// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11901// SiteSourceControlProperties ...
11902type SiteSourceControlProperties struct {
11903	// RepoURL - Repository or source control url
11904	RepoURL *string `json:"repoUrl,omitempty"`
11905	// Branch - Name of branch to use for deployment
11906	Branch *string `json:"branch,omitempty"`
11907	// IsManualIntegration - Whether to manual or continuous integration
11908	IsManualIntegration *bool `json:"isManualIntegration,omitempty"`
11909	// DeploymentRollbackEnabled - Whether to manual or continuous integration
11910	DeploymentRollbackEnabled *bool `json:"deploymentRollbackEnabled,omitempty"`
11911	// IsMercurial - Mercurial or Git repository type
11912	IsMercurial *bool `json:"isMercurial,omitempty"`
11913}
11914
11915// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11916// SitesRecoverSiteFuture an abstraction for monitoring and retrieving the results of a long-running operation.
11917type SitesRecoverSiteFuture struct {
11918	azure.Future
11919	req *http.Request
11920}
11921
11922// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11923// Result returns the result of the asynchronous operation.
11924// If the operation has not completed it will return an error.
11925func (future SitesRecoverSiteFuture) Result(client SitesClient) (s Site, err error) {
11926	var done bool
11927	done, err = future.Done(client)
11928	if err != nil {
11929		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteFuture", "Result", future.Response(), "Polling failure")
11930		return
11931	}
11932	if !done {
11933		return s, azure.NewAsyncOpIncompleteError("web.SitesRecoverSiteFuture")
11934	}
11935	if future.PollingMethod() == azure.PollingLocation {
11936		s, err = client.RecoverSiteResponder(future.Response())
11937		if err != nil {
11938			err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteFuture", "Result", future.Response(), "Failure responding to request")
11939		}
11940		return
11941	}
11942	var req *http.Request
11943	var resp *http.Response
11944	if future.PollingURL() != "" {
11945		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11946		if err != nil {
11947			return
11948		}
11949	} else {
11950		req = autorest.ChangeToGet(future.req)
11951	}
11952	resp, err = autorest.SendWithSender(client, req,
11953		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
11954	if err != nil {
11955		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteFuture", "Result", resp, "Failure sending request")
11956		return
11957	}
11958	s, err = client.RecoverSiteResponder(resp)
11959	if err != nil {
11960		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteFuture", "Result", resp, "Failure responding to request")
11961	}
11962	return
11963}
11964
11965// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11966// SitesRecoverSiteSlotFuture an abstraction for monitoring and retrieving the results of a long-running operation.
11967type SitesRecoverSiteSlotFuture struct {
11968	azure.Future
11969	req *http.Request
11970}
11971
11972// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
11973// Result returns the result of the asynchronous operation.
11974// If the operation has not completed it will return an error.
11975func (future SitesRecoverSiteSlotFuture) Result(client SitesClient) (s Site, err error) {
11976	var done bool
11977	done, err = future.Done(client)
11978	if err != nil {
11979		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteSlotFuture", "Result", future.Response(), "Polling failure")
11980		return
11981	}
11982	if !done {
11983		return s, azure.NewAsyncOpIncompleteError("web.SitesRecoverSiteSlotFuture")
11984	}
11985	if future.PollingMethod() == azure.PollingLocation {
11986		s, err = client.RecoverSiteSlotResponder(future.Response())
11987		if err != nil {
11988			err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteSlotFuture", "Result", future.Response(), "Failure responding to request")
11989		}
11990		return
11991	}
11992	var req *http.Request
11993	var resp *http.Response
11994	if future.PollingURL() != "" {
11995		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
11996		if err != nil {
11997			return
11998		}
11999	} else {
12000		req = autorest.ChangeToGet(future.req)
12001	}
12002	resp, err = autorest.SendWithSender(client, req,
12003		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
12004	if err != nil {
12005		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteSlotFuture", "Result", resp, "Failure sending request")
12006		return
12007	}
12008	s, err = client.RecoverSiteSlotResponder(resp)
12009	if err != nil {
12010		err = autorest.NewErrorWithError(err, "web.SitesRecoverSiteSlotFuture", "Result", resp, "Failure responding to request")
12011	}
12012	return
12013}
12014
12015// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12016// SitesRestoreSiteFuture an abstraction for monitoring and retrieving the results of a long-running operation.
12017type SitesRestoreSiteFuture struct {
12018	azure.Future
12019	req *http.Request
12020}
12021
12022// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12023// Result returns the result of the asynchronous operation.
12024// If the operation has not completed it will return an error.
12025func (future SitesRestoreSiteFuture) Result(client SitesClient) (rr RestoreResponse, err error) {
12026	var done bool
12027	done, err = future.Done(client)
12028	if err != nil {
12029		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteFuture", "Result", future.Response(), "Polling failure")
12030		return
12031	}
12032	if !done {
12033		return rr, azure.NewAsyncOpIncompleteError("web.SitesRestoreSiteFuture")
12034	}
12035	if future.PollingMethod() == azure.PollingLocation {
12036		rr, err = client.RestoreSiteResponder(future.Response())
12037		if err != nil {
12038			err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteFuture", "Result", future.Response(), "Failure responding to request")
12039		}
12040		return
12041	}
12042	var req *http.Request
12043	var resp *http.Response
12044	if future.PollingURL() != "" {
12045		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
12046		if err != nil {
12047			return
12048		}
12049	} else {
12050		req = autorest.ChangeToGet(future.req)
12051	}
12052	resp, err = autorest.SendWithSender(client, req,
12053		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
12054	if err != nil {
12055		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteFuture", "Result", resp, "Failure sending request")
12056		return
12057	}
12058	rr, err = client.RestoreSiteResponder(resp)
12059	if err != nil {
12060		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteFuture", "Result", resp, "Failure responding to request")
12061	}
12062	return
12063}
12064
12065// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12066// SitesRestoreSiteSlotFuture an abstraction for monitoring and retrieving the results of a long-running operation.
12067type SitesRestoreSiteSlotFuture struct {
12068	azure.Future
12069	req *http.Request
12070}
12071
12072// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12073// Result returns the result of the asynchronous operation.
12074// If the operation has not completed it will return an error.
12075func (future SitesRestoreSiteSlotFuture) Result(client SitesClient) (rr RestoreResponse, err error) {
12076	var done bool
12077	done, err = future.Done(client)
12078	if err != nil {
12079		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteSlotFuture", "Result", future.Response(), "Polling failure")
12080		return
12081	}
12082	if !done {
12083		return rr, azure.NewAsyncOpIncompleteError("web.SitesRestoreSiteSlotFuture")
12084	}
12085	if future.PollingMethod() == azure.PollingLocation {
12086		rr, err = client.RestoreSiteSlotResponder(future.Response())
12087		if err != nil {
12088			err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteSlotFuture", "Result", future.Response(), "Failure responding to request")
12089		}
12090		return
12091	}
12092	var req *http.Request
12093	var resp *http.Response
12094	if future.PollingURL() != "" {
12095		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
12096		if err != nil {
12097			return
12098		}
12099	} else {
12100		req = autorest.ChangeToGet(future.req)
12101	}
12102	resp, err = autorest.SendWithSender(client, req,
12103		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
12104	if err != nil {
12105		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteSlotFuture", "Result", resp, "Failure sending request")
12106		return
12107	}
12108	rr, err = client.RestoreSiteSlotResponder(resp)
12109	if err != nil {
12110		err = autorest.NewErrorWithError(err, "web.SitesRestoreSiteSlotFuture", "Result", resp, "Failure responding to request")
12111	}
12112	return
12113}
12114
12115// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12116// SitesSwapSlotsSlotFuture an abstraction for monitoring and retrieving the results of a long-running operation.
12117type SitesSwapSlotsSlotFuture struct {
12118	azure.Future
12119	req *http.Request
12120}
12121
12122// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12123// Result returns the result of the asynchronous operation.
12124// If the operation has not completed it will return an error.
12125func (future SitesSwapSlotsSlotFuture) Result(client SitesClient) (so SetObject, err error) {
12126	var done bool
12127	done, err = future.Done(client)
12128	if err != nil {
12129		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotsSlotFuture", "Result", future.Response(), "Polling failure")
12130		return
12131	}
12132	if !done {
12133		return so, azure.NewAsyncOpIncompleteError("web.SitesSwapSlotsSlotFuture")
12134	}
12135	if future.PollingMethod() == azure.PollingLocation {
12136		so, err = client.SwapSlotsSlotResponder(future.Response())
12137		if err != nil {
12138			err = autorest.NewErrorWithError(err, "web.SitesSwapSlotsSlotFuture", "Result", future.Response(), "Failure responding to request")
12139		}
12140		return
12141	}
12142	var req *http.Request
12143	var resp *http.Response
12144	if future.PollingURL() != "" {
12145		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
12146		if err != nil {
12147			return
12148		}
12149	} else {
12150		req = autorest.ChangeToGet(future.req)
12151	}
12152	resp, err = autorest.SendWithSender(client, req,
12153		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
12154	if err != nil {
12155		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotsSlotFuture", "Result", resp, "Failure sending request")
12156		return
12157	}
12158	so, err = client.SwapSlotsSlotResponder(resp)
12159	if err != nil {
12160		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotsSlotFuture", "Result", resp, "Failure responding to request")
12161	}
12162	return
12163}
12164
12165// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12166// SitesSwapSlotWithProductionFuture an abstraction for monitoring and retrieving the results of a long-running
12167// operation.
12168type SitesSwapSlotWithProductionFuture struct {
12169	azure.Future
12170	req *http.Request
12171}
12172
12173// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12174// Result returns the result of the asynchronous operation.
12175// If the operation has not completed it will return an error.
12176func (future SitesSwapSlotWithProductionFuture) Result(client SitesClient) (so SetObject, err error) {
12177	var done bool
12178	done, err = future.Done(client)
12179	if err != nil {
12180		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotWithProductionFuture", "Result", future.Response(), "Polling failure")
12181		return
12182	}
12183	if !done {
12184		return so, azure.NewAsyncOpIncompleteError("web.SitesSwapSlotWithProductionFuture")
12185	}
12186	if future.PollingMethod() == azure.PollingLocation {
12187		so, err = client.SwapSlotWithProductionResponder(future.Response())
12188		if err != nil {
12189			err = autorest.NewErrorWithError(err, "web.SitesSwapSlotWithProductionFuture", "Result", future.Response(), "Failure responding to request")
12190		}
12191		return
12192	}
12193	var req *http.Request
12194	var resp *http.Response
12195	if future.PollingURL() != "" {
12196		req, err = http.NewRequest(http.MethodGet, future.PollingURL(), nil)
12197		if err != nil {
12198			return
12199		}
12200	} else {
12201		req = autorest.ChangeToGet(future.req)
12202	}
12203	resp, err = autorest.SendWithSender(client, req,
12204		autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
12205	if err != nil {
12206		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotWithProductionFuture", "Result", resp, "Failure sending request")
12207		return
12208	}
12209	so, err = client.SwapSlotWithProductionResponder(resp)
12210	if err != nil {
12211		err = autorest.NewErrorWithError(err, "web.SitesSwapSlotWithProductionFuture", "Result", resp, "Failure responding to request")
12212	}
12213	return
12214}
12215
12216// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12217// SkuCapacity description of the App Service Plan scale options
12218type SkuCapacity struct {
12219	// Minimum - Minimum number of Workers for this App Service Plan SKU
12220	Minimum *int32 `json:"minimum,omitempty"`
12221	// Maximum - Maximum number of Workers for this App Service Plan SKU
12222	Maximum *int32 `json:"maximum,omitempty"`
12223	// Default - Default number of Workers for this App Service Plan SKU
12224	Default *int32 `json:"default,omitempty"`
12225	// ScaleType - Available scale configurations for an App Service Plan
12226	ScaleType *string `json:"scaleType,omitempty"`
12227}
12228
12229// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12230// SkuDescription describes a sku for a scalable resource
12231type SkuDescription struct {
12232	// Name - Name of the resource sku
12233	Name *string `json:"name,omitempty"`
12234	// Tier - Service Tier of the resource sku
12235	Tier *string `json:"tier,omitempty"`
12236	// Size - Size specifier of the resource sku
12237	Size *string `json:"size,omitempty"`
12238	// Family - Family code of the resource sku
12239	Family *string `json:"family,omitempty"`
12240	// Capacity - Current number of instances assigned to the resource
12241	Capacity *int32 `json:"capacity,omitempty"`
12242}
12243
12244// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12245// SkuInfo sku discovery information
12246type SkuInfo struct {
12247	// ResourceType - Resource type that this sku applies to
12248	ResourceType *string `json:"resourceType,omitempty"`
12249	// Sku - Name and tier of the sku
12250	Sku *SkuDescription `json:"sku,omitempty"`
12251	// Capacity - Min, max, and default scale values of the sku
12252	Capacity *SkuCapacity `json:"capacity,omitempty"`
12253}
12254
12255// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12256// SkuInfoCollection collection of SkuInfos
12257type SkuInfoCollection struct {
12258	autorest.Response `json:"-"`
12259	// Value - Collection of resources
12260	Value *[]SkuInfo `json:"value,omitempty"`
12261	// NextLink - Link to next page of resources
12262	NextLink *string `json:"nextLink,omitempty"`
12263}
12264
12265// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12266// SkuInfoCollectionIterator provides access to a complete listing of SkuInfo values.
12267type SkuInfoCollectionIterator struct {
12268	i    int
12269	page SkuInfoCollectionPage
12270}
12271
12272// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12273// Next advances to the next value.  If there was an error making
12274// the request the iterator does not advance and the error is returned.
12275func (iter *SkuInfoCollectionIterator) Next() error {
12276	iter.i++
12277	if iter.i < len(iter.page.Values()) {
12278		return nil
12279	}
12280	err := iter.page.Next()
12281	if err != nil {
12282		iter.i--
12283		return err
12284	}
12285	iter.i = 0
12286	return nil
12287}
12288
12289// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12290// NotDone returns true if the enumeration should be started or is not yet complete.
12291func (iter SkuInfoCollectionIterator) NotDone() bool {
12292	return iter.page.NotDone() && iter.i < len(iter.page.Values())
12293}
12294
12295// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12296// Response returns the raw server response from the last page request.
12297func (iter SkuInfoCollectionIterator) Response() SkuInfoCollection {
12298	return iter.page.Response()
12299}
12300
12301// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12302// Value returns the current value or a zero-initialized value if the
12303// iterator has advanced beyond the end of the collection.
12304func (iter SkuInfoCollectionIterator) Value() SkuInfo {
12305	if !iter.page.NotDone() {
12306		return SkuInfo{}
12307	}
12308	return iter.page.Values()[iter.i]
12309}
12310
12311// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12312// IsEmpty returns true if the ListResult contains no values.
12313func (sic SkuInfoCollection) IsEmpty() bool {
12314	return sic.Value == nil || len(*sic.Value) == 0
12315}
12316
12317// skuInfoCollectionPreparer prepares a request to retrieve the next set of results.
12318// It returns nil if no more results exist.
12319func (sic SkuInfoCollection) skuInfoCollectionPreparer() (*http.Request, error) {
12320	if sic.NextLink == nil || len(to.String(sic.NextLink)) < 1 {
12321		return nil, nil
12322	}
12323	return autorest.Prepare(&http.Request{},
12324		autorest.AsJSON(),
12325		autorest.AsGet(),
12326		autorest.WithBaseURL(to.String(sic.NextLink)))
12327}
12328
12329// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12330// SkuInfoCollectionPage contains a page of SkuInfo values.
12331type SkuInfoCollectionPage struct {
12332	fn  func(SkuInfoCollection) (SkuInfoCollection, error)
12333	sic SkuInfoCollection
12334}
12335
12336// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12337// Next advances to the next page of values.  If there was an error making
12338// the request the page does not advance and the error is returned.
12339func (page *SkuInfoCollectionPage) Next() error {
12340	next, err := page.fn(page.sic)
12341	if err != nil {
12342		return err
12343	}
12344	page.sic = next
12345	return nil
12346}
12347
12348// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12349// NotDone returns true if the page enumeration should be started or is not yet complete.
12350func (page SkuInfoCollectionPage) NotDone() bool {
12351	return !page.sic.IsEmpty()
12352}
12353
12354// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12355// Response returns the raw server response from the last page request.
12356func (page SkuInfoCollectionPage) Response() SkuInfoCollection {
12357	return page.sic
12358}
12359
12360// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12361// Values returns the slice of values for the current page or nil if there are no values.
12362func (page SkuInfoCollectionPage) Values() []SkuInfo {
12363	if page.sic.IsEmpty() {
12364		return nil
12365	}
12366	return *page.sic.Value
12367}
12368
12369// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12370// SlotConfigNames class containing names for connection strings and application settings to be marked as sticky to
12371// the slot
12372// and not moved during swap operation
12373// This is valid for all deployment slots under the site
12374type SlotConfigNames struct {
12375	// ConnectionStringNames - List of connection string names
12376	ConnectionStringNames *[]string `json:"connectionStringNames,omitempty"`
12377	// AppSettingNames - List of application settings names
12378	AppSettingNames *[]string `json:"appSettingNames,omitempty"`
12379}
12380
12381// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12382// SlotConfigNamesResource slot Config names azure resource
12383type SlotConfigNamesResource struct {
12384	autorest.Response                  `json:"-"`
12385	*SlotConfigNamesResourceProperties `json:"properties,omitempty"`
12386	// ID - Resource Id
12387	ID *string `json:"id,omitempty"`
12388	// Name - Resource Name
12389	Name *string `json:"name,omitempty"`
12390	// Kind - Kind of resource
12391	Kind *string `json:"kind,omitempty"`
12392	// Location - Resource Location
12393	Location *string `json:"location,omitempty"`
12394	// Type - Resource type
12395	Type *string `json:"type,omitempty"`
12396	// Tags - Resource tags
12397	Tags map[string]*string `json:"tags"`
12398}
12399
12400// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12401// MarshalJSON is the custom marshaler for SlotConfigNamesResource.
12402func (scnr SlotConfigNamesResource) MarshalJSON() ([]byte, error) {
12403	objectMap := make(map[string]interface{})
12404	if scnr.SlotConfigNamesResourceProperties != nil {
12405		objectMap["properties"] = scnr.SlotConfigNamesResourceProperties
12406	}
12407	if scnr.ID != nil {
12408		objectMap["id"] = scnr.ID
12409	}
12410	if scnr.Name != nil {
12411		objectMap["name"] = scnr.Name
12412	}
12413	if scnr.Kind != nil {
12414		objectMap["kind"] = scnr.Kind
12415	}
12416	if scnr.Location != nil {
12417		objectMap["location"] = scnr.Location
12418	}
12419	if scnr.Type != nil {
12420		objectMap["type"] = scnr.Type
12421	}
12422	if scnr.Tags != nil {
12423		objectMap["tags"] = scnr.Tags
12424	}
12425	return json.Marshal(objectMap)
12426}
12427
12428// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12429// UnmarshalJSON is the custom unmarshaler for SlotConfigNamesResource struct.
12430func (scnr *SlotConfigNamesResource) UnmarshalJSON(body []byte) error {
12431	var m map[string]*json.RawMessage
12432	err := json.Unmarshal(body, &m)
12433	if err != nil {
12434		return err
12435	}
12436	for k, v := range m {
12437		switch k {
12438		case "properties":
12439			if v != nil {
12440				var slotConfigNamesResourceProperties SlotConfigNamesResourceProperties
12441				err = json.Unmarshal(*v, &slotConfigNamesResourceProperties)
12442				if err != nil {
12443					return err
12444				}
12445				scnr.SlotConfigNamesResourceProperties = &slotConfigNamesResourceProperties
12446			}
12447		case "id":
12448			if v != nil {
12449				var ID string
12450				err = json.Unmarshal(*v, &ID)
12451				if err != nil {
12452					return err
12453				}
12454				scnr.ID = &ID
12455			}
12456		case "name":
12457			if v != nil {
12458				var name string
12459				err = json.Unmarshal(*v, &name)
12460				if err != nil {
12461					return err
12462				}
12463				scnr.Name = &name
12464			}
12465		case "kind":
12466			if v != nil {
12467				var kind string
12468				err = json.Unmarshal(*v, &kind)
12469				if err != nil {
12470					return err
12471				}
12472				scnr.Kind = &kind
12473			}
12474		case "location":
12475			if v != nil {
12476				var location string
12477				err = json.Unmarshal(*v, &location)
12478				if err != nil {
12479					return err
12480				}
12481				scnr.Location = &location
12482			}
12483		case "type":
12484			if v != nil {
12485				var typeVar string
12486				err = json.Unmarshal(*v, &typeVar)
12487				if err != nil {
12488					return err
12489				}
12490				scnr.Type = &typeVar
12491			}
12492		case "tags":
12493			if v != nil {
12494				var tags map[string]*string
12495				err = json.Unmarshal(*v, &tags)
12496				if err != nil {
12497					return err
12498				}
12499				scnr.Tags = tags
12500			}
12501		}
12502	}
12503
12504	return nil
12505}
12506
12507// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12508// SlotConfigNamesResourceProperties ...
12509type SlotConfigNamesResourceProperties struct {
12510	// ConnectionStringNames - List of connection string names
12511	ConnectionStringNames *[]string `json:"connectionStringNames,omitempty"`
12512	// AppSettingNames - List of application settings names
12513	AppSettingNames *[]string `json:"appSettingNames,omitempty"`
12514}
12515
12516// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12517// SlotDifference an object describing the difference in setting values between two web app slots
12518type SlotDifference struct {
12519	*SlotDifferenceProperties `json:"properties,omitempty"`
12520	// ID - Resource Id
12521	ID *string `json:"id,omitempty"`
12522	// Name - Resource Name
12523	Name *string `json:"name,omitempty"`
12524	// Kind - Kind of resource
12525	Kind *string `json:"kind,omitempty"`
12526	// Location - Resource Location
12527	Location *string `json:"location,omitempty"`
12528	// Type - Resource type
12529	Type *string `json:"type,omitempty"`
12530	// Tags - Resource tags
12531	Tags map[string]*string `json:"tags"`
12532}
12533
12534// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12535// MarshalJSON is the custom marshaler for SlotDifference.
12536func (sd SlotDifference) MarshalJSON() ([]byte, error) {
12537	objectMap := make(map[string]interface{})
12538	if sd.SlotDifferenceProperties != nil {
12539		objectMap["properties"] = sd.SlotDifferenceProperties
12540	}
12541	if sd.ID != nil {
12542		objectMap["id"] = sd.ID
12543	}
12544	if sd.Name != nil {
12545		objectMap["name"] = sd.Name
12546	}
12547	if sd.Kind != nil {
12548		objectMap["kind"] = sd.Kind
12549	}
12550	if sd.Location != nil {
12551		objectMap["location"] = sd.Location
12552	}
12553	if sd.Type != nil {
12554		objectMap["type"] = sd.Type
12555	}
12556	if sd.Tags != nil {
12557		objectMap["tags"] = sd.Tags
12558	}
12559	return json.Marshal(objectMap)
12560}
12561
12562// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12563// UnmarshalJSON is the custom unmarshaler for SlotDifference struct.
12564func (sd *SlotDifference) UnmarshalJSON(body []byte) error {
12565	var m map[string]*json.RawMessage
12566	err := json.Unmarshal(body, &m)
12567	if err != nil {
12568		return err
12569	}
12570	for k, v := range m {
12571		switch k {
12572		case "properties":
12573			if v != nil {
12574				var slotDifferenceProperties SlotDifferenceProperties
12575				err = json.Unmarshal(*v, &slotDifferenceProperties)
12576				if err != nil {
12577					return err
12578				}
12579				sd.SlotDifferenceProperties = &slotDifferenceProperties
12580			}
12581		case "id":
12582			if v != nil {
12583				var ID string
12584				err = json.Unmarshal(*v, &ID)
12585				if err != nil {
12586					return err
12587				}
12588				sd.ID = &ID
12589			}
12590		case "name":
12591			if v != nil {
12592				var name string
12593				err = json.Unmarshal(*v, &name)
12594				if err != nil {
12595					return err
12596				}
12597				sd.Name = &name
12598			}
12599		case "kind":
12600			if v != nil {
12601				var kind string
12602				err = json.Unmarshal(*v, &kind)
12603				if err != nil {
12604					return err
12605				}
12606				sd.Kind = &kind
12607			}
12608		case "location":
12609			if v != nil {
12610				var location string
12611				err = json.Unmarshal(*v, &location)
12612				if err != nil {
12613					return err
12614				}
12615				sd.Location = &location
12616			}
12617		case "type":
12618			if v != nil {
12619				var typeVar string
12620				err = json.Unmarshal(*v, &typeVar)
12621				if err != nil {
12622					return err
12623				}
12624				sd.Type = &typeVar
12625			}
12626		case "tags":
12627			if v != nil {
12628				var tags map[string]*string
12629				err = json.Unmarshal(*v, &tags)
12630				if err != nil {
12631					return err
12632				}
12633				sd.Tags = tags
12634			}
12635		}
12636	}
12637
12638	return nil
12639}
12640
12641// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12642// SlotDifferenceCollection collection of Slot Differences
12643type SlotDifferenceCollection struct {
12644	autorest.Response `json:"-"`
12645	// Value - Collection of resources
12646	Value *[]SlotDifference `json:"value,omitempty"`
12647	// NextLink - Link to next page of resources
12648	NextLink *string `json:"nextLink,omitempty"`
12649}
12650
12651// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12652// SlotDifferenceCollectionIterator provides access to a complete listing of SlotDifference values.
12653type SlotDifferenceCollectionIterator struct {
12654	i    int
12655	page SlotDifferenceCollectionPage
12656}
12657
12658// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12659// Next advances to the next value.  If there was an error making
12660// the request the iterator does not advance and the error is returned.
12661func (iter *SlotDifferenceCollectionIterator) Next() error {
12662	iter.i++
12663	if iter.i < len(iter.page.Values()) {
12664		return nil
12665	}
12666	err := iter.page.Next()
12667	if err != nil {
12668		iter.i--
12669		return err
12670	}
12671	iter.i = 0
12672	return nil
12673}
12674
12675// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12676// NotDone returns true if the enumeration should be started or is not yet complete.
12677func (iter SlotDifferenceCollectionIterator) NotDone() bool {
12678	return iter.page.NotDone() && iter.i < len(iter.page.Values())
12679}
12680
12681// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12682// Response returns the raw server response from the last page request.
12683func (iter SlotDifferenceCollectionIterator) Response() SlotDifferenceCollection {
12684	return iter.page.Response()
12685}
12686
12687// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12688// Value returns the current value or a zero-initialized value if the
12689// iterator has advanced beyond the end of the collection.
12690func (iter SlotDifferenceCollectionIterator) Value() SlotDifference {
12691	if !iter.page.NotDone() {
12692		return SlotDifference{}
12693	}
12694	return iter.page.Values()[iter.i]
12695}
12696
12697// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12698// IsEmpty returns true if the ListResult contains no values.
12699func (sdc SlotDifferenceCollection) IsEmpty() bool {
12700	return sdc.Value == nil || len(*sdc.Value) == 0
12701}
12702
12703// slotDifferenceCollectionPreparer prepares a request to retrieve the next set of results.
12704// It returns nil if no more results exist.
12705func (sdc SlotDifferenceCollection) slotDifferenceCollectionPreparer() (*http.Request, error) {
12706	if sdc.NextLink == nil || len(to.String(sdc.NextLink)) < 1 {
12707		return nil, nil
12708	}
12709	return autorest.Prepare(&http.Request{},
12710		autorest.AsJSON(),
12711		autorest.AsGet(),
12712		autorest.WithBaseURL(to.String(sdc.NextLink)))
12713}
12714
12715// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12716// SlotDifferenceCollectionPage contains a page of SlotDifference values.
12717type SlotDifferenceCollectionPage struct {
12718	fn  func(SlotDifferenceCollection) (SlotDifferenceCollection, error)
12719	sdc SlotDifferenceCollection
12720}
12721
12722// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12723// Next advances to the next page of values.  If there was an error making
12724// the request the page does not advance and the error is returned.
12725func (page *SlotDifferenceCollectionPage) Next() error {
12726	next, err := page.fn(page.sdc)
12727	if err != nil {
12728		return err
12729	}
12730	page.sdc = next
12731	return nil
12732}
12733
12734// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12735// NotDone returns true if the page enumeration should be started or is not yet complete.
12736func (page SlotDifferenceCollectionPage) NotDone() bool {
12737	return !page.sdc.IsEmpty()
12738}
12739
12740// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12741// Response returns the raw server response from the last page request.
12742func (page SlotDifferenceCollectionPage) Response() SlotDifferenceCollection {
12743	return page.sdc
12744}
12745
12746// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12747// Values returns the slice of values for the current page or nil if there are no values.
12748func (page SlotDifferenceCollectionPage) Values() []SlotDifference {
12749	if page.sdc.IsEmpty() {
12750		return nil
12751	}
12752	return *page.sdc.Value
12753}
12754
12755// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12756// SlotDifferenceProperties ...
12757type SlotDifferenceProperties struct {
12758	// Type - Indicates the type of the difference: Information, Warning or Error.
12759	Type *string `json:"type,omitempty"`
12760	// SettingType - The type of the settings: General, AppSetting or ConnectionString
12761	SettingType *string `json:"settingType,omitempty"`
12762	// DiffRule - Rule that describes how to process the difference in settings during web app slot swap.
12763	DiffRule *string `json:"diffRule,omitempty"`
12764	// SettingName - Name of the setting
12765	SettingName *string `json:"settingName,omitempty"`
12766	// ValueInCurrentSlot - Value of the setting in the current web app slot
12767	ValueInCurrentSlot *string `json:"valueInCurrentSlot,omitempty"`
12768	// ValueInTargetSlot - Value of the setting in the target web app slot
12769	ValueInTargetSlot *string `json:"valueInTargetSlot,omitempty"`
12770	// Description - Description of the difference
12771	Description *string `json:"description,omitempty"`
12772}
12773
12774// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12775// SlowRequestsBasedTrigger slowRequestsBasedTrigger
12776type SlowRequestsBasedTrigger struct {
12777	// TimeTaken - TimeTaken
12778	TimeTaken *string `json:"timeTaken,omitempty"`
12779	// Count - Count
12780	Count *int32 `json:"count,omitempty"`
12781	// TimeInterval - TimeInterval
12782	TimeInterval *string `json:"timeInterval,omitempty"`
12783}
12784
12785// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12786// SourceControl describes the Source Control OAuth Token
12787type SourceControl struct {
12788	autorest.Response        `json:"-"`
12789	*SourceControlProperties `json:"properties,omitempty"`
12790	// ID - Resource Id
12791	ID *string `json:"id,omitempty"`
12792	// Name - Resource Name
12793	Name *string `json:"name,omitempty"`
12794	// Kind - Kind of resource
12795	Kind *string `json:"kind,omitempty"`
12796	// Location - Resource Location
12797	Location *string `json:"location,omitempty"`
12798	// Type - Resource type
12799	Type *string `json:"type,omitempty"`
12800	// Tags - Resource tags
12801	Tags map[string]*string `json:"tags"`
12802}
12803
12804// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12805// MarshalJSON is the custom marshaler for SourceControl.
12806func (sc SourceControl) MarshalJSON() ([]byte, error) {
12807	objectMap := make(map[string]interface{})
12808	if sc.SourceControlProperties != nil {
12809		objectMap["properties"] = sc.SourceControlProperties
12810	}
12811	if sc.ID != nil {
12812		objectMap["id"] = sc.ID
12813	}
12814	if sc.Name != nil {
12815		objectMap["name"] = sc.Name
12816	}
12817	if sc.Kind != nil {
12818		objectMap["kind"] = sc.Kind
12819	}
12820	if sc.Location != nil {
12821		objectMap["location"] = sc.Location
12822	}
12823	if sc.Type != nil {
12824		objectMap["type"] = sc.Type
12825	}
12826	if sc.Tags != nil {
12827		objectMap["tags"] = sc.Tags
12828	}
12829	return json.Marshal(objectMap)
12830}
12831
12832// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12833// UnmarshalJSON is the custom unmarshaler for SourceControl struct.
12834func (sc *SourceControl) UnmarshalJSON(body []byte) error {
12835	var m map[string]*json.RawMessage
12836	err := json.Unmarshal(body, &m)
12837	if err != nil {
12838		return err
12839	}
12840	for k, v := range m {
12841		switch k {
12842		case "properties":
12843			if v != nil {
12844				var sourceControlProperties SourceControlProperties
12845				err = json.Unmarshal(*v, &sourceControlProperties)
12846				if err != nil {
12847					return err
12848				}
12849				sc.SourceControlProperties = &sourceControlProperties
12850			}
12851		case "id":
12852			if v != nil {
12853				var ID string
12854				err = json.Unmarshal(*v, &ID)
12855				if err != nil {
12856					return err
12857				}
12858				sc.ID = &ID
12859			}
12860		case "name":
12861			if v != nil {
12862				var name string
12863				err = json.Unmarshal(*v, &name)
12864				if err != nil {
12865					return err
12866				}
12867				sc.Name = &name
12868			}
12869		case "kind":
12870			if v != nil {
12871				var kind string
12872				err = json.Unmarshal(*v, &kind)
12873				if err != nil {
12874					return err
12875				}
12876				sc.Kind = &kind
12877			}
12878		case "location":
12879			if v != nil {
12880				var location string
12881				err = json.Unmarshal(*v, &location)
12882				if err != nil {
12883					return err
12884				}
12885				sc.Location = &location
12886			}
12887		case "type":
12888			if v != nil {
12889				var typeVar string
12890				err = json.Unmarshal(*v, &typeVar)
12891				if err != nil {
12892					return err
12893				}
12894				sc.Type = &typeVar
12895			}
12896		case "tags":
12897			if v != nil {
12898				var tags map[string]*string
12899				err = json.Unmarshal(*v, &tags)
12900				if err != nil {
12901					return err
12902				}
12903				sc.Tags = tags
12904			}
12905		}
12906	}
12907
12908	return nil
12909}
12910
12911// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12912// SourceControlCollection collection of soure controls
12913type SourceControlCollection struct {
12914	autorest.Response `json:"-"`
12915	// Value - Collection of resources
12916	Value *[]SourceControl `json:"value,omitempty"`
12917	// NextLink - Link to next page of resources
12918	NextLink *string `json:"nextLink,omitempty"`
12919}
12920
12921// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12922// SourceControlCollectionIterator provides access to a complete listing of SourceControl values.
12923type SourceControlCollectionIterator struct {
12924	i    int
12925	page SourceControlCollectionPage
12926}
12927
12928// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12929// Next advances to the next value.  If there was an error making
12930// the request the iterator does not advance and the error is returned.
12931func (iter *SourceControlCollectionIterator) Next() error {
12932	iter.i++
12933	if iter.i < len(iter.page.Values()) {
12934		return nil
12935	}
12936	err := iter.page.Next()
12937	if err != nil {
12938		iter.i--
12939		return err
12940	}
12941	iter.i = 0
12942	return nil
12943}
12944
12945// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12946// NotDone returns true if the enumeration should be started or is not yet complete.
12947func (iter SourceControlCollectionIterator) NotDone() bool {
12948	return iter.page.NotDone() && iter.i < len(iter.page.Values())
12949}
12950
12951// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12952// Response returns the raw server response from the last page request.
12953func (iter SourceControlCollectionIterator) Response() SourceControlCollection {
12954	return iter.page.Response()
12955}
12956
12957// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12958// Value returns the current value or a zero-initialized value if the
12959// iterator has advanced beyond the end of the collection.
12960func (iter SourceControlCollectionIterator) Value() SourceControl {
12961	if !iter.page.NotDone() {
12962		return SourceControl{}
12963	}
12964	return iter.page.Values()[iter.i]
12965}
12966
12967// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12968// IsEmpty returns true if the ListResult contains no values.
12969func (scc SourceControlCollection) IsEmpty() bool {
12970	return scc.Value == nil || len(*scc.Value) == 0
12971}
12972
12973// sourceControlCollectionPreparer prepares a request to retrieve the next set of results.
12974// It returns nil if no more results exist.
12975func (scc SourceControlCollection) sourceControlCollectionPreparer() (*http.Request, error) {
12976	if scc.NextLink == nil || len(to.String(scc.NextLink)) < 1 {
12977		return nil, nil
12978	}
12979	return autorest.Prepare(&http.Request{},
12980		autorest.AsJSON(),
12981		autorest.AsGet(),
12982		autorest.WithBaseURL(to.String(scc.NextLink)))
12983}
12984
12985// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12986// SourceControlCollectionPage contains a page of SourceControl values.
12987type SourceControlCollectionPage struct {
12988	fn  func(SourceControlCollection) (SourceControlCollection, error)
12989	scc SourceControlCollection
12990}
12991
12992// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
12993// Next advances to the next page of values.  If there was an error making
12994// the request the page does not advance and the error is returned.
12995func (page *SourceControlCollectionPage) Next() error {
12996	next, err := page.fn(page.scc)
12997	if err != nil {
12998		return err
12999	}
13000	page.scc = next
13001	return nil
13002}
13003
13004// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13005// NotDone returns true if the page enumeration should be started or is not yet complete.
13006func (page SourceControlCollectionPage) NotDone() bool {
13007	return !page.scc.IsEmpty()
13008}
13009
13010// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13011// Response returns the raw server response from the last page request.
13012func (page SourceControlCollectionPage) Response() SourceControlCollection {
13013	return page.scc
13014}
13015
13016// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13017// Values returns the slice of values for the current page or nil if there are no values.
13018func (page SourceControlCollectionPage) Values() []SourceControl {
13019	if page.scc.IsEmpty() {
13020		return nil
13021	}
13022	return *page.scc.Value
13023}
13024
13025// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13026// SourceControlProperties ...
13027type SourceControlProperties struct {
13028	// Name - Name or Source Control Type
13029	Name *string `json:"name,omitempty"`
13030	// Token - OAuth Access Token
13031	Token *string `json:"token,omitempty"`
13032	// TokenSecret - OAuth Access Token Secret
13033	TokenSecret *string `json:"tokenSecret,omitempty"`
13034	// RefreshToken - OAuth Refresh Token
13035	RefreshToken *string `json:"refreshToken,omitempty"`
13036	// ExpirationTime - OAuth Token Expiration
13037	ExpirationTime *date.Time `json:"expirationTime,omitempty"`
13038}
13039
13040// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13041// StampCapacity class containing stamp capacity information
13042type StampCapacity struct {
13043	// Name - Name of the stamp
13044	Name *string `json:"name,omitempty"`
13045	// AvailableCapacity - Available capacity (# of machines, bytes of storage etc...)
13046	AvailableCapacity *int64 `json:"availableCapacity,omitempty"`
13047	// TotalCapacity - Total capacity (# of machines, bytes of storage etc...)
13048	TotalCapacity *int64 `json:"totalCapacity,omitempty"`
13049	// Unit - Name of the unit
13050	Unit *string `json:"unit,omitempty"`
13051	// ComputeMode - Shared/Dedicated workers. Possible values include: 'Shared', 'Dedicated', 'Dynamic'
13052	ComputeMode ComputeModeOptions `json:"computeMode,omitempty"`
13053	// WorkerSize - Size of the machines. Possible values include: 'WorkerSizeOptionsDefault', 'WorkerSizeOptionsSmall', 'WorkerSizeOptionsMedium', 'WorkerSizeOptionsLarge'
13054	WorkerSize WorkerSizeOptions `json:"workerSize,omitempty"`
13055	// WorkerSizeID - Size Id of machines:
13056	//             0 - Small
13057	//             1 - Medium
13058	//             2 - Large
13059	WorkerSizeID *int32 `json:"workerSizeId,omitempty"`
13060	// ExcludeFromCapacityAllocation - If true it includes basic sites
13061	//             Basic sites are not used for capacity allocation.
13062	ExcludeFromCapacityAllocation *bool `json:"excludeFromCapacityAllocation,omitempty"`
13063	// IsApplicableForAllComputeModes - Is capacity applicable for all sites?
13064	IsApplicableForAllComputeModes *bool `json:"isApplicableForAllComputeModes,omitempty"`
13065	// SiteMode - Shared or Dedicated
13066	SiteMode *string `json:"siteMode,omitempty"`
13067}
13068
13069// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13070// StampCapacityCollection collection of stamp capacities
13071type StampCapacityCollection struct {
13072	autorest.Response `json:"-"`
13073	// Value - Collection of resources
13074	Value *[]StampCapacity `json:"value,omitempty"`
13075	// NextLink - Link to next page of resources
13076	NextLink *string `json:"nextLink,omitempty"`
13077}
13078
13079// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13080// StampCapacityCollectionIterator provides access to a complete listing of StampCapacity values.
13081type StampCapacityCollectionIterator struct {
13082	i    int
13083	page StampCapacityCollectionPage
13084}
13085
13086// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13087// Next advances to the next value.  If there was an error making
13088// the request the iterator does not advance and the error is returned.
13089func (iter *StampCapacityCollectionIterator) Next() error {
13090	iter.i++
13091	if iter.i < len(iter.page.Values()) {
13092		return nil
13093	}
13094	err := iter.page.Next()
13095	if err != nil {
13096		iter.i--
13097		return err
13098	}
13099	iter.i = 0
13100	return nil
13101}
13102
13103// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13104// NotDone returns true if the enumeration should be started or is not yet complete.
13105func (iter StampCapacityCollectionIterator) NotDone() bool {
13106	return iter.page.NotDone() && iter.i < len(iter.page.Values())
13107}
13108
13109// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13110// Response returns the raw server response from the last page request.
13111func (iter StampCapacityCollectionIterator) Response() StampCapacityCollection {
13112	return iter.page.Response()
13113}
13114
13115// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13116// Value returns the current value or a zero-initialized value if the
13117// iterator has advanced beyond the end of the collection.
13118func (iter StampCapacityCollectionIterator) Value() StampCapacity {
13119	if !iter.page.NotDone() {
13120		return StampCapacity{}
13121	}
13122	return iter.page.Values()[iter.i]
13123}
13124
13125// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13126// IsEmpty returns true if the ListResult contains no values.
13127func (scc StampCapacityCollection) IsEmpty() bool {
13128	return scc.Value == nil || len(*scc.Value) == 0
13129}
13130
13131// stampCapacityCollectionPreparer prepares a request to retrieve the next set of results.
13132// It returns nil if no more results exist.
13133func (scc StampCapacityCollection) stampCapacityCollectionPreparer() (*http.Request, error) {
13134	if scc.NextLink == nil || len(to.String(scc.NextLink)) < 1 {
13135		return nil, nil
13136	}
13137	return autorest.Prepare(&http.Request{},
13138		autorest.AsJSON(),
13139		autorest.AsGet(),
13140		autorest.WithBaseURL(to.String(scc.NextLink)))
13141}
13142
13143// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13144// StampCapacityCollectionPage contains a page of StampCapacity values.
13145type StampCapacityCollectionPage struct {
13146	fn  func(StampCapacityCollection) (StampCapacityCollection, error)
13147	scc StampCapacityCollection
13148}
13149
13150// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13151// Next advances to the next page of values.  If there was an error making
13152// the request the page does not advance and the error is returned.
13153func (page *StampCapacityCollectionPage) Next() error {
13154	next, err := page.fn(page.scc)
13155	if err != nil {
13156		return err
13157	}
13158	page.scc = next
13159	return nil
13160}
13161
13162// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13163// NotDone returns true if the page enumeration should be started or is not yet complete.
13164func (page StampCapacityCollectionPage) NotDone() bool {
13165	return !page.scc.IsEmpty()
13166}
13167
13168// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13169// Response returns the raw server response from the last page request.
13170func (page StampCapacityCollectionPage) Response() StampCapacityCollection {
13171	return page.scc
13172}
13173
13174// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13175// Values returns the slice of values for the current page or nil if there are no values.
13176func (page StampCapacityCollectionPage) Values() []StampCapacity {
13177	if page.scc.IsEmpty() {
13178		return nil
13179	}
13180	return *page.scc.Value
13181}
13182
13183// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13184// StatusCodesBasedTrigger statusCodeBasedTrigger
13185type StatusCodesBasedTrigger struct {
13186	// Status - HTTP status code
13187	Status *int32 `json:"status,omitempty"`
13188	// SubStatus - SubStatus
13189	SubStatus *int32 `json:"subStatus,omitempty"`
13190	// Win32Status - Win32 error code
13191	Win32Status *int32 `json:"win32Status,omitempty"`
13192	// Count - Count
13193	Count *int32 `json:"count,omitempty"`
13194	// TimeInterval - TimeInterval
13195	TimeInterval *string `json:"timeInterval,omitempty"`
13196}
13197
13198// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13199// StringDictionary string dictionary resource
13200type StringDictionary struct {
13201	autorest.Response `json:"-"`
13202	// Properties - Settings
13203	Properties map[string]*string `json:"properties"`
13204	// ID - Resource Id
13205	ID *string `json:"id,omitempty"`
13206	// Name - Resource Name
13207	Name *string `json:"name,omitempty"`
13208	// Kind - Kind of resource
13209	Kind *string `json:"kind,omitempty"`
13210	// Location - Resource Location
13211	Location *string `json:"location,omitempty"`
13212	// Type - Resource type
13213	Type *string `json:"type,omitempty"`
13214	// Tags - Resource tags
13215	Tags map[string]*string `json:"tags"`
13216}
13217
13218// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13219// MarshalJSON is the custom marshaler for StringDictionary.
13220func (sd StringDictionary) MarshalJSON() ([]byte, error) {
13221	objectMap := make(map[string]interface{})
13222	if sd.Properties != nil {
13223		objectMap["properties"] = sd.Properties
13224	}
13225	if sd.ID != nil {
13226		objectMap["id"] = sd.ID
13227	}
13228	if sd.Name != nil {
13229		objectMap["name"] = sd.Name
13230	}
13231	if sd.Kind != nil {
13232		objectMap["kind"] = sd.Kind
13233	}
13234	if sd.Location != nil {
13235		objectMap["location"] = sd.Location
13236	}
13237	if sd.Type != nil {
13238		objectMap["type"] = sd.Type
13239	}
13240	if sd.Tags != nil {
13241		objectMap["tags"] = sd.Tags
13242	}
13243	return json.Marshal(objectMap)
13244}
13245
13246// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13247// TldLegalAgreement represents a legal agreement for top level domain
13248type TldLegalAgreement struct {
13249	// AgreementKey - Unique identifier for the agreement
13250	AgreementKey *string `json:"agreementKey,omitempty"`
13251	// Title - Agreement title
13252	Title *string `json:"title,omitempty"`
13253	// Content - Agreement details
13254	Content *string `json:"content,omitempty"`
13255	// URL - Url where a copy of the agreement details is hosted
13256	URL *string `json:"url,omitempty"`
13257}
13258
13259// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13260// TldLegalAgreementCollection collection of Tld Legal Agreements
13261type TldLegalAgreementCollection struct {
13262	autorest.Response `json:"-"`
13263	// Value - Collection of resources
13264	Value *[]TldLegalAgreement `json:"value,omitempty"`
13265	// NextLink - Link to next page of resources
13266	NextLink *string `json:"nextLink,omitempty"`
13267}
13268
13269// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13270// TldLegalAgreementCollectionIterator provides access to a complete listing of TldLegalAgreement values.
13271type TldLegalAgreementCollectionIterator struct {
13272	i    int
13273	page TldLegalAgreementCollectionPage
13274}
13275
13276// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13277// Next advances to the next value.  If there was an error making
13278// the request the iterator does not advance and the error is returned.
13279func (iter *TldLegalAgreementCollectionIterator) Next() error {
13280	iter.i++
13281	if iter.i < len(iter.page.Values()) {
13282		return nil
13283	}
13284	err := iter.page.Next()
13285	if err != nil {
13286		iter.i--
13287		return err
13288	}
13289	iter.i = 0
13290	return nil
13291}
13292
13293// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13294// NotDone returns true if the enumeration should be started or is not yet complete.
13295func (iter TldLegalAgreementCollectionIterator) NotDone() bool {
13296	return iter.page.NotDone() && iter.i < len(iter.page.Values())
13297}
13298
13299// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13300// Response returns the raw server response from the last page request.
13301func (iter TldLegalAgreementCollectionIterator) Response() TldLegalAgreementCollection {
13302	return iter.page.Response()
13303}
13304
13305// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13306// Value returns the current value or a zero-initialized value if the
13307// iterator has advanced beyond the end of the collection.
13308func (iter TldLegalAgreementCollectionIterator) Value() TldLegalAgreement {
13309	if !iter.page.NotDone() {
13310		return TldLegalAgreement{}
13311	}
13312	return iter.page.Values()[iter.i]
13313}
13314
13315// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13316// IsEmpty returns true if the ListResult contains no values.
13317func (tlac TldLegalAgreementCollection) IsEmpty() bool {
13318	return tlac.Value == nil || len(*tlac.Value) == 0
13319}
13320
13321// tldLegalAgreementCollectionPreparer prepares a request to retrieve the next set of results.
13322// It returns nil if no more results exist.
13323func (tlac TldLegalAgreementCollection) tldLegalAgreementCollectionPreparer() (*http.Request, error) {
13324	if tlac.NextLink == nil || len(to.String(tlac.NextLink)) < 1 {
13325		return nil, nil
13326	}
13327	return autorest.Prepare(&http.Request{},
13328		autorest.AsJSON(),
13329		autorest.AsGet(),
13330		autorest.WithBaseURL(to.String(tlac.NextLink)))
13331}
13332
13333// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13334// TldLegalAgreementCollectionPage contains a page of TldLegalAgreement values.
13335type TldLegalAgreementCollectionPage struct {
13336	fn   func(TldLegalAgreementCollection) (TldLegalAgreementCollection, error)
13337	tlac TldLegalAgreementCollection
13338}
13339
13340// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13341// Next advances to the next page of values.  If there was an error making
13342// the request the page does not advance and the error is returned.
13343func (page *TldLegalAgreementCollectionPage) Next() error {
13344	next, err := page.fn(page.tlac)
13345	if err != nil {
13346		return err
13347	}
13348	page.tlac = next
13349	return nil
13350}
13351
13352// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13353// NotDone returns true if the page enumeration should be started or is not yet complete.
13354func (page TldLegalAgreementCollectionPage) NotDone() bool {
13355	return !page.tlac.IsEmpty()
13356}
13357
13358// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13359// Response returns the raw server response from the last page request.
13360func (page TldLegalAgreementCollectionPage) Response() TldLegalAgreementCollection {
13361	return page.tlac
13362}
13363
13364// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13365// Values returns the slice of values for the current page or nil if there are no values.
13366func (page TldLegalAgreementCollectionPage) Values() []TldLegalAgreement {
13367	if page.tlac.IsEmpty() {
13368		return nil
13369	}
13370	return *page.tlac.Value
13371}
13372
13373// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13374// TopLevelDomain a top level domain object
13375type TopLevelDomain struct {
13376	autorest.Response         `json:"-"`
13377	*TopLevelDomainProperties `json:"properties,omitempty"`
13378	// ID - Resource Id
13379	ID *string `json:"id,omitempty"`
13380	// Name - Resource Name
13381	Name *string `json:"name,omitempty"`
13382	// Kind - Kind of resource
13383	Kind *string `json:"kind,omitempty"`
13384	// Location - Resource Location
13385	Location *string `json:"location,omitempty"`
13386	// Type - Resource type
13387	Type *string `json:"type,omitempty"`
13388	// Tags - Resource tags
13389	Tags map[string]*string `json:"tags"`
13390}
13391
13392// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13393// MarshalJSON is the custom marshaler for TopLevelDomain.
13394func (tld TopLevelDomain) MarshalJSON() ([]byte, error) {
13395	objectMap := make(map[string]interface{})
13396	if tld.TopLevelDomainProperties != nil {
13397		objectMap["properties"] = tld.TopLevelDomainProperties
13398	}
13399	if tld.ID != nil {
13400		objectMap["id"] = tld.ID
13401	}
13402	if tld.Name != nil {
13403		objectMap["name"] = tld.Name
13404	}
13405	if tld.Kind != nil {
13406		objectMap["kind"] = tld.Kind
13407	}
13408	if tld.Location != nil {
13409		objectMap["location"] = tld.Location
13410	}
13411	if tld.Type != nil {
13412		objectMap["type"] = tld.Type
13413	}
13414	if tld.Tags != nil {
13415		objectMap["tags"] = tld.Tags
13416	}
13417	return json.Marshal(objectMap)
13418}
13419
13420// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13421// UnmarshalJSON is the custom unmarshaler for TopLevelDomain struct.
13422func (tld *TopLevelDomain) UnmarshalJSON(body []byte) error {
13423	var m map[string]*json.RawMessage
13424	err := json.Unmarshal(body, &m)
13425	if err != nil {
13426		return err
13427	}
13428	for k, v := range m {
13429		switch k {
13430		case "properties":
13431			if v != nil {
13432				var topLevelDomainProperties TopLevelDomainProperties
13433				err = json.Unmarshal(*v, &topLevelDomainProperties)
13434				if err != nil {
13435					return err
13436				}
13437				tld.TopLevelDomainProperties = &topLevelDomainProperties
13438			}
13439		case "id":
13440			if v != nil {
13441				var ID string
13442				err = json.Unmarshal(*v, &ID)
13443				if err != nil {
13444					return err
13445				}
13446				tld.ID = &ID
13447			}
13448		case "name":
13449			if v != nil {
13450				var name string
13451				err = json.Unmarshal(*v, &name)
13452				if err != nil {
13453					return err
13454				}
13455				tld.Name = &name
13456			}
13457		case "kind":
13458			if v != nil {
13459				var kind string
13460				err = json.Unmarshal(*v, &kind)
13461				if err != nil {
13462					return err
13463				}
13464				tld.Kind = &kind
13465			}
13466		case "location":
13467			if v != nil {
13468				var location string
13469				err = json.Unmarshal(*v, &location)
13470				if err != nil {
13471					return err
13472				}
13473				tld.Location = &location
13474			}
13475		case "type":
13476			if v != nil {
13477				var typeVar string
13478				err = json.Unmarshal(*v, &typeVar)
13479				if err != nil {
13480					return err
13481				}
13482				tld.Type = &typeVar
13483			}
13484		case "tags":
13485			if v != nil {
13486				var tags map[string]*string
13487				err = json.Unmarshal(*v, &tags)
13488				if err != nil {
13489					return err
13490				}
13491				tld.Tags = tags
13492			}
13493		}
13494	}
13495
13496	return nil
13497}
13498
13499// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13500// TopLevelDomainAgreementOption options for retrieving the list of top level domain legal agreements
13501type TopLevelDomainAgreementOption struct {
13502	// IncludePrivacy - If true then the list of agreements will inclue agreements for domain privacy as well.
13503	IncludePrivacy *bool `json:"includePrivacy,omitempty"`
13504}
13505
13506// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13507// TopLevelDomainCollection collection of Top Level Domains
13508type TopLevelDomainCollection struct {
13509	autorest.Response `json:"-"`
13510	// Value - Collection of resources
13511	Value *[]TopLevelDomain `json:"value,omitempty"`
13512	// NextLink - Link to next page of resources
13513	NextLink *string `json:"nextLink,omitempty"`
13514}
13515
13516// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13517// TopLevelDomainCollectionIterator provides access to a complete listing of TopLevelDomain values.
13518type TopLevelDomainCollectionIterator struct {
13519	i    int
13520	page TopLevelDomainCollectionPage
13521}
13522
13523// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13524// Next advances to the next value.  If there was an error making
13525// the request the iterator does not advance and the error is returned.
13526func (iter *TopLevelDomainCollectionIterator) Next() error {
13527	iter.i++
13528	if iter.i < len(iter.page.Values()) {
13529		return nil
13530	}
13531	err := iter.page.Next()
13532	if err != nil {
13533		iter.i--
13534		return err
13535	}
13536	iter.i = 0
13537	return nil
13538}
13539
13540// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13541// NotDone returns true if the enumeration should be started or is not yet complete.
13542func (iter TopLevelDomainCollectionIterator) NotDone() bool {
13543	return iter.page.NotDone() && iter.i < len(iter.page.Values())
13544}
13545
13546// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13547// Response returns the raw server response from the last page request.
13548func (iter TopLevelDomainCollectionIterator) Response() TopLevelDomainCollection {
13549	return iter.page.Response()
13550}
13551
13552// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13553// Value returns the current value or a zero-initialized value if the
13554// iterator has advanced beyond the end of the collection.
13555func (iter TopLevelDomainCollectionIterator) Value() TopLevelDomain {
13556	if !iter.page.NotDone() {
13557		return TopLevelDomain{}
13558	}
13559	return iter.page.Values()[iter.i]
13560}
13561
13562// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13563// IsEmpty returns true if the ListResult contains no values.
13564func (tldc TopLevelDomainCollection) IsEmpty() bool {
13565	return tldc.Value == nil || len(*tldc.Value) == 0
13566}
13567
13568// topLevelDomainCollectionPreparer prepares a request to retrieve the next set of results.
13569// It returns nil if no more results exist.
13570func (tldc TopLevelDomainCollection) topLevelDomainCollectionPreparer() (*http.Request, error) {
13571	if tldc.NextLink == nil || len(to.String(tldc.NextLink)) < 1 {
13572		return nil, nil
13573	}
13574	return autorest.Prepare(&http.Request{},
13575		autorest.AsJSON(),
13576		autorest.AsGet(),
13577		autorest.WithBaseURL(to.String(tldc.NextLink)))
13578}
13579
13580// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13581// TopLevelDomainCollectionPage contains a page of TopLevelDomain values.
13582type TopLevelDomainCollectionPage struct {
13583	fn   func(TopLevelDomainCollection) (TopLevelDomainCollection, error)
13584	tldc TopLevelDomainCollection
13585}
13586
13587// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13588// Next advances to the next page of values.  If there was an error making
13589// the request the page does not advance and the error is returned.
13590func (page *TopLevelDomainCollectionPage) Next() error {
13591	next, err := page.fn(page.tldc)
13592	if err != nil {
13593		return err
13594	}
13595	page.tldc = next
13596	return nil
13597}
13598
13599// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13600// NotDone returns true if the page enumeration should be started or is not yet complete.
13601func (page TopLevelDomainCollectionPage) NotDone() bool {
13602	return !page.tldc.IsEmpty()
13603}
13604
13605// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13606// Response returns the raw server response from the last page request.
13607func (page TopLevelDomainCollectionPage) Response() TopLevelDomainCollection {
13608	return page.tldc
13609}
13610
13611// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13612// Values returns the slice of values for the current page or nil if there are no values.
13613func (page TopLevelDomainCollectionPage) Values() []TopLevelDomain {
13614	if page.tldc.IsEmpty() {
13615		return nil
13616	}
13617	return *page.tldc.Value
13618}
13619
13620// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13621// TopLevelDomainProperties ...
13622type TopLevelDomainProperties struct {
13623	// Name - Name of the top level domain
13624	Name *string `json:"name,omitempty"`
13625	// Privacy - If true then the top level domain supports domain privacy
13626	Privacy *bool `json:"privacy,omitempty"`
13627}
13628
13629// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13630// Usage class that represents usage of the quota resource.
13631type Usage struct {
13632	*UsageProperties `json:"properties,omitempty"`
13633	// ID - Resource Id
13634	ID *string `json:"id,omitempty"`
13635	// Name - Resource Name
13636	Name *string `json:"name,omitempty"`
13637	// Kind - Kind of resource
13638	Kind *string `json:"kind,omitempty"`
13639	// Location - Resource Location
13640	Location *string `json:"location,omitempty"`
13641	// Type - Resource type
13642	Type *string `json:"type,omitempty"`
13643	// Tags - Resource tags
13644	Tags map[string]*string `json:"tags"`
13645}
13646
13647// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13648// MarshalJSON is the custom marshaler for Usage.
13649func (u Usage) MarshalJSON() ([]byte, error) {
13650	objectMap := make(map[string]interface{})
13651	if u.UsageProperties != nil {
13652		objectMap["properties"] = u.UsageProperties
13653	}
13654	if u.ID != nil {
13655		objectMap["id"] = u.ID
13656	}
13657	if u.Name != nil {
13658		objectMap["name"] = u.Name
13659	}
13660	if u.Kind != nil {
13661		objectMap["kind"] = u.Kind
13662	}
13663	if u.Location != nil {
13664		objectMap["location"] = u.Location
13665	}
13666	if u.Type != nil {
13667		objectMap["type"] = u.Type
13668	}
13669	if u.Tags != nil {
13670		objectMap["tags"] = u.Tags
13671	}
13672	return json.Marshal(objectMap)
13673}
13674
13675// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13676// UnmarshalJSON is the custom unmarshaler for Usage struct.
13677func (u *Usage) UnmarshalJSON(body []byte) error {
13678	var m map[string]*json.RawMessage
13679	err := json.Unmarshal(body, &m)
13680	if err != nil {
13681		return err
13682	}
13683	for k, v := range m {
13684		switch k {
13685		case "properties":
13686			if v != nil {
13687				var usageProperties UsageProperties
13688				err = json.Unmarshal(*v, &usageProperties)
13689				if err != nil {
13690					return err
13691				}
13692				u.UsageProperties = &usageProperties
13693			}
13694		case "id":
13695			if v != nil {
13696				var ID string
13697				err = json.Unmarshal(*v, &ID)
13698				if err != nil {
13699					return err
13700				}
13701				u.ID = &ID
13702			}
13703		case "name":
13704			if v != nil {
13705				var name string
13706				err = json.Unmarshal(*v, &name)
13707				if err != nil {
13708					return err
13709				}
13710				u.Name = &name
13711			}
13712		case "kind":
13713			if v != nil {
13714				var kind string
13715				err = json.Unmarshal(*v, &kind)
13716				if err != nil {
13717					return err
13718				}
13719				u.Kind = &kind
13720			}
13721		case "location":
13722			if v != nil {
13723				var location string
13724				err = json.Unmarshal(*v, &location)
13725				if err != nil {
13726					return err
13727				}
13728				u.Location = &location
13729			}
13730		case "type":
13731			if v != nil {
13732				var typeVar string
13733				err = json.Unmarshal(*v, &typeVar)
13734				if err != nil {
13735					return err
13736				}
13737				u.Type = &typeVar
13738			}
13739		case "tags":
13740			if v != nil {
13741				var tags map[string]*string
13742				err = json.Unmarshal(*v, &tags)
13743				if err != nil {
13744					return err
13745				}
13746				u.Tags = tags
13747			}
13748		}
13749	}
13750
13751	return nil
13752}
13753
13754// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13755// UsageCollection collection of usages
13756type UsageCollection struct {
13757	autorest.Response `json:"-"`
13758	// Value - Collection of resources
13759	Value *[]Usage `json:"value,omitempty"`
13760	// NextLink - Link to next page of resources
13761	NextLink *string `json:"nextLink,omitempty"`
13762}
13763
13764// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13765// UsageCollectionIterator provides access to a complete listing of Usage values.
13766type UsageCollectionIterator struct {
13767	i    int
13768	page UsageCollectionPage
13769}
13770
13771// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13772// Next advances to the next value.  If there was an error making
13773// the request the iterator does not advance and the error is returned.
13774func (iter *UsageCollectionIterator) Next() error {
13775	iter.i++
13776	if iter.i < len(iter.page.Values()) {
13777		return nil
13778	}
13779	err := iter.page.Next()
13780	if err != nil {
13781		iter.i--
13782		return err
13783	}
13784	iter.i = 0
13785	return nil
13786}
13787
13788// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13789// NotDone returns true if the enumeration should be started or is not yet complete.
13790func (iter UsageCollectionIterator) NotDone() bool {
13791	return iter.page.NotDone() && iter.i < len(iter.page.Values())
13792}
13793
13794// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13795// Response returns the raw server response from the last page request.
13796func (iter UsageCollectionIterator) Response() UsageCollection {
13797	return iter.page.Response()
13798}
13799
13800// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13801// Value returns the current value or a zero-initialized value if the
13802// iterator has advanced beyond the end of the collection.
13803func (iter UsageCollectionIterator) Value() Usage {
13804	if !iter.page.NotDone() {
13805		return Usage{}
13806	}
13807	return iter.page.Values()[iter.i]
13808}
13809
13810// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13811// IsEmpty returns true if the ListResult contains no values.
13812func (uc UsageCollection) IsEmpty() bool {
13813	return uc.Value == nil || len(*uc.Value) == 0
13814}
13815
13816// usageCollectionPreparer prepares a request to retrieve the next set of results.
13817// It returns nil if no more results exist.
13818func (uc UsageCollection) usageCollectionPreparer() (*http.Request, error) {
13819	if uc.NextLink == nil || len(to.String(uc.NextLink)) < 1 {
13820		return nil, nil
13821	}
13822	return autorest.Prepare(&http.Request{},
13823		autorest.AsJSON(),
13824		autorest.AsGet(),
13825		autorest.WithBaseURL(to.String(uc.NextLink)))
13826}
13827
13828// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13829// UsageCollectionPage contains a page of Usage values.
13830type UsageCollectionPage struct {
13831	fn func(UsageCollection) (UsageCollection, error)
13832	uc UsageCollection
13833}
13834
13835// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13836// Next advances to the next page of values.  If there was an error making
13837// the request the page does not advance and the error is returned.
13838func (page *UsageCollectionPage) Next() error {
13839	next, err := page.fn(page.uc)
13840	if err != nil {
13841		return err
13842	}
13843	page.uc = next
13844	return nil
13845}
13846
13847// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13848// NotDone returns true if the page enumeration should be started or is not yet complete.
13849func (page UsageCollectionPage) NotDone() bool {
13850	return !page.uc.IsEmpty()
13851}
13852
13853// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13854// Response returns the raw server response from the last page request.
13855func (page UsageCollectionPage) Response() UsageCollection {
13856	return page.uc
13857}
13858
13859// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13860// Values returns the slice of values for the current page or nil if there are no values.
13861func (page UsageCollectionPage) Values() []Usage {
13862	if page.uc.IsEmpty() {
13863		return nil
13864	}
13865	return *page.uc.Value
13866}
13867
13868// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13869// UsageProperties ...
13870type UsageProperties struct {
13871	// DisplayName - Friendly name shown in the UI
13872	DisplayName *string `json:"displayName,omitempty"`
13873	// Name - Name of the quota
13874	Name *string `json:"name,omitempty"`
13875	// ResourceName - Name of the quota resource
13876	ResourceName *string `json:"resourceName,omitempty"`
13877	// Unit - Units of measurement for the quota resource
13878	Unit *string `json:"unit,omitempty"`
13879	// CurrentValue - The current value of the resource counter
13880	CurrentValue *int64 `json:"currentValue,omitempty"`
13881	// Limit - The resource limit
13882	Limit *int64 `json:"limit,omitempty"`
13883	// NextResetTime - Next reset time for the resource counter
13884	NextResetTime *date.Time `json:"nextResetTime,omitempty"`
13885	// ComputeMode - ComputeMode used for this usage. Possible values include: 'Shared', 'Dedicated', 'Dynamic'
13886	ComputeMode ComputeModeOptions `json:"computeMode,omitempty"`
13887	// SiteMode - SiteMode used for this usage
13888	SiteMode *string `json:"siteMode,omitempty"`
13889}
13890
13891// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13892// User represents user crendentials used for publishing activity
13893type User struct {
13894	autorest.Response `json:"-"`
13895	*UserProperties   `json:"properties,omitempty"`
13896	// ID - Resource Id
13897	ID *string `json:"id,omitempty"`
13898	// Name - Resource Name
13899	Name *string `json:"name,omitempty"`
13900	// Kind - Kind of resource
13901	Kind *string `json:"kind,omitempty"`
13902	// Location - Resource Location
13903	Location *string `json:"location,omitempty"`
13904	// Type - Resource type
13905	Type *string `json:"type,omitempty"`
13906	// Tags - Resource tags
13907	Tags map[string]*string `json:"tags"`
13908}
13909
13910// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13911// MarshalJSON is the custom marshaler for User.
13912func (u User) MarshalJSON() ([]byte, error) {
13913	objectMap := make(map[string]interface{})
13914	if u.UserProperties != nil {
13915		objectMap["properties"] = u.UserProperties
13916	}
13917	if u.ID != nil {
13918		objectMap["id"] = u.ID
13919	}
13920	if u.Name != nil {
13921		objectMap["name"] = u.Name
13922	}
13923	if u.Kind != nil {
13924		objectMap["kind"] = u.Kind
13925	}
13926	if u.Location != nil {
13927		objectMap["location"] = u.Location
13928	}
13929	if u.Type != nil {
13930		objectMap["type"] = u.Type
13931	}
13932	if u.Tags != nil {
13933		objectMap["tags"] = u.Tags
13934	}
13935	return json.Marshal(objectMap)
13936}
13937
13938// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
13939// UnmarshalJSON is the custom unmarshaler for User struct.
13940func (u *User) UnmarshalJSON(body []byte) error {
13941	var m map[string]*json.RawMessage
13942	err := json.Unmarshal(body, &m)
13943	if err != nil {
13944		return err
13945	}
13946	for k, v := range m {
13947		switch k {
13948		case "properties":
13949			if v != nil {
13950				var userProperties UserProperties
13951				err = json.Unmarshal(*v, &userProperties)
13952				if err != nil {
13953					return err
13954				}
13955				u.UserProperties = &userProperties
13956			}
13957		case "id":
13958			if v != nil {
13959				var ID string
13960				err = json.Unmarshal(*v, &ID)
13961				if err != nil {
13962					return err
13963				}
13964				u.ID = &ID
13965			}
13966		case "name":
13967			if v != nil {
13968				var name string
13969				err = json.Unmarshal(*v, &name)
13970				if err != nil {
13971					return err
13972				}
13973				u.Name = &name
13974			}
13975		case "kind":
13976			if v != nil {
13977				var kind string
13978				err = json.Unmarshal(*v, &kind)
13979				if err != nil {
13980					return err
13981				}
13982				u.Kind = &kind
13983			}
13984		case "location":
13985			if v != nil {
13986				var location string
13987				err = json.Unmarshal(*v, &location)
13988				if err != nil {
13989					return err
13990				}
13991				u.Location = &location
13992			}
13993		case "type":
13994			if v != nil {
13995				var typeVar string
13996				err = json.Unmarshal(*v, &typeVar)
13997				if err != nil {
13998					return err
13999				}
14000				u.Type = &typeVar
14001			}
14002		case "tags":
14003			if v != nil {
14004				var tags map[string]*string
14005				err = json.Unmarshal(*v, &tags)
14006				if err != nil {
14007					return err
14008				}
14009				u.Tags = tags
14010			}
14011		}
14012	}
14013
14014	return nil
14015}
14016
14017// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14018// UserProperties ...
14019type UserProperties struct {
14020	// Name - Username (internal)
14021	Name *string `json:"name,omitempty"`
14022	// PublishingUserName - Username used for publishing
14023	PublishingUserName *string `json:"publishingUserName,omitempty"`
14024	// PublishingPassword - Password used for publishing
14025	PublishingPassword *string `json:"publishingPassword,omitempty"`
14026	// ScmURI - Service Control Manager URI, including username and password
14027	ScmURI *string `json:"scmUri,omitempty"`
14028}
14029
14030// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14031// VirtualApplication ...
14032type VirtualApplication struct {
14033	VirtualPath        *string             `json:"virtualPath,omitempty"`
14034	PhysicalPath       *string             `json:"physicalPath,omitempty"`
14035	PreloadEnabled     *bool               `json:"preloadEnabled,omitempty"`
14036	VirtualDirectories *[]VirtualDirectory `json:"virtualDirectories,omitempty"`
14037}
14038
14039// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14040// VirtualDirectory ...
14041type VirtualDirectory struct {
14042	VirtualPath  *string `json:"virtualPath,omitempty"`
14043	PhysicalPath *string `json:"physicalPath,omitempty"`
14044}
14045
14046// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14047// VirtualIPMapping class that represents a VIP mapping
14048type VirtualIPMapping struct {
14049	// VirtualIP - Virtual IP address
14050	VirtualIP *string `json:"virtualIP,omitempty"`
14051	// InternalHTTPPort - Internal HTTP port
14052	InternalHTTPPort *int32 `json:"internalHttpPort,omitempty"`
14053	// InternalHTTPSPort - Internal HTTPS port
14054	InternalHTTPSPort *int32 `json:"internalHttpsPort,omitempty"`
14055	// InUse - Is VIP mapping in use
14056	InUse *bool `json:"inUse,omitempty"`
14057}
14058
14059// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14060// VirtualNetworkProfile specification for using a virtual network
14061type VirtualNetworkProfile struct {
14062	// ID - Resource id of the virtual network
14063	ID *string `json:"id,omitempty"`
14064	// Name - Name of the virtual network (read-only)
14065	Name *string `json:"name,omitempty"`
14066	// Type - Resource type of the virtual network (read-only)
14067	Type *string `json:"type,omitempty"`
14068	// Subnet - Subnet within the virtual network
14069	Subnet *string `json:"subnet,omitempty"`
14070}
14071
14072// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14073// VnetGateway the VnetGateway contract. This is used to give the vnet gateway access to the VPN package.
14074type VnetGateway struct {
14075	autorest.Response      `json:"-"`
14076	*VnetGatewayProperties `json:"properties,omitempty"`
14077	// ID - Resource Id
14078	ID *string `json:"id,omitempty"`
14079	// Name - Resource Name
14080	Name *string `json:"name,omitempty"`
14081	// Kind - Kind of resource
14082	Kind *string `json:"kind,omitempty"`
14083	// Location - Resource Location
14084	Location *string `json:"location,omitempty"`
14085	// Type - Resource type
14086	Type *string `json:"type,omitempty"`
14087	// Tags - Resource tags
14088	Tags map[string]*string `json:"tags"`
14089}
14090
14091// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14092// MarshalJSON is the custom marshaler for VnetGateway.
14093func (vg VnetGateway) MarshalJSON() ([]byte, error) {
14094	objectMap := make(map[string]interface{})
14095	if vg.VnetGatewayProperties != nil {
14096		objectMap["properties"] = vg.VnetGatewayProperties
14097	}
14098	if vg.ID != nil {
14099		objectMap["id"] = vg.ID
14100	}
14101	if vg.Name != nil {
14102		objectMap["name"] = vg.Name
14103	}
14104	if vg.Kind != nil {
14105		objectMap["kind"] = vg.Kind
14106	}
14107	if vg.Location != nil {
14108		objectMap["location"] = vg.Location
14109	}
14110	if vg.Type != nil {
14111		objectMap["type"] = vg.Type
14112	}
14113	if vg.Tags != nil {
14114		objectMap["tags"] = vg.Tags
14115	}
14116	return json.Marshal(objectMap)
14117}
14118
14119// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14120// UnmarshalJSON is the custom unmarshaler for VnetGateway struct.
14121func (vg *VnetGateway) UnmarshalJSON(body []byte) error {
14122	var m map[string]*json.RawMessage
14123	err := json.Unmarshal(body, &m)
14124	if err != nil {
14125		return err
14126	}
14127	for k, v := range m {
14128		switch k {
14129		case "properties":
14130			if v != nil {
14131				var vnetGatewayProperties VnetGatewayProperties
14132				err = json.Unmarshal(*v, &vnetGatewayProperties)
14133				if err != nil {
14134					return err
14135				}
14136				vg.VnetGatewayProperties = &vnetGatewayProperties
14137			}
14138		case "id":
14139			if v != nil {
14140				var ID string
14141				err = json.Unmarshal(*v, &ID)
14142				if err != nil {
14143					return err
14144				}
14145				vg.ID = &ID
14146			}
14147		case "name":
14148			if v != nil {
14149				var name string
14150				err = json.Unmarshal(*v, &name)
14151				if err != nil {
14152					return err
14153				}
14154				vg.Name = &name
14155			}
14156		case "kind":
14157			if v != nil {
14158				var kind string
14159				err = json.Unmarshal(*v, &kind)
14160				if err != nil {
14161					return err
14162				}
14163				vg.Kind = &kind
14164			}
14165		case "location":
14166			if v != nil {
14167				var location string
14168				err = json.Unmarshal(*v, &location)
14169				if err != nil {
14170					return err
14171				}
14172				vg.Location = &location
14173			}
14174		case "type":
14175			if v != nil {
14176				var typeVar string
14177				err = json.Unmarshal(*v, &typeVar)
14178				if err != nil {
14179					return err
14180				}
14181				vg.Type = &typeVar
14182			}
14183		case "tags":
14184			if v != nil {
14185				var tags map[string]*string
14186				err = json.Unmarshal(*v, &tags)
14187				if err != nil {
14188					return err
14189				}
14190				vg.Tags = tags
14191			}
14192		}
14193	}
14194
14195	return nil
14196}
14197
14198// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14199// VnetGatewayProperties ...
14200type VnetGatewayProperties struct {
14201	// VnetName - The VNET name.
14202	VnetName *string `json:"vnetName,omitempty"`
14203	// VpnPackageURI - The URI where the Vpn package can be downloaded
14204	VpnPackageURI *string `json:"vpnPackageUri,omitempty"`
14205}
14206
14207// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14208// VnetInfo vNETInfo contract. This contract is public and is a stripped down version of VNETInfoInternal
14209type VnetInfo struct {
14210	autorest.Response   `json:"-"`
14211	*VnetInfoProperties `json:"properties,omitempty"`
14212	// ID - Resource Id
14213	ID *string `json:"id,omitempty"`
14214	// Name - Resource Name
14215	Name *string `json:"name,omitempty"`
14216	// Kind - Kind of resource
14217	Kind *string `json:"kind,omitempty"`
14218	// Location - Resource Location
14219	Location *string `json:"location,omitempty"`
14220	// Type - Resource type
14221	Type *string `json:"type,omitempty"`
14222	// Tags - Resource tags
14223	Tags map[string]*string `json:"tags"`
14224}
14225
14226// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14227// MarshalJSON is the custom marshaler for VnetInfo.
14228func (vi VnetInfo) MarshalJSON() ([]byte, error) {
14229	objectMap := make(map[string]interface{})
14230	if vi.VnetInfoProperties != nil {
14231		objectMap["properties"] = vi.VnetInfoProperties
14232	}
14233	if vi.ID != nil {
14234		objectMap["id"] = vi.ID
14235	}
14236	if vi.Name != nil {
14237		objectMap["name"] = vi.Name
14238	}
14239	if vi.Kind != nil {
14240		objectMap["kind"] = vi.Kind
14241	}
14242	if vi.Location != nil {
14243		objectMap["location"] = vi.Location
14244	}
14245	if vi.Type != nil {
14246		objectMap["type"] = vi.Type
14247	}
14248	if vi.Tags != nil {
14249		objectMap["tags"] = vi.Tags
14250	}
14251	return json.Marshal(objectMap)
14252}
14253
14254// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14255// UnmarshalJSON is the custom unmarshaler for VnetInfo struct.
14256func (vi *VnetInfo) UnmarshalJSON(body []byte) error {
14257	var m map[string]*json.RawMessage
14258	err := json.Unmarshal(body, &m)
14259	if err != nil {
14260		return err
14261	}
14262	for k, v := range m {
14263		switch k {
14264		case "properties":
14265			if v != nil {
14266				var vnetInfoProperties VnetInfoProperties
14267				err = json.Unmarshal(*v, &vnetInfoProperties)
14268				if err != nil {
14269					return err
14270				}
14271				vi.VnetInfoProperties = &vnetInfoProperties
14272			}
14273		case "id":
14274			if v != nil {
14275				var ID string
14276				err = json.Unmarshal(*v, &ID)
14277				if err != nil {
14278					return err
14279				}
14280				vi.ID = &ID
14281			}
14282		case "name":
14283			if v != nil {
14284				var name string
14285				err = json.Unmarshal(*v, &name)
14286				if err != nil {
14287					return err
14288				}
14289				vi.Name = &name
14290			}
14291		case "kind":
14292			if v != nil {
14293				var kind string
14294				err = json.Unmarshal(*v, &kind)
14295				if err != nil {
14296					return err
14297				}
14298				vi.Kind = &kind
14299			}
14300		case "location":
14301			if v != nil {
14302				var location string
14303				err = json.Unmarshal(*v, &location)
14304				if err != nil {
14305					return err
14306				}
14307				vi.Location = &location
14308			}
14309		case "type":
14310			if v != nil {
14311				var typeVar string
14312				err = json.Unmarshal(*v, &typeVar)
14313				if err != nil {
14314					return err
14315				}
14316				vi.Type = &typeVar
14317			}
14318		case "tags":
14319			if v != nil {
14320				var tags map[string]*string
14321				err = json.Unmarshal(*v, &tags)
14322				if err != nil {
14323					return err
14324				}
14325				vi.Tags = tags
14326			}
14327		}
14328	}
14329
14330	return nil
14331}
14332
14333// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14334// VnetInfoProperties ...
14335type VnetInfoProperties struct {
14336	// VnetResourceID - The vnet resource id
14337	VnetResourceID *string `json:"vnetResourceId,omitempty"`
14338	// CertThumbprint - The client certificate thumbprint
14339	CertThumbprint *string `json:"certThumbprint,omitempty"`
14340	// CertBlob - A certificate file (.cer) blob containing the public key of the private key used to authenticate a
14341	//             Point-To-Site VPN connection.
14342	CertBlob *string `json:"certBlob,omitempty"`
14343	// Routes - The routes that this virtual network connection uses.
14344	Routes *[]VnetRoute `json:"routes,omitempty"`
14345	// ResyncRequired - Flag to determine if a resync is required
14346	ResyncRequired *bool `json:"resyncRequired,omitempty"`
14347	// DNSServers - Dns servers to be used by this VNET. This should be a comma-separated list of IP addresses.
14348	DNSServers *string `json:"dnsServers,omitempty"`
14349}
14350
14351// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14352// VnetRoute vnetRoute contract used to pass routing information for a vnet.
14353type VnetRoute struct {
14354	autorest.Response    `json:"-"`
14355	*VnetRouteProperties `json:"properties,omitempty"`
14356	// ID - Resource Id
14357	ID *string `json:"id,omitempty"`
14358	// Name - Resource Name
14359	Name *string `json:"name,omitempty"`
14360	// Kind - Kind of resource
14361	Kind *string `json:"kind,omitempty"`
14362	// Location - Resource Location
14363	Location *string `json:"location,omitempty"`
14364	// Type - Resource type
14365	Type *string `json:"type,omitempty"`
14366	// Tags - Resource tags
14367	Tags map[string]*string `json:"tags"`
14368}
14369
14370// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14371// MarshalJSON is the custom marshaler for VnetRoute.
14372func (vr VnetRoute) MarshalJSON() ([]byte, error) {
14373	objectMap := make(map[string]interface{})
14374	if vr.VnetRouteProperties != nil {
14375		objectMap["properties"] = vr.VnetRouteProperties
14376	}
14377	if vr.ID != nil {
14378		objectMap["id"] = vr.ID
14379	}
14380	if vr.Name != nil {
14381		objectMap["name"] = vr.Name
14382	}
14383	if vr.Kind != nil {
14384		objectMap["kind"] = vr.Kind
14385	}
14386	if vr.Location != nil {
14387		objectMap["location"] = vr.Location
14388	}
14389	if vr.Type != nil {
14390		objectMap["type"] = vr.Type
14391	}
14392	if vr.Tags != nil {
14393		objectMap["tags"] = vr.Tags
14394	}
14395	return json.Marshal(objectMap)
14396}
14397
14398// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14399// UnmarshalJSON is the custom unmarshaler for VnetRoute struct.
14400func (vr *VnetRoute) UnmarshalJSON(body []byte) error {
14401	var m map[string]*json.RawMessage
14402	err := json.Unmarshal(body, &m)
14403	if err != nil {
14404		return err
14405	}
14406	for k, v := range m {
14407		switch k {
14408		case "properties":
14409			if v != nil {
14410				var vnetRouteProperties VnetRouteProperties
14411				err = json.Unmarshal(*v, &vnetRouteProperties)
14412				if err != nil {
14413					return err
14414				}
14415				vr.VnetRouteProperties = &vnetRouteProperties
14416			}
14417		case "id":
14418			if v != nil {
14419				var ID string
14420				err = json.Unmarshal(*v, &ID)
14421				if err != nil {
14422					return err
14423				}
14424				vr.ID = &ID
14425			}
14426		case "name":
14427			if v != nil {
14428				var name string
14429				err = json.Unmarshal(*v, &name)
14430				if err != nil {
14431					return err
14432				}
14433				vr.Name = &name
14434			}
14435		case "kind":
14436			if v != nil {
14437				var kind string
14438				err = json.Unmarshal(*v, &kind)
14439				if err != nil {
14440					return err
14441				}
14442				vr.Kind = &kind
14443			}
14444		case "location":
14445			if v != nil {
14446				var location string
14447				err = json.Unmarshal(*v, &location)
14448				if err != nil {
14449					return err
14450				}
14451				vr.Location = &location
14452			}
14453		case "type":
14454			if v != nil {
14455				var typeVar string
14456				err = json.Unmarshal(*v, &typeVar)
14457				if err != nil {
14458					return err
14459				}
14460				vr.Type = &typeVar
14461			}
14462		case "tags":
14463			if v != nil {
14464				var tags map[string]*string
14465				err = json.Unmarshal(*v, &tags)
14466				if err != nil {
14467					return err
14468				}
14469				vr.Tags = tags
14470			}
14471		}
14472	}
14473
14474	return nil
14475}
14476
14477// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14478// VnetRouteProperties ...
14479type VnetRouteProperties struct {
14480	// Name - The name of this route. This is only returned by the server and does not need to be set by the client.
14481	Name *string `json:"name,omitempty"`
14482	// StartAddress - The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.
14483	StartAddress *string `json:"startAddress,omitempty"`
14484	// EndAddress - The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.
14485	EndAddress *string `json:"endAddress,omitempty"`
14486	// RouteType - The type of route this is:
14487	//             DEFAULT - By default, every web app has routes to the local address ranges specified by RFC1918
14488	//             INHERITED - Routes inherited from the real Virtual Network routes
14489	//             STATIC - Static route set on the web app only
14490	//
14491	//             These values will be used for syncing a Web App's routes with those from a Virtual Network. This operation will clear all DEFAULT and INHERITED routes and replace them
14492	//             with new INHERITED routes.
14493	RouteType *string `json:"routeType,omitempty"`
14494}
14495
14496// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14497// WorkerPool worker pool of a hostingEnvironment (App Service Environment)
14498type WorkerPool struct {
14499	autorest.Response     `json:"-"`
14500	*WorkerPoolProperties `json:"properties,omitempty"`
14501	Sku                   *SkuDescription `json:"sku,omitempty"`
14502	// ID - Resource Id
14503	ID *string `json:"id,omitempty"`
14504	// Name - Resource Name
14505	Name *string `json:"name,omitempty"`
14506	// Kind - Kind of resource
14507	Kind *string `json:"kind,omitempty"`
14508	// Location - Resource Location
14509	Location *string `json:"location,omitempty"`
14510	// Type - Resource type
14511	Type *string `json:"type,omitempty"`
14512	// Tags - Resource tags
14513	Tags map[string]*string `json:"tags"`
14514}
14515
14516// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14517// MarshalJSON is the custom marshaler for WorkerPool.
14518func (wp WorkerPool) MarshalJSON() ([]byte, error) {
14519	objectMap := make(map[string]interface{})
14520	if wp.WorkerPoolProperties != nil {
14521		objectMap["properties"] = wp.WorkerPoolProperties
14522	}
14523	if wp.Sku != nil {
14524		objectMap["sku"] = wp.Sku
14525	}
14526	if wp.ID != nil {
14527		objectMap["id"] = wp.ID
14528	}
14529	if wp.Name != nil {
14530		objectMap["name"] = wp.Name
14531	}
14532	if wp.Kind != nil {
14533		objectMap["kind"] = wp.Kind
14534	}
14535	if wp.Location != nil {
14536		objectMap["location"] = wp.Location
14537	}
14538	if wp.Type != nil {
14539		objectMap["type"] = wp.Type
14540	}
14541	if wp.Tags != nil {
14542		objectMap["tags"] = wp.Tags
14543	}
14544	return json.Marshal(objectMap)
14545}
14546
14547// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14548// UnmarshalJSON is the custom unmarshaler for WorkerPool struct.
14549func (wp *WorkerPool) UnmarshalJSON(body []byte) error {
14550	var m map[string]*json.RawMessage
14551	err := json.Unmarshal(body, &m)
14552	if err != nil {
14553		return err
14554	}
14555	for k, v := range m {
14556		switch k {
14557		case "properties":
14558			if v != nil {
14559				var workerPoolProperties WorkerPoolProperties
14560				err = json.Unmarshal(*v, &workerPoolProperties)
14561				if err != nil {
14562					return err
14563				}
14564				wp.WorkerPoolProperties = &workerPoolProperties
14565			}
14566		case "sku":
14567			if v != nil {
14568				var sku SkuDescription
14569				err = json.Unmarshal(*v, &sku)
14570				if err != nil {
14571					return err
14572				}
14573				wp.Sku = &sku
14574			}
14575		case "id":
14576			if v != nil {
14577				var ID string
14578				err = json.Unmarshal(*v, &ID)
14579				if err != nil {
14580					return err
14581				}
14582				wp.ID = &ID
14583			}
14584		case "name":
14585			if v != nil {
14586				var name string
14587				err = json.Unmarshal(*v, &name)
14588				if err != nil {
14589					return err
14590				}
14591				wp.Name = &name
14592			}
14593		case "kind":
14594			if v != nil {
14595				var kind string
14596				err = json.Unmarshal(*v, &kind)
14597				if err != nil {
14598					return err
14599				}
14600				wp.Kind = &kind
14601			}
14602		case "location":
14603			if v != nil {
14604				var location string
14605				err = json.Unmarshal(*v, &location)
14606				if err != nil {
14607					return err
14608				}
14609				wp.Location = &location
14610			}
14611		case "type":
14612			if v != nil {
14613				var typeVar string
14614				err = json.Unmarshal(*v, &typeVar)
14615				if err != nil {
14616					return err
14617				}
14618				wp.Type = &typeVar
14619			}
14620		case "tags":
14621			if v != nil {
14622				var tags map[string]*string
14623				err = json.Unmarshal(*v, &tags)
14624				if err != nil {
14625					return err
14626				}
14627				wp.Tags = tags
14628			}
14629		}
14630	}
14631
14632	return nil
14633}
14634
14635// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14636// WorkerPoolCollection collection of worker pools
14637type WorkerPoolCollection struct {
14638	autorest.Response `json:"-"`
14639	// Value - Collection of resources
14640	Value *[]WorkerPool `json:"value,omitempty"`
14641	// NextLink - Link to next page of resources
14642	NextLink *string `json:"nextLink,omitempty"`
14643}
14644
14645// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14646// WorkerPoolCollectionIterator provides access to a complete listing of WorkerPool values.
14647type WorkerPoolCollectionIterator struct {
14648	i    int
14649	page WorkerPoolCollectionPage
14650}
14651
14652// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14653// Next advances to the next value.  If there was an error making
14654// the request the iterator does not advance and the error is returned.
14655func (iter *WorkerPoolCollectionIterator) Next() error {
14656	iter.i++
14657	if iter.i < len(iter.page.Values()) {
14658		return nil
14659	}
14660	err := iter.page.Next()
14661	if err != nil {
14662		iter.i--
14663		return err
14664	}
14665	iter.i = 0
14666	return nil
14667}
14668
14669// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14670// NotDone returns true if the enumeration should be started or is not yet complete.
14671func (iter WorkerPoolCollectionIterator) NotDone() bool {
14672	return iter.page.NotDone() && iter.i < len(iter.page.Values())
14673}
14674
14675// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14676// Response returns the raw server response from the last page request.
14677func (iter WorkerPoolCollectionIterator) Response() WorkerPoolCollection {
14678	return iter.page.Response()
14679}
14680
14681// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14682// Value returns the current value or a zero-initialized value if the
14683// iterator has advanced beyond the end of the collection.
14684func (iter WorkerPoolCollectionIterator) Value() WorkerPool {
14685	if !iter.page.NotDone() {
14686		return WorkerPool{}
14687	}
14688	return iter.page.Values()[iter.i]
14689}
14690
14691// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14692// IsEmpty returns true if the ListResult contains no values.
14693func (wpc WorkerPoolCollection) IsEmpty() bool {
14694	return wpc.Value == nil || len(*wpc.Value) == 0
14695}
14696
14697// workerPoolCollectionPreparer prepares a request to retrieve the next set of results.
14698// It returns nil if no more results exist.
14699func (wpc WorkerPoolCollection) workerPoolCollectionPreparer() (*http.Request, error) {
14700	if wpc.NextLink == nil || len(to.String(wpc.NextLink)) < 1 {
14701		return nil, nil
14702	}
14703	return autorest.Prepare(&http.Request{},
14704		autorest.AsJSON(),
14705		autorest.AsGet(),
14706		autorest.WithBaseURL(to.String(wpc.NextLink)))
14707}
14708
14709// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14710// WorkerPoolCollectionPage contains a page of WorkerPool values.
14711type WorkerPoolCollectionPage struct {
14712	fn  func(WorkerPoolCollection) (WorkerPoolCollection, error)
14713	wpc WorkerPoolCollection
14714}
14715
14716// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14717// Next advances to the next page of values.  If there was an error making
14718// the request the page does not advance and the error is returned.
14719func (page *WorkerPoolCollectionPage) Next() error {
14720	next, err := page.fn(page.wpc)
14721	if err != nil {
14722		return err
14723	}
14724	page.wpc = next
14725	return nil
14726}
14727
14728// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14729// NotDone returns true if the page enumeration should be started or is not yet complete.
14730func (page WorkerPoolCollectionPage) NotDone() bool {
14731	return !page.wpc.IsEmpty()
14732}
14733
14734// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14735// Response returns the raw server response from the last page request.
14736func (page WorkerPoolCollectionPage) Response() WorkerPoolCollection {
14737	return page.wpc
14738}
14739
14740// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14741// Values returns the slice of values for the current page or nil if there are no values.
14742func (page WorkerPoolCollectionPage) Values() []WorkerPool {
14743	if page.wpc.IsEmpty() {
14744		return nil
14745	}
14746	return *page.wpc.Value
14747}
14748
14749// Deprecated: Please use package github.com/Azure/azure-sdk-for-go/services/preview/web/mgmt/2015-08-preview/web instead.
14750// WorkerPoolProperties ...
14751type WorkerPoolProperties struct {
14752	// WorkerSizeID - Worker size id for referencing this worker pool
14753	WorkerSizeID *int32 `json:"workerSizeId,omitempty"`
14754	// ComputeMode - Shared or dedicated web app hosting. Possible values include: 'Shared', 'Dedicated', 'Dynamic'
14755	ComputeMode ComputeModeOptions `json:"computeMode,omitempty"`
14756	// WorkerSize - VM size of the worker pool instances
14757	WorkerSize *string `json:"workerSize,omitempty"`
14758	// WorkerCount - Number of instances in the worker pool
14759	WorkerCount *int32 `json:"workerCount,omitempty"`
14760	// InstanceNames - Names of all instances in the worker pool (read only)
14761	InstanceNames *[]string `json:"instanceNames,omitempty"`
14762}
14763