-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
SiteConfigProperties.cs
365 lines (356 loc) · 25.2 KB
/
SiteConfigProperties.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
namespace Azure.ResourceManager.AppService.Models
{
/// <summary> Configuration of an App Service app. </summary>
public partial class SiteConfigProperties
{
/// <summary> Initializes a new instance of SiteConfigProperties. </summary>
public SiteConfigProperties()
{
DefaultDocuments = new ChangeTrackingList<string>();
AppSettings = new ChangeTrackingList<AppServiceNameValuePair>();
ConnectionStrings = new ChangeTrackingList<ConnStringInfo>();
HandlerMappings = new ChangeTrackingList<HttpRequestHandlerMapping>();
VirtualApplications = new ChangeTrackingList<VirtualApplication>();
IPSecurityRestrictions = new ChangeTrackingList<AppServiceIPSecurityRestriction>();
ScmIPSecurityRestrictions = new ChangeTrackingList<AppServiceIPSecurityRestriction>();
AzureStorageAccounts = new ChangeTrackingDictionary<string, AppServiceStorageAccessInfo>();
}
/// <summary> Initializes a new instance of SiteConfigProperties. </summary>
/// <param name="numberOfWorkers"> Number of workers. </param>
/// <param name="defaultDocuments"> Default documents. </param>
/// <param name="netFrameworkVersion"> .NET Framework version. </param>
/// <param name="phpVersion"> Version of PHP. </param>
/// <param name="pythonVersion"> Version of Python. </param>
/// <param name="nodeVersion"> Version of Node.js. </param>
/// <param name="powerShellVersion"> Version of PowerShell. </param>
/// <param name="linuxFxVersion"> Linux App Framework and version. </param>
/// <param name="windowsFxVersion"> Xenon App Framework and version. </param>
/// <param name="isRequestTracingEnabled"> <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. </param>
/// <param name="requestTracingExpirationOn"> Request tracing expiration time. </param>
/// <param name="isRemoteDebuggingEnabled"> <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. </param>
/// <param name="remoteDebuggingVersion"> Remote debugging version. </param>
/// <param name="isHttpLoggingEnabled"> <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. </param>
/// <param name="useManagedIdentityCreds"> Flag to use Managed Identity Creds for ACR pull. </param>
/// <param name="acrUserManagedIdentityId"> If using user managed identity, the user managed identity ClientId. </param>
/// <param name="logsDirectorySizeLimit"> HTTP logs directory size limit. </param>
/// <param name="isDetailedErrorLoggingEnabled"> <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. </param>
/// <param name="publishingUsername"> Publishing user name. </param>
/// <param name="appSettings"> Application settings. </param>
/// <param name="connectionStrings"> Connection strings. </param>
/// <param name="machineKey"> Site MachineKey. </param>
/// <param name="handlerMappings"> Handler mappings. </param>
/// <param name="documentRoot"> Document root. </param>
/// <param name="scmType"> SCM type. </param>
/// <param name="use32BitWorkerProcess"> <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. </param>
/// <param name="isWebSocketsEnabled"> <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. </param>
/// <param name="isAlwaysOn"> <code>true</code> if Always On is enabled; otherwise, <code>false</code>. </param>
/// <param name="javaVersion"> Java version. </param>
/// <param name="javaContainer"> Java container. </param>
/// <param name="javaContainerVersion"> Java container version. </param>
/// <param name="appCommandLine"> App command line to launch. </param>
/// <param name="managedPipelineMode"> Managed pipeline mode. </param>
/// <param name="virtualApplications"> Virtual applications. </param>
/// <param name="loadBalancing"> Site load balancing. </param>
/// <param name="experiments"> This is work around for polymorphic types. </param>
/// <param name="limits"> Site limits. </param>
/// <param name="isAutoHealEnabled"> <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. </param>
/// <param name="autoHealRules"> Auto Heal rules. </param>
/// <param name="tracingOptions"> Tracing options. </param>
/// <param name="vnetName"> Virtual Network name. </param>
/// <param name="isVnetRouteAllEnabled"> Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. </param>
/// <param name="vnetPrivatePortsCount"> The number of private ports assigned to this app. These will be assigned dynamically on runtime. </param>
/// <param name="cors"> Cross-Origin Resource Sharing (CORS) settings. </param>
/// <param name="push"> Push endpoint settings. </param>
/// <param name="apiDefinition"> Information about the formal API definition for the app. </param>
/// <param name="apiManagementConfig"> Azure API management settings linked to the app. </param>
/// <param name="autoSwapSlotName"> Auto-swap slot name. </param>
/// <param name="isLocalMySqlEnabled"> <code>true</code> to enable local MySQL; otherwise, <code>false</code>. </param>
/// <param name="managedServiceIdentityId"> Managed Service Identity Id. </param>
/// <param name="xManagedServiceIdentityId"> Explicit Managed Service Identity Id. </param>
/// <param name="keyVaultReferenceIdentity"> Identity to use for Key Vault Reference authentication. </param>
/// <param name="ipSecurityRestrictions"> IP security restrictions for main. </param>
/// <param name="scmIPSecurityRestrictions"> IP security restrictions for scm. </param>
/// <param name="allowIPSecurityRestrictionsForScmToUseMain"> IP security restrictions for scm to use main. </param>
/// <param name="isHttp20Enabled"> Http20Enabled: configures a web site to allow clients to connect over http2.0. </param>
/// <param name="minTlsVersion"> MinTlsVersion: configures the minimum version of TLS required for SSL requests. </param>
/// <param name="scmMinTlsVersion"> ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site. </param>
/// <param name="ftpsState"> State of FTP / FTPS service. </param>
/// <param name="preWarmedInstanceCount">
/// Number of preWarmed instances.
/// This setting only applies to the Consumption and Elastic Plans
/// </param>
/// <param name="functionAppScaleLimit">
/// Maximum number of workers that a site can scale out to.
/// This setting only applies to the Consumption and Elastic Premium Plans
/// </param>
/// <param name="healthCheckPath"> Health check path. </param>
/// <param name="isFunctionsRuntimeScaleMonitoringEnabled">
/// Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled,
/// the ScaleController will not monitor event sources directly, but will instead call to the
/// runtime to get scale status.
/// </param>
/// <param name="websiteTimeZone"> Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. </param>
/// <param name="minimumElasticInstanceCount">
/// Number of minimum instance count for a site
/// This setting only applies to the Elastic Plans
/// </param>
/// <param name="azureStorageAccounts"> List of Azure Storage Accounts. </param>
/// <param name="publicNetworkAccess"> Property to allow or block all public traffic. </param>
internal SiteConfigProperties(int? numberOfWorkers, IList<string> defaultDocuments, string netFrameworkVersion, string phpVersion, string pythonVersion, string nodeVersion, string powerShellVersion, string linuxFxVersion, string windowsFxVersion, bool? isRequestTracingEnabled, DateTimeOffset? requestTracingExpirationOn, bool? isRemoteDebuggingEnabled, string remoteDebuggingVersion, bool? isHttpLoggingEnabled, bool? useManagedIdentityCreds, string acrUserManagedIdentityId, int? logsDirectorySizeLimit, bool? isDetailedErrorLoggingEnabled, string publishingUsername, IList<AppServiceNameValuePair> appSettings, IList<ConnStringInfo> connectionStrings, SiteMachineKey machineKey, IList<HttpRequestHandlerMapping> handlerMappings, string documentRoot, ScmType? scmType, bool? use32BitWorkerProcess, bool? isWebSocketsEnabled, bool? isAlwaysOn, string javaVersion, string javaContainer, string javaContainerVersion, string appCommandLine, ManagedPipelineMode? managedPipelineMode, IList<VirtualApplication> virtualApplications, SiteLoadBalancing? loadBalancing, RoutingRuleExperiments experiments, SiteLimits limits, bool? isAutoHealEnabled, AutoHealRules autoHealRules, string tracingOptions, string vnetName, bool? isVnetRouteAllEnabled, int? vnetPrivatePortsCount, AppServiceCorsSettings cors, WebAppPushSettings push, AppServiceApiDefinitionInfo apiDefinition, ApiManagementConfig apiManagementConfig, string autoSwapSlotName, bool? isLocalMySqlEnabled, int? managedServiceIdentityId, int? xManagedServiceIdentityId, string keyVaultReferenceIdentity, IList<AppServiceIPSecurityRestriction> ipSecurityRestrictions, IList<AppServiceIPSecurityRestriction> scmIPSecurityRestrictions, bool? allowIPSecurityRestrictionsForScmToUseMain, bool? isHttp20Enabled, AppServiceSupportedTlsVersion? minTlsVersion, AppServiceSupportedTlsVersion? scmMinTlsVersion, AppServiceFtpsState? ftpsState, int? preWarmedInstanceCount, int? functionAppScaleLimit, string healthCheckPath, bool? isFunctionsRuntimeScaleMonitoringEnabled, string websiteTimeZone, int? minimumElasticInstanceCount, IDictionary<string, AppServiceStorageAccessInfo> azureStorageAccounts, string publicNetworkAccess)
{
NumberOfWorkers = numberOfWorkers;
DefaultDocuments = defaultDocuments;
NetFrameworkVersion = netFrameworkVersion;
PhpVersion = phpVersion;
PythonVersion = pythonVersion;
NodeVersion = nodeVersion;
PowerShellVersion = powerShellVersion;
LinuxFxVersion = linuxFxVersion;
WindowsFxVersion = windowsFxVersion;
IsRequestTracingEnabled = isRequestTracingEnabled;
RequestTracingExpirationOn = requestTracingExpirationOn;
IsRemoteDebuggingEnabled = isRemoteDebuggingEnabled;
RemoteDebuggingVersion = remoteDebuggingVersion;
IsHttpLoggingEnabled = isHttpLoggingEnabled;
UseManagedIdentityCreds = useManagedIdentityCreds;
AcrUserManagedIdentityId = acrUserManagedIdentityId;
LogsDirectorySizeLimit = logsDirectorySizeLimit;
IsDetailedErrorLoggingEnabled = isDetailedErrorLoggingEnabled;
PublishingUsername = publishingUsername;
AppSettings = appSettings;
ConnectionStrings = connectionStrings;
MachineKey = machineKey;
HandlerMappings = handlerMappings;
DocumentRoot = documentRoot;
ScmType = scmType;
Use32BitWorkerProcess = use32BitWorkerProcess;
IsWebSocketsEnabled = isWebSocketsEnabled;
IsAlwaysOn = isAlwaysOn;
JavaVersion = javaVersion;
JavaContainer = javaContainer;
JavaContainerVersion = javaContainerVersion;
AppCommandLine = appCommandLine;
ManagedPipelineMode = managedPipelineMode;
VirtualApplications = virtualApplications;
LoadBalancing = loadBalancing;
Experiments = experiments;
Limits = limits;
IsAutoHealEnabled = isAutoHealEnabled;
AutoHealRules = autoHealRules;
TracingOptions = tracingOptions;
VnetName = vnetName;
IsVnetRouteAllEnabled = isVnetRouteAllEnabled;
VnetPrivatePortsCount = vnetPrivatePortsCount;
Cors = cors;
Push = push;
ApiDefinition = apiDefinition;
ApiManagementConfig = apiManagementConfig;
AutoSwapSlotName = autoSwapSlotName;
IsLocalMySqlEnabled = isLocalMySqlEnabled;
ManagedServiceIdentityId = managedServiceIdentityId;
XManagedServiceIdentityId = xManagedServiceIdentityId;
KeyVaultReferenceIdentity = keyVaultReferenceIdentity;
IPSecurityRestrictions = ipSecurityRestrictions;
ScmIPSecurityRestrictions = scmIPSecurityRestrictions;
AllowIPSecurityRestrictionsForScmToUseMain = allowIPSecurityRestrictionsForScmToUseMain;
IsHttp20Enabled = isHttp20Enabled;
MinTlsVersion = minTlsVersion;
ScmMinTlsVersion = scmMinTlsVersion;
FtpsState = ftpsState;
PreWarmedInstanceCount = preWarmedInstanceCount;
FunctionAppScaleLimit = functionAppScaleLimit;
HealthCheckPath = healthCheckPath;
IsFunctionsRuntimeScaleMonitoringEnabled = isFunctionsRuntimeScaleMonitoringEnabled;
WebsiteTimeZone = websiteTimeZone;
MinimumElasticInstanceCount = minimumElasticInstanceCount;
AzureStorageAccounts = azureStorageAccounts;
PublicNetworkAccess = publicNetworkAccess;
}
/// <summary> Number of workers. </summary>
public int? NumberOfWorkers { get; set; }
/// <summary> Default documents. </summary>
public IList<string> DefaultDocuments { get; set; }
/// <summary> .NET Framework version. </summary>
public string NetFrameworkVersion { get; set; }
/// <summary> Version of PHP. </summary>
public string PhpVersion { get; set; }
/// <summary> Version of Python. </summary>
public string PythonVersion { get; set; }
/// <summary> Version of Node.js. </summary>
public string NodeVersion { get; set; }
/// <summary> Version of PowerShell. </summary>
public string PowerShellVersion { get; set; }
/// <summary> Linux App Framework and version. </summary>
public string LinuxFxVersion { get; set; }
/// <summary> Xenon App Framework and version. </summary>
public string WindowsFxVersion { get; set; }
/// <summary> <code>true</code> if request tracing is enabled; otherwise, <code>false</code>. </summary>
public bool? IsRequestTracingEnabled { get; set; }
/// <summary> Request tracing expiration time. </summary>
public DateTimeOffset? RequestTracingExpirationOn { get; set; }
/// <summary> <code>true</code> if remote debugging is enabled; otherwise, <code>false</code>. </summary>
public bool? IsRemoteDebuggingEnabled { get; set; }
/// <summary> Remote debugging version. </summary>
public string RemoteDebuggingVersion { get; set; }
/// <summary> <code>true</code> if HTTP logging is enabled; otherwise, <code>false</code>. </summary>
public bool? IsHttpLoggingEnabled { get; set; }
/// <summary> Flag to use Managed Identity Creds for ACR pull. </summary>
public bool? UseManagedIdentityCreds { get; set; }
/// <summary> If using user managed identity, the user managed identity ClientId. </summary>
public string AcrUserManagedIdentityId { get; set; }
/// <summary> HTTP logs directory size limit. </summary>
public int? LogsDirectorySizeLimit { get; set; }
/// <summary> <code>true</code> if detailed error logging is enabled; otherwise, <code>false</code>. </summary>
public bool? IsDetailedErrorLoggingEnabled { get; set; }
/// <summary> Publishing user name. </summary>
public string PublishingUsername { get; set; }
/// <summary> Application settings. </summary>
public IList<AppServiceNameValuePair> AppSettings { get; set; }
/// <summary> Connection strings. </summary>
public IList<ConnStringInfo> ConnectionStrings { get; set; }
/// <summary> Site MachineKey. </summary>
public SiteMachineKey MachineKey { get; }
/// <summary> Handler mappings. </summary>
public IList<HttpRequestHandlerMapping> HandlerMappings { get; set; }
/// <summary> Document root. </summary>
public string DocumentRoot { get; set; }
/// <summary> SCM type. </summary>
public ScmType? ScmType { get; set; }
/// <summary> <code>true</code> to use 32-bit worker process; otherwise, <code>false</code>. </summary>
public bool? Use32BitWorkerProcess { get; set; }
/// <summary> <code>true</code> if WebSocket is enabled; otherwise, <code>false</code>. </summary>
public bool? IsWebSocketsEnabled { get; set; }
/// <summary> <code>true</code> if Always On is enabled; otherwise, <code>false</code>. </summary>
public bool? IsAlwaysOn { get; set; }
/// <summary> Java version. </summary>
public string JavaVersion { get; set; }
/// <summary> Java container. </summary>
public string JavaContainer { get; set; }
/// <summary> Java container version. </summary>
public string JavaContainerVersion { get; set; }
/// <summary> App command line to launch. </summary>
public string AppCommandLine { get; set; }
/// <summary> Managed pipeline mode. </summary>
public ManagedPipelineMode? ManagedPipelineMode { get; set; }
/// <summary> Virtual applications. </summary>
public IList<VirtualApplication> VirtualApplications { get; set; }
/// <summary> Site load balancing. </summary>
public SiteLoadBalancing? LoadBalancing { get; set; }
/// <summary> This is work around for polymorphic types. </summary>
internal RoutingRuleExperiments Experiments { get; set; }
/// <summary> List of ramp-up rules. </summary>
public IList<RampUpRule> ExperimentsRampUpRules
{
get
{
if (Experiments is null)
Experiments = new RoutingRuleExperiments();
return Experiments.RampUpRules;
}
}
/// <summary> Site limits. </summary>
public SiteLimits Limits { get; set; }
/// <summary> <code>true</code> if Auto Heal is enabled; otherwise, <code>false</code>. </summary>
public bool? IsAutoHealEnabled { get; set; }
/// <summary> Auto Heal rules. </summary>
public AutoHealRules AutoHealRules { get; set; }
/// <summary> Tracing options. </summary>
public string TracingOptions { get; set; }
/// <summary> Virtual Network name. </summary>
public string VnetName { get; set; }
/// <summary> Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. </summary>
public bool? IsVnetRouteAllEnabled { get; set; }
/// <summary> The number of private ports assigned to this app. These will be assigned dynamically on runtime. </summary>
public int? VnetPrivatePortsCount { get; set; }
/// <summary> Cross-Origin Resource Sharing (CORS) settings. </summary>
public AppServiceCorsSettings Cors { get; set; }
/// <summary> Push endpoint settings. </summary>
public WebAppPushSettings Push { get; set; }
/// <summary> Information about the formal API definition for the app. </summary>
internal AppServiceApiDefinitionInfo ApiDefinition { get; set; }
/// <summary> The URL of the API definition. </summary>
public Uri ApiDefinitionUri
{
get => ApiDefinition is null ? default : ApiDefinition.Uri;
set
{
if (ApiDefinition is null)
ApiDefinition = new AppServiceApiDefinitionInfo();
ApiDefinition.Uri = value;
}
}
/// <summary> Azure API management settings linked to the app. </summary>
internal ApiManagementConfig ApiManagementConfig { get; set; }
/// <summary> APIM-Api Identifier. </summary>
public string ApiManagementConfigId
{
get => ApiManagementConfig is null ? default : ApiManagementConfig.Id;
set
{
if (ApiManagementConfig is null)
ApiManagementConfig = new ApiManagementConfig();
ApiManagementConfig.Id = value;
}
}
/// <summary> Auto-swap slot name. </summary>
public string AutoSwapSlotName { get; set; }
/// <summary> <code>true</code> to enable local MySQL; otherwise, <code>false</code>. </summary>
public bool? IsLocalMySqlEnabled { get; set; }
/// <summary> Managed Service Identity Id. </summary>
public int? ManagedServiceIdentityId { get; set; }
/// <summary> Explicit Managed Service Identity Id. </summary>
public int? XManagedServiceIdentityId { get; set; }
/// <summary> Identity to use for Key Vault Reference authentication. </summary>
public string KeyVaultReferenceIdentity { get; set; }
/// <summary> IP security restrictions for main. </summary>
public IList<AppServiceIPSecurityRestriction> IPSecurityRestrictions { get; set; }
/// <summary> IP security restrictions for scm. </summary>
public IList<AppServiceIPSecurityRestriction> ScmIPSecurityRestrictions { get; set; }
/// <summary> IP security restrictions for scm to use main. </summary>
public bool? AllowIPSecurityRestrictionsForScmToUseMain { get; set; }
/// <summary> Http20Enabled: configures a web site to allow clients to connect over http2.0. </summary>
public bool? IsHttp20Enabled { get; set; }
/// <summary> MinTlsVersion: configures the minimum version of TLS required for SSL requests. </summary>
public AppServiceSupportedTlsVersion? MinTlsVersion { get; set; }
/// <summary> ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site. </summary>
public AppServiceSupportedTlsVersion? ScmMinTlsVersion { get; set; }
/// <summary> State of FTP / FTPS service. </summary>
public AppServiceFtpsState? FtpsState { get; set; }
/// <summary>
/// Number of preWarmed instances.
/// This setting only applies to the Consumption and Elastic Plans
/// </summary>
public int? PreWarmedInstanceCount { get; set; }
/// <summary>
/// Maximum number of workers that a site can scale out to.
/// This setting only applies to the Consumption and Elastic Premium Plans
/// </summary>
public int? FunctionAppScaleLimit { get; set; }
/// <summary> Health check path. </summary>
public string HealthCheckPath { get; set; }
/// <summary>
/// Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled,
/// the ScaleController will not monitor event sources directly, but will instead call to the
/// runtime to get scale status.
/// </summary>
public bool? IsFunctionsRuntimeScaleMonitoringEnabled { get; set; }
/// <summary> Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. </summary>
public string WebsiteTimeZone { get; set; }
/// <summary>
/// Number of minimum instance count for a site
/// This setting only applies to the Elastic Plans
/// </summary>
public int? MinimumElasticInstanceCount { get; set; }
/// <summary> List of Azure Storage Accounts. </summary>
public IDictionary<string, AppServiceStorageAccessInfo> AzureStorageAccounts { get; set; }
/// <summary> Property to allow or block all public traffic. </summary>
public string PublicNetworkAccess { get; set; }
}
}