0
# Application Configuration
1
2
Management of application settings, connection strings, authentication, and site configuration including runtime settings, environment variables, deployment configurations, and security policies for Azure web applications.
3
4
## Capabilities
5
6
### Site Configuration Management
7
8
Configure runtime settings, framework versions, and platform-specific options for web applications.
9
10
```python { .api }
11
def get_configuration(
12
resource_group_name: str,
13
name: str,
14
**kwargs
15
) -> SiteConfig:
16
"""
17
Gets site configuration for a web app.
18
19
Parameters:
20
- resource_group_name (str): Name of the resource group
21
- name (str): Name of the web app
22
23
Returns:
24
SiteConfig: Complete site configuration settings
25
"""
26
27
def update_configuration(
28
resource_group_name: str,
29
name: str,
30
site_config: SiteConfig,
31
**kwargs
32
) -> SiteConfig:
33
"""
34
Updates site configuration for a web app.
35
36
Parameters:
37
- resource_group_name (str): Name of the resource group
38
- name (str): Name of the web app
39
- site_config (SiteConfig): New site configuration settings
40
41
Returns:
42
SiteConfig: Updated site configuration
43
"""
44
45
def create_or_update_configuration(
46
resource_group_name: str,
47
name: str,
48
site_config: SiteConfig,
49
**kwargs
50
) -> SiteConfig:
51
"""
52
Creates or updates site configuration for a web app.
53
54
Parameters:
55
- resource_group_name (str): Name of the resource group
56
- name (str): Name of the web app
57
- site_config (SiteConfig): Site configuration to create or update
58
59
Returns:
60
SiteConfig: Created or updated site configuration
61
"""
62
63
def list_configurations(
64
resource_group_name: str,
65
name: str,
66
**kwargs
67
) -> List[SiteConfigResource]:
68
"""
69
Lists all configuration snapshots for a web app.
70
71
Parameters:
72
- resource_group_name (str): Name of the resource group
73
- name (str): Name of the web app
74
75
Returns:
76
List[SiteConfigResource]: List of configuration snapshots
77
"""
78
```
79
80
### Application Settings Management
81
82
Manage environment variables and application-specific settings.
83
84
```python { .api }
85
def list_application_settings(
86
resource_group_name: str,
87
name: str,
88
**kwargs
89
) -> StringDictionary:
90
"""
91
Gets application settings for a web app.
92
93
Parameters:
94
- resource_group_name (str): Name of the resource group
95
- name (str): Name of the web app
96
97
Returns:
98
StringDictionary: Application settings key-value pairs
99
"""
100
101
def update_application_settings(
102
resource_group_name: str,
103
name: str,
104
app_settings: StringDictionary,
105
**kwargs
106
) -> StringDictionary:
107
"""
108
Updates application settings for a web app.
109
110
Parameters:
111
- resource_group_name (str): Name of the resource group
112
- name (str): Name of the web app
113
- app_settings (StringDictionary): New application settings
114
115
Returns:
116
StringDictionary: Updated application settings
117
"""
118
119
def list_application_settings_slot(
120
resource_group_name: str,
121
name: str,
122
slot: str,
123
**kwargs
124
) -> StringDictionary:
125
"""
126
Gets application settings for a deployment slot.
127
128
Parameters:
129
- resource_group_name (str): Name of the resource group
130
- name (str): Name of the web app
131
- slot (str): Name of the deployment slot
132
133
Returns:
134
StringDictionary: Slot-specific application settings
135
"""
136
137
def update_application_settings_slot(
138
resource_group_name: str,
139
name: str,
140
slot: str,
141
app_settings: StringDictionary,
142
**kwargs
143
) -> StringDictionary:
144
"""
145
Updates application settings for a deployment slot.
146
147
Parameters:
148
- resource_group_name (str): Name of the resource group
149
- name (str): Name of the web app
150
- slot (str): Name of the deployment slot
151
- app_settings (StringDictionary): New application settings for the slot
152
153
Returns:
154
StringDictionary: Updated application settings
155
"""
156
```
157
158
### Connection Strings Management
159
160
Manage database and service connection strings with appropriate security classifications.
161
162
```python { .api }
163
def list_connection_strings(
164
resource_group_name: str,
165
name: str,
166
**kwargs
167
) -> ConnectionStringDictionary:
168
"""
169
Gets connection strings for a web app.
170
171
Parameters:
172
- resource_group_name (str): Name of the resource group
173
- name (str): Name of the web app
174
175
Returns:
176
ConnectionStringDictionary: Connection strings configuration
177
"""
178
179
def update_connection_strings(
180
resource_group_name: str,
181
name: str,
182
connection_strings: ConnectionStringDictionary,
183
**kwargs
184
) -> ConnectionStringDictionary:
185
"""
186
Updates connection strings for a web app.
187
188
Parameters:
189
- resource_group_name (str): Name of the resource group
190
- name (str): Name of the web app
191
- connection_strings (ConnectionStringDictionary): New connection strings
192
193
Returns:
194
ConnectionStringDictionary: Updated connection strings
195
"""
196
197
def list_connection_strings_slot(
198
resource_group_name: str,
199
name: str,
200
slot: str,
201
**kwargs
202
) -> ConnectionStringDictionary:
203
"""
204
Gets connection strings for a deployment slot.
205
206
Parameters:
207
- resource_group_name (str): Name of the resource group
208
- name (str): Name of the web app
209
- slot (str): Name of the deployment slot
210
211
Returns:
212
ConnectionStringDictionary: Slot-specific connection strings
213
"""
214
215
def update_connection_strings_slot(
216
resource_group_name: str,
217
name: str,
218
slot: str,
219
connection_strings: ConnectionStringDictionary,
220
**kwargs
221
) -> ConnectionStringDictionary:
222
"""
223
Updates connection strings for a deployment slot.
224
225
Parameters:
226
- resource_group_name (str): Name of the resource group
227
- name (str): Name of the web app
228
- slot (str): Name of the deployment slot
229
- connection_strings (ConnectionStringDictionary): New connection strings
230
231
Returns:
232
ConnectionStringDictionary: Updated connection strings
233
"""
234
```
235
236
### Authentication and Authorization
237
238
Configure authentication providers, authorization policies, and security settings.
239
240
```python { .api }
241
def get_auth_settings(
242
resource_group_name: str,
243
name: str,
244
**kwargs
245
) -> SiteAuthSettings:
246
"""
247
Gets authentication settings for a web app.
248
249
Parameters:
250
- resource_group_name (str): Name of the resource group
251
- name (str): Name of the web app
252
253
Returns:
254
SiteAuthSettings: Authentication configuration
255
"""
256
257
def update_auth_settings(
258
resource_group_name: str,
259
name: str,
260
site_auth_settings: SiteAuthSettings,
261
**kwargs
262
) -> SiteAuthSettings:
263
"""
264
Updates authentication settings for a web app.
265
266
Parameters:
267
- resource_group_name (str): Name of the resource group
268
- name (str): Name of the web app
269
- site_auth_settings (SiteAuthSettings): New authentication settings
270
271
Returns:
272
SiteAuthSettings: Updated authentication settings
273
"""
274
275
def get_auth_settings_v2(
276
resource_group_name: str,
277
name: str,
278
**kwargs
279
) -> SiteAuthSettingsV2:
280
"""
281
Gets v2 authentication settings for a web app.
282
283
Parameters:
284
- resource_group_name (str): Name of the resource group
285
- name (str): Name of the web app
286
287
Returns:
288
SiteAuthSettingsV2: V2 authentication configuration
289
"""
290
291
def update_auth_settings_v2(
292
resource_group_name: str,
293
name: str,
294
site_auth_settings_v2: SiteAuthSettingsV2,
295
**kwargs
296
) -> SiteAuthSettingsV2:
297
"""
298
Updates v2 authentication settings for a web app.
299
300
Parameters:
301
- resource_group_name (str): Name of the resource group
302
- name (str): Name of the web app
303
- site_auth_settings_v2 (SiteAuthSettingsV2): New v2 authentication settings
304
305
Returns:
306
SiteAuthSettingsV2: Updated v2 authentication settings
307
"""
308
```
309
310
### Metadata and Properties
311
312
Manage application metadata and custom properties.
313
314
```python { .api }
315
def list_metadata(
316
resource_group_name: str,
317
name: str,
318
**kwargs
319
) -> StringDictionary:
320
"""
321
Gets metadata for a web app.
322
323
Parameters:
324
- resource_group_name (str): Name of the resource group
325
- name (str): Name of the web app
326
327
Returns:
328
StringDictionary: Application metadata
329
"""
330
331
def update_metadata(
332
resource_group_name: str,
333
name: str,
334
metadata: StringDictionary,
335
**kwargs
336
) -> StringDictionary:
337
"""
338
Updates metadata for a web app.
339
340
Parameters:
341
- resource_group_name (str): Name of the resource group
342
- name (str): Name of the web app
343
- metadata (StringDictionary): New metadata values
344
345
Returns:
346
StringDictionary: Updated metadata
347
"""
348
349
def get_site_extension(
350
resource_group_name: str,
351
name: str,
352
site_extension_id: str,
353
**kwargs
354
) -> SiteExtensionInfo:
355
"""
356
Gets information about a site extension.
357
358
Parameters:
359
- resource_group_name (str): Name of the resource group
360
- name (str): Name of the web app
361
- site_extension_id (str): Site extension identifier
362
363
Returns:
364
SiteExtensionInfo: Site extension information
365
"""
366
367
def install_site_extension(
368
resource_group_name: str,
369
name: str,
370
site_extension_id: str,
371
**kwargs
372
) -> SiteExtensionInfo:
373
"""
374
Installs a site extension for a web app.
375
376
Parameters:
377
- resource_group_name (str): Name of the resource group
378
- name (str): Name of the web app
379
- site_extension_id (str): Site extension identifier
380
381
Returns:
382
SiteExtensionInfo: Installed site extension information
383
"""
384
```
385
386
## Types
387
388
```python { .api }
389
class SiteConfig:
390
"""Web app site configuration settings."""
391
number_of_workers: Optional[int]
392
default_documents: Optional[List[str]]
393
net_framework_version: Optional[str]
394
php_version: Optional[str]
395
python_version: Optional[str]
396
node_version: Optional[str]
397
power_shell_version: Optional[str]
398
linux_fx_version: Optional[str]
399
windows_fx_version: Optional[str]
400
request_tracing_enabled: Optional[bool]
401
request_tracing_expiration_time: Optional[datetime]
402
remote_debugging_enabled: Optional[bool]
403
remote_debugging_version: Optional[str]
404
http_logging_enabled: Optional[bool]
405
acr_use_managed_identity_creds: Optional[bool]
406
acr_user_managed_identity_id: Optional[str]
407
logs_directory_size_limit: Optional[int]
408
detailed_error_logging_enabled: Optional[bool]
409
publishing_username: Optional[str]
410
app_settings: Optional[List[NameValuePair]]
411
connection_strings: Optional[List[ConnStringInfo]]
412
machine_key: Optional[SiteMachineKey]
413
handler_mappings: Optional[List[HandlerMapping]]
414
document_root: Optional[str]
415
scm_type: Optional[ScmType]
416
use32_bit_worker_process: Optional[bool]
417
web_sockets_enabled: Optional[bool]
418
always_on: Optional[bool]
419
java_version: Optional[str]
420
java_container: Optional[str]
421
java_container_version: Optional[str]
422
app_command_line: Optional[str]
423
managed_pipeline_mode: Optional[ManagedPipelineMode]
424
virtual_applications: Optional[List[VirtualApplication]]
425
load_balancing: Optional[SiteLoadBalancing]
426
experiments: Optional[Experiments]
427
limits: Optional[SiteLimits]
428
auto_heal_enabled: Optional[bool]
429
auto_heal_rules: Optional[AutoHealRules]
430
tracing_options: Optional[str]
431
vnet_name: Optional[str]
432
vnet_route_all_enabled: Optional[bool]
433
vnet_private_ports_count: Optional[int]
434
cors: Optional[CorsSettings]
435
push: Optional[PushSettings]
436
api_definition: Optional[ApiDefinitionInfo]
437
api_management_config: Optional[ApiManagementConfig]
438
auto_swap_slot_name: Optional[str]
439
local_my_sql_enabled: Optional[bool]
440
managed_service_identity_id: Optional[int]
441
x_managed_service_identity_id: Optional[int]
442
key_vault_reference_identity: Optional[str]
443
ip_security_restrictions: Optional[List[IpSecurityRestriction]]
444
scm_ip_security_restrictions: Optional[List[IpSecurityRestriction]]
445
scm_ip_security_restrictions_use_main: Optional[bool]
446
http20_enabled: Optional[bool]
447
min_tls_version: Optional[SupportedTlsVersions]
448
scm_min_tls_version: Optional[SupportedTlsVersions]
449
ftps_state: Optional[FtpsState]
450
pre_warmed_instance_count: Optional[int]
451
function_app_scale_limit: Optional[int]
452
health_check_path: Optional[str]
453
functions_runtime_scale_monitoring_enabled: Optional[bool]
454
website_time_zone: Optional[str]
455
minimum_elastic_instance_count: Optional[int]
456
azure_storage_accounts: Optional[Dict[str, AzureStorageInfoValue]]
457
public_network_access: Optional[str]
458
459
class StringDictionary:
460
"""Dictionary of string key-value pairs."""
461
properties: Optional[Dict[str, str]]
462
463
class ConnectionStringDictionary:
464
"""Dictionary of connection strings with type information."""
465
properties: Optional[Dict[str, ConnStringValueTypePair]]
466
467
class ConnStringValueTypePair:
468
"""Connection string value and type pair."""
469
value: str
470
type: ConnectionStringType
471
472
class SiteAuthSettings:
473
"""Authentication settings for a web app."""
474
enabled: Optional[bool]
475
runtime_version: Optional[str]
476
config_version: Optional[str]
477
unauthenticated_client_action: Optional[UnauthenticatedClientAction]
478
token_store_enabled: Optional[bool]
479
allowed_external_redirect_urls: Optional[List[str]]
480
default_provider: Optional[BuiltInAuthenticationProvider]
481
token_refresh_extension_hours: Optional[float]
482
client_id: Optional[str]
483
client_secret: Optional[str]
484
client_secret_setting_name: Optional[str]
485
client_secret_certificate_thumbprint: Optional[str]
486
issuer: Optional[str]
487
validate_issuer: Optional[bool]
488
allowed_audiences: Optional[List[str]]
489
additional_login_params: Optional[List[str]]
490
aad_claims_authorization: Optional[str]
491
google_client_id: Optional[str]
492
google_client_secret: Optional[str]
493
google_client_secret_setting_name: Optional[str]
494
google_oauth_scopes: Optional[List[str]]
495
facebook_app_id: Optional[str]
496
facebook_app_secret: Optional[str]
497
facebook_app_secret_setting_name: Optional[str]
498
facebook_oauth_scopes: Optional[List[str]]
499
git_hub_client_id: Optional[str]
500
git_hub_client_secret: Optional[str]
501
git_hub_client_secret_setting_name: Optional[str]
502
git_hub_oauth_scopes: Optional[List[str]]
503
twitter_consumer_key: Optional[str]
504
twitter_consumer_secret: Optional[str]
505
twitter_consumer_secret_setting_name: Optional[str]
506
microsoft_account_client_id: Optional[str]
507
microsoft_account_client_secret: Optional[str]
508
microsoft_account_client_secret_setting_name: Optional[str]
509
microsoft_account_oauth_scopes: Optional[List[str]]
510
is_auth_from_file: Optional[str]
511
auth_file_path: Optional[str]
512
513
class SiteAuthSettingsV2:
514
"""V2 authentication settings for a web app."""
515
platform: Optional[AuthPlatform]
516
global_validation: Optional[GlobalValidation]
517
identity_providers: Optional[IdentityProviders]
518
login: Optional[Login]
519
http_settings: Optional[HttpSettings]
520
521
class NameValuePair:
522
"""Name-value pair for application settings."""
523
name: Optional[str]
524
value: Optional[str]
525
526
class ConnStringInfo:
527
"""Connection string information."""
528
name: Optional[str]
529
connection_string: Optional[str]
530
type: Optional[ConnectionStringType]
531
532
class IpSecurityRestriction:
533
"""IP security restriction rule."""
534
ip_address: Optional[str]
535
subnet_mask: Optional[str]
536
vnet_subnet_resource_id: Optional[str]
537
vnet_traffic_tag: Optional[int]
538
subnet_traffic_tag: Optional[int]
539
action: Optional[str]
540
tag: Optional[IpFilterTag]
541
priority: Optional[int]
542
name: Optional[str]
543
description: Optional[str]
544
headers: Optional[Dict[str, List[str]]]
545
```