1# coding: utf-8
2
3#-------------------------------------------------------------------------
4# Copyright (c) Microsoft Corporation. All rights reserved.
5# Licensed under the MIT License. See License.txt in the project root for
6# license information.
7#--------------------------------------------------------------------------
8
9
10# TEST SCENARIO COVERAGE
11# ----------------------
12# Methods Total   : 572
13# Methods Covered : 111
14# Examples Total  : 131
15# Examples Tested : 131
16# Coverage %      : 19
17# ----------------------
18
19# Current Operation Coverage:
20#   AppServiceCertificateOrders: 0/20
21#   CertificateRegistrationProvider: 1/1
22#   Domains: 1/15
23#   TopLevelDomains: 3/3
24#   DomainRegistrationProvider: 1/1
25#   Certificates: 6/6
26#   DeletedWebApps: 2/3
27#   Diagnostics: 22/22
28#   Provider: 1/3
29#   Recommendations: 0/15
30#   : 1/16
31#   WebApps: 33/372
32#   StaticSites: 26/26
33#   AppServiceEnvironments: 2/36
34#   AppServicePlans: 6/27
35#   ResourceHealthMetadata: 6/6
36
37import unittest
38
39import azure.mgmt.web
40from devtools_testutils import AzureMgmtTestCase, RandomNameResourceGroupPreparer
41
42AZURE_LOCATION = 'eastus'
43
44class MgmtWebSiteTest(AzureMgmtTestCase):
45
46    def setUp(self):
47        super(MgmtWebSiteTest, self).setUp()
48        self.mgmt_client = self.create_mgmt_client(
49            azure.mgmt.web.WebSiteManagementClient
50        )
51
52    @RandomNameResourceGroupPreparer(location=AZURE_LOCATION)
53    def test_web(self, resource_group):
54
55        SUBSCRIPTION_ID = self.settings.SUBSCRIPTION_ID
56        TENANT_ID = self.settings.TENANT_ID
57        RESOURCE_GROUP = resource_group.name
58        DOMAIN_NAME = "myDomain"
59        NAME = "my"
60        DELETED_SITE_ID = "myDeletedSiteId"
61        DETECTOR_NAME = "myDetector"
62        SITE_NAME = "mySite"
63        DIAGNOSTIC_CATEGORY = "myDiagnosticCategory"
64        ANALYSIS_NAME = "myAnalysis"
65        SLOT = "mySlot"
66        BASIC_PUBLISHING_CREDENTIALS_POLICY_NAME = "myBasicPublishingCredentialsPolicy"
67        CONFIG_NAME = "myConfig"
68        APP_SETTING_KEY = "myAppSettingKey"
69        INSTANCE_ID = "myInstanceId"
70        NETWORK_TRACE_NAME = "myNetworkTrace"
71        OPERATION_ID = "myOperationId"
72        PRIVATE_ENDPOINT_CONNECTION_NAME = "myPrivateEndpointConnection"
73        AUTHPROVIDER = "myAuthprovider"
74        USERID = "myUserid"
75        PR_ID = "myPrId"
76        RESOURCE_HEALTH_METADATA_NAME = "myResourceHealthMetadata"
77
78#--------------------------------------------------------------------------
79        # /AppServicePlans/put/Create Or Update App Service plan[put]
80#--------------------------------------------------------------------------
81        BODY = {
82          "kind": "app",
83          "location": AZURE_LOCATION,
84          "sku": {
85            "name": "P1",
86            "tier": "Premium",
87            "size": "P1",
88            "family": "P",
89            "capacity": "1"
90          }
91        }
92        result = self.mgmt_client.app_service_plans.begin_create_or_update(resource_group_name=RESOURCE_GROUP, name=NAME, app_service_plan=BODY)
93        result = result.result()
94
95#--------------------------------------------------------------------------
96        # /StaticSites/put/Create or update a static site[put]
97#--------------------------------------------------------------------------
98        BODY = {
99          "location": AZURE_LOCATION,
100          "sku": {
101            "name": "Basic",
102            "tier": "Basic"
103          },
104          "repository_url": "https://github.com/username/RepoName",
105          "branch": "master",
106          "repository_token": "repoToken123",
107          "build_properties": {
108            "app_location": "app",
109            "api_location": "api",
110            "app_artifact_location": "build"
111          }
112        }
113        result = self.mgmt_client.static_sites.create_or_update_static_site(resource_group_name=RESOURCE_GROUP, name=NAME, static_site_envelope=BODY)
114
115#--------------------------------------------------------------------------
116        # /Certificates/put/Create Or Update Certificate[put]
117#--------------------------------------------------------------------------
118        BODY = {
119          "location": AZURE_LOCATION,
120          "host_names": [
121            "ServerCert"
122          ],
123          "password": "SWsSsd__233$Sdsds#%Sd!"
124        }
125        result = self.mgmt_client.certificates.create_or_update(resource_group_name=RESOURCE_GROUP, name=NAME, certificate_envelope=BODY)
126
127#--------------------------------------------------------------------------
128        # /StaticSites/put/Creates or updates the function app settings of a static site.[put]
129#--------------------------------------------------------------------------
130        BODY = {
131          "setting1": "someval",
132          "setting2": "someval2"
133        }
134        result = self.mgmt_client.static_sites.create_or_update_static_site_function_app_settings(resource_group_name=RESOURCE_GROUP, name=NAME, config_name=CONFIG_NAME, app_settings=BODY)
135
136#--------------------------------------------------------------------------
137        # /StaticSites/put/Create or update a custom domain for a static site[put]
138#--------------------------------------------------------------------------
139        result = self.mgmt_client.static_sites.create_or_update_static_site_custom_domain(resource_group_name=RESOURCE_GROUP, name=NAME, domain_name=DOMAIN_NAME)
140
141#--------------------------------------------------------------------------
142        # /StaticSites/put/Creates or updates the function app settings of a static site build.[put]
143#--------------------------------------------------------------------------
144        BODY = {
145          "setting1": "someval",
146          "setting2": "someval2"
147        }
148        result = self.mgmt_client.static_sites.create_or_update_static_site_build_function_app_settings(resource_group_name=RESOURCE_GROUP, name=NAME, pr_id=PR_ID, config_name=CONFIG_NAME, app_settings=BODY)
149
150#--------------------------------------------------------------------------
151        # /WebApps/put/Approves or rejects a private endpoint connection for a site.[put]
152#--------------------------------------------------------------------------
153        BODY = {
154          "private_link_service_connection_state": {
155            "status": "Approved",
156            "description": "Approved by admin.",
157            "actions_required": ""
158          }
159        }
160        result = self.mgmt_client.web_apps.begin_approve_or_reject_private_endpoint_connection(resource_group_name=RESOURCE_GROUP, name=NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME, private_endpoint_wrapper=BODY)
161        result = result.result()
162
163#--------------------------------------------------------------------------
164        # /WebApps/put/Update SCM Allowed[put]
165#--------------------------------------------------------------------------
166        BODY = {
167          "allow": True
168        }
169        result = self.mgmt_client.web_apps.update_scm_allowed(resource_group_name=RESOURCE_GROUP, name=NAME, basic_publishing_credentials_policy_name=BASIC_PUBLISHING_CREDENTIALS_POLICY_NAME, csm_publishing_access_policies_entity=BODY)
170
171#--------------------------------------------------------------------------
172        # /WebApps/put/Update FTP Allowed[put]
173#--------------------------------------------------------------------------
174        BODY = {
175          "allow": True
176        }
177        result = self.mgmt_client.web_apps.update_ftp_allowed(resource_group_name=RESOURCE_GROUP, name=NAME, basic_publishing_credentials_policy_name=BASIC_PUBLISHING_CREDENTIALS_POLICY_NAME, csm_publishing_access_policies_entity=BODY)
178
179#--------------------------------------------------------------------------
180        # /WebApps/get/Get the current status of a network trace operation for a site[get]
181#--------------------------------------------------------------------------
182        result = self.mgmt_client.web_apps.get_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
183
184#--------------------------------------------------------------------------
185        # /Diagnostics/get/Get App Detector[get]
186#--------------------------------------------------------------------------
187        result = self.mgmt_client.diagnostics.get_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
188
189#--------------------------------------------------------------------------
190        # /Diagnostics/get/Get App Slot Detector[get]
191#--------------------------------------------------------------------------
192        result = self.mgmt_client.diagnostics.get_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
193
194#--------------------------------------------------------------------------
195        # /Diagnostics/get/Get App Analysis[get]
196#--------------------------------------------------------------------------
197        result = self.mgmt_client.diagnostics.get_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
198
199#--------------------------------------------------------------------------
200        # /Diagnostics/get/Get App Slot Analysis[get]
201#--------------------------------------------------------------------------
202        result = self.mgmt_client.diagnostics.get_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
203
204#--------------------------------------------------------------------------
205        # /WebApps/get/Get FTP Allowed[get]
206#--------------------------------------------------------------------------
207        result = self.mgmt_client.web_apps.get_ftp_allowed(resource_group_name=RESOURCE_GROUP, name=NAME, basic_publishing_credentials_policy_name=BASIC_PUBLISHING_CREDENTIALS_POLICY_NAME)
208
209#--------------------------------------------------------------------------
210        # /WebApps/get/Get SCM Allowed[get]
211#--------------------------------------------------------------------------
212        result = self.mgmt_client.web_apps.get_scm_allowed(resource_group_name=RESOURCE_GROUP, name=NAME, basic_publishing_credentials_policy_name=BASIC_PUBLISHING_CREDENTIALS_POLICY_NAME)
213
214#--------------------------------------------------------------------------
215        # /ResourceHealthMetadata/get/Get ResourceHealthMetadata[get]
216#--------------------------------------------------------------------------
217        result = self.mgmt_client.resource_health_metadata.get_by_site(resource_group_name=RESOURCE_GROUP, name=NAME, resource_health_metadata_name=RESOURCE_HEALTH_METADATA_NAME)
218
219#--------------------------------------------------------------------------
220        # /WebApps/get/Get the current status of a network trace operation for a site[get]
221#--------------------------------------------------------------------------
222        result = self.mgmt_client.web_apps.get_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
223
224#--------------------------------------------------------------------------
225        # /Diagnostics/get/Get App Detector[get]
226#--------------------------------------------------------------------------
227        result = self.mgmt_client.diagnostics.get_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
228
229#--------------------------------------------------------------------------
230        # /Diagnostics/get/Get App Slot Detector[get]
231#--------------------------------------------------------------------------
232        result = self.mgmt_client.diagnostics.get_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
233
234#--------------------------------------------------------------------------
235        # /Diagnostics/get/Get App Analysis[get]
236#--------------------------------------------------------------------------
237        result = self.mgmt_client.diagnostics.get_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
238
239#--------------------------------------------------------------------------
240        # /Diagnostics/get/Get App Slot Analysis[get]
241#--------------------------------------------------------------------------
242        result = self.mgmt_client.diagnostics.get_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
243
244#--------------------------------------------------------------------------
245        # /Diagnostics/get/List App Detectors[get]
246#--------------------------------------------------------------------------
247        result = self.mgmt_client.diagnostics.list_site_detectors(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
248
249#--------------------------------------------------------------------------
250        # /Diagnostics/get/List App Slot Detectors[get]
251#--------------------------------------------------------------------------
252        result = self.mgmt_client.diagnostics.list_site_detectors(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
253
254#--------------------------------------------------------------------------
255        # /Diagnostics/get/List App Analyses[get]
256#--------------------------------------------------------------------------
257        result = self.mgmt_client.diagnostics.list_site_analyses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
258
259#--------------------------------------------------------------------------
260        # /Diagnostics/get/List App Slot Analyses[get]
261#--------------------------------------------------------------------------
262        result = self.mgmt_client.diagnostics.list_site_analyses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
263
264#--------------------------------------------------------------------------
265        # /WebApps/get/Get the current status of a network trace operation for a site[get]
266#--------------------------------------------------------------------------
267        result = self.mgmt_client.web_apps.get_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
268
269#--------------------------------------------------------------------------
270        # /WebApps/get/Get a private endpoint connection for a site.[get]
271#--------------------------------------------------------------------------
272        result = self.mgmt_client.web_apps.get_private_endpoint_connection(resource_group_name=RESOURCE_GROUP, name=NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME)
273
274#--------------------------------------------------------------------------
275        # /Diagnostics/get/Get App Diagnostic Category[get]
276#--------------------------------------------------------------------------
277        result = self.mgmt_client.diagnostics.get_site_diagnostic_category(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
278
279#--------------------------------------------------------------------------
280        # /Diagnostics/get/Get App Slot Diagnostic Category[get]
281#--------------------------------------------------------------------------
282        result = self.mgmt_client.diagnostics.get_site_diagnostic_category(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
283
284#--------------------------------------------------------------------------
285        # /WebApps/get/Get Azure Key Vault app setting reference[get]
286#--------------------------------------------------------------------------
287        result = self.mgmt_client.web_apps.get_app_setting_key_vault_reference(resource_group_name=RESOURCE_GROUP, name=NAME, config_name=CONFIG_NAME, app_setting_key=APP_SETTING_KEY)
288
289#--------------------------------------------------------------------------
290        # /ResourceHealthMetadata/get/Get ResourceHealthMetadata[get]
291#--------------------------------------------------------------------------
292        result = self.mgmt_client.resource_health_metadata.get_by_site(resource_group_name=RESOURCE_GROUP, name=NAME, resource_health_metadata_name=RESOURCE_HEALTH_METADATA_NAME)
293
294#--------------------------------------------------------------------------
295        # /Diagnostics/get/List App Detectors[get]
296#--------------------------------------------------------------------------
297        result = self.mgmt_client.diagnostics.list_site_detectors(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
298
299#--------------------------------------------------------------------------
300        # /Diagnostics/get/List App Slot Detectors[get]
301#--------------------------------------------------------------------------
302        result = self.mgmt_client.diagnostics.list_site_detectors(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
303
304#--------------------------------------------------------------------------
305        # /Diagnostics/get/List App Analyses[get]
306#--------------------------------------------------------------------------
307        result = self.mgmt_client.diagnostics.list_site_analyses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
308
309#--------------------------------------------------------------------------
310        # /Diagnostics/get/List App Slot Analyses[get]
311#--------------------------------------------------------------------------
312        result = self.mgmt_client.diagnostics.list_site_analyses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
313
314#--------------------------------------------------------------------------
315        # /Diagnostics/get/Get App Detector Response[get]
316#--------------------------------------------------------------------------
317        result = self.mgmt_client.diagnostics.get_site_detector_response(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, detector_name=DETECTOR_NAME)
318
319#--------------------------------------------------------------------------
320        # /Diagnostics/get/Get App Slot Detector Response[get]
321#--------------------------------------------------------------------------
322        result = self.mgmt_client.diagnostics.get_site_detector_response(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, detector_name=DETECTOR_NAME)
323
324#--------------------------------------------------------------------------
325        # /WebApps/get/Get the current status of a network trace operation for a site[get]
326#--------------------------------------------------------------------------
327        result = self.mgmt_client.web_apps.get_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
328
329#--------------------------------------------------------------------------
330        # /AppServiceEnvironments/get/Get Outbound Network Dependencies Endpoints[get]
331#--------------------------------------------------------------------------
332        result = self.mgmt_client.app_service_environments.get_outbound_network_dependencies_endpoints(resource_group_name=RESOURCE_GROUP, name=NAME)
333
334#--------------------------------------------------------------------------
335        # /WebApps/get/Get NetworkTraces for a site[get]
336#--------------------------------------------------------------------------
337        result = self.mgmt_client.web_apps.get_network_traces(resource_group_name=RESOURCE_GROUP, name=NAME, operation_id=OPERATION_ID)
338
339#--------------------------------------------------------------------------
340        # /AppServiceEnvironments/get/Get Inbound Network Dependencies Endpoints[get]
341#--------------------------------------------------------------------------
342        result = self.mgmt_client.app_service_environments.get_inbound_network_dependencies_endpoints(resource_group_name=RESOURCE_GROUP, name=NAME)
343
344#--------------------------------------------------------------------------
345        # /WebApps/get/Get NetworkTraces for a site[get]
346#--------------------------------------------------------------------------
347        result = self.mgmt_client.web_apps.get_network_traces(resource_group_name=RESOURCE_GROUP, name=NAME, operation_id=OPERATION_ID)
348
349#--------------------------------------------------------------------------
350        # /WebApps/get/Get site instance info[get]
351#--------------------------------------------------------------------------
352        result = self.mgmt_client.web_apps.get_instance_info(resource_group_name=RESOURCE_GROUP, name=NAME, instance_id=INSTANCE_ID)
353
354#--------------------------------------------------------------------------
355        # /Diagnostics/get/Get App Service Environment Detector Responses[get]
356#--------------------------------------------------------------------------
357        result = self.mgmt_client.diagnostics.list_hosting_environment_detector_responses(resource_group_name=RESOURCE_GROUP, name=NAME)
358
359#--------------------------------------------------------------------------
360        # /Diagnostics/get/Get App Diagnostic Category[get]
361#--------------------------------------------------------------------------
362        result = self.mgmt_client.diagnostics.get_site_diagnostic_category(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
363
364#--------------------------------------------------------------------------
365        # /Diagnostics/get/Get App Slot Diagnostic Category[get]
366#--------------------------------------------------------------------------
367        result = self.mgmt_client.diagnostics.get_site_diagnostic_category(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY)
368
369#--------------------------------------------------------------------------
370        # /ResourceHealthMetadata/get/List ResourceHealthMetadata for a site[get]
371#--------------------------------------------------------------------------
372        result = self.mgmt_client.resource_health_metadata.list_by_site(resource_group_name=RESOURCE_GROUP, name=NAME)
373
374#--------------------------------------------------------------------------
375        # /WebApps/get/Get Azure Key Vault references for app settings[get]
376#--------------------------------------------------------------------------
377        result = self.mgmt_client.web_apps.get_app_settings_key_vault_references(resource_group_name=RESOURCE_GROUP, name=NAME, config_name=CONFIG_NAME)
378
379#--------------------------------------------------------------------------
380        # /Diagnostics/get/Get App Detector Response[get]
381#--------------------------------------------------------------------------
382        result = self.mgmt_client.diagnostics.get_site_detector_response(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, detector_name=DETECTOR_NAME)
383
384#--------------------------------------------------------------------------
385        # /Diagnostics/get/Get App Slot Detector Response[get]
386#--------------------------------------------------------------------------
387        result = self.mgmt_client.diagnostics.get_site_detector_response(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, detector_name=DETECTOR_NAME)
388
389#--------------------------------------------------------------------------
390        # /WebApps/get/List Publishing Credentials Policies[get]
391#--------------------------------------------------------------------------
392        result = self.mgmt_client.web_apps.get_basic_publishing_credentials_policies(resource_group_name=RESOURCE_GROUP, name=NAME)
393
394#--------------------------------------------------------------------------
395        # /StaticSites/get/Gets the functions of a particular static site build[get]
396#--------------------------------------------------------------------------
397        result = self.mgmt_client.static_sites.list_static_site_build_functions(resource_group_name=RESOURCE_GROUP, name=NAME, pr_id=PR_ID)
398
399#--------------------------------------------------------------------------
400        # /Diagnostics/get/List App Diagnostic Categories[get]
401#--------------------------------------------------------------------------
402        result = self.mgmt_client.diagnostics.list_site_diagnostic_categories(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
403
404#--------------------------------------------------------------------------
405        # /Diagnostics/get/List App Slot Diagnostic Categories[get]
406#--------------------------------------------------------------------------
407        result = self.mgmt_client.diagnostics.list_site_diagnostic_categories(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
408
409#--------------------------------------------------------------------------
410        # /WebApps/get/Get NetworkTraces for a site[get]
411#--------------------------------------------------------------------------
412        result = self.mgmt_client.web_apps.get_network_traces(resource_group_name=RESOURCE_GROUP, name=NAME, operation_id=OPERATION_ID)
413
414#--------------------------------------------------------------------------
415        # /Diagnostics/get/Get App Detector Responses[get]
416#--------------------------------------------------------------------------
417        result = self.mgmt_client.diagnostics.list_site_detector_responses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
418
419#--------------------------------------------------------------------------
420        # /Diagnostics/get/Get App Slot Detector Responses[get]
421#--------------------------------------------------------------------------
422        result = self.mgmt_client.diagnostics.list_site_detector_responses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
423
424#--------------------------------------------------------------------------
425        # /WebApps/get/Get NetworkTraces for a site[get]
426#--------------------------------------------------------------------------
427        result = self.mgmt_client.web_apps.get_network_traces(resource_group_name=RESOURCE_GROUP, name=NAME, operation_id=OPERATION_ID)
428
429#--------------------------------------------------------------------------
430        # /WebApps/get/Get site instance info[get]
431#--------------------------------------------------------------------------
432        result = self.mgmt_client.web_apps.get_instance_info(resource_group_name=RESOURCE_GROUP, name=NAME, instance_id=INSTANCE_ID)
433
434#--------------------------------------------------------------------------
435        # /StaticSites/get/Get a static site build[get]
436#--------------------------------------------------------------------------
437        result = self.mgmt_client.static_sites.get_static_site_build(resource_group_name=RESOURCE_GROUP, name=NAME, pr_id=PR_ID)
438
439#--------------------------------------------------------------------------
440        # /Diagnostics/get/Get App Service Environment Detector Responses[get]
441#--------------------------------------------------------------------------
442        result = self.mgmt_client.diagnostics.list_hosting_environment_detector_responses(resource_group_name=RESOURCE_GROUP, name=NAME)
443
444#--------------------------------------------------------------------------
445        # /ResourceHealthMetadata/get/List ResourceHealthMetadata for a site[get]
446#--------------------------------------------------------------------------
447        result = self.mgmt_client.resource_health_metadata.list_by_site(resource_group_name=RESOURCE_GROUP, name=NAME)
448
449#--------------------------------------------------------------------------
450        # /WebApps/get/Get private link resources of a site[get]
451#--------------------------------------------------------------------------
452        result = self.mgmt_client.web_apps.get_private_link_resources(resource_group_name=RESOURCE_GROUP, name=NAME)
453
454#--------------------------------------------------------------------------
455        # /StaticSites/get/List custom domains for a static site[get]
456#--------------------------------------------------------------------------
457        result = self.mgmt_client.static_sites.list_static_site_custom_domains(resource_group_name=RESOURCE_GROUP, name=NAME)
458
459#--------------------------------------------------------------------------
460        # /Diagnostics/get/List App Diagnostic Categories[get]
461#--------------------------------------------------------------------------
462        result = self.mgmt_client.diagnostics.list_site_diagnostic_categories(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
463
464#--------------------------------------------------------------------------
465        # /Diagnostics/get/List App Slot Diagnostic Categories[get]
466#--------------------------------------------------------------------------
467        result = self.mgmt_client.diagnostics.list_site_diagnostic_categories(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
468
469#--------------------------------------------------------------------------
470        # /StaticSites/get/Gets the functions of a static site[get]
471#--------------------------------------------------------------------------
472        result = self.mgmt_client.static_sites.list_static_site_functions(resource_group_name=RESOURCE_GROUP, name=NAME)
473
474#--------------------------------------------------------------------------
475        # /Diagnostics/get/Get App Detector Responses[get]
476#--------------------------------------------------------------------------
477        result = self.mgmt_client.diagnostics.list_site_detector_responses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
478
479#--------------------------------------------------------------------------
480        # /Diagnostics/get/Get App Slot Detector Responses[get]
481#--------------------------------------------------------------------------
482        result = self.mgmt_client.diagnostics.list_site_detector_responses(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME)
483
484#--------------------------------------------------------------------------
485        # /DeletedWebApps/get/Get Deleted Web App by Location[get]
486#--------------------------------------------------------------------------
487        result = self.mgmt_client.deleted_web_apps.get_deleted_web_app_by_location(azure_location=AZURE_LOCATION, deleted_site_id=DELETED_SITE_ID)
488
489#--------------------------------------------------------------------------
490        # /StaticSites/get/Get all builds for a static site[get]
491#--------------------------------------------------------------------------
492        result = self.mgmt_client.static_sites.get_static_site_builds(resource_group_name=RESOURCE_GROUP, name=NAME)
493
494#--------------------------------------------------------------------------
495        # /Certificates/get/Get Certificate[get]
496#--------------------------------------------------------------------------
497        result = self.mgmt_client.certificates.get(resource_group_name=RESOURCE_GROUP, name=NAME)
498
499#--------------------------------------------------------------------------
500        # /StaticSites/get/Get details for a static site[get]
501#--------------------------------------------------------------------------
502        result = self.mgmt_client.static_sites.get_static_site(resource_group_name=RESOURCE_GROUP, name=NAME)
503
504#--------------------------------------------------------------------------
505        # /AppServicePlans/get/Get App Service plan[get]
506#--------------------------------------------------------------------------
507        result = self.mgmt_client.app_service_plans.get(resource_group_name=RESOURCE_GROUP, name=NAME)
508
509#--------------------------------------------------------------------------
510        # /ResourceHealthMetadata/get/List ResourceHealthMetadata for a resource group[get]
511#--------------------------------------------------------------------------
512        result = self.mgmt_client.resource_health_metadata.list_by_resource_group(resource_group_name=RESOURCE_GROUP)
513
514#--------------------------------------------------------------------------
515        # /Certificates/get/List Certificates by resource group[get]
516#--------------------------------------------------------------------------
517        result = self.mgmt_client.certificates.list_by_resource_group(resource_group_name=RESOURCE_GROUP)
518
519#--------------------------------------------------------------------------
520        # /StaticSites/get/Get static sites for a resource group[get]
521#--------------------------------------------------------------------------
522        result = self.mgmt_client.static_sites.get_static_sites_by_resource_group(resource_group_name=RESOURCE_GROUP)
523
524#--------------------------------------------------------------------------
525        # /AppServicePlans/get/List App Service plans by resource group[get]
526#--------------------------------------------------------------------------
527        result = self.mgmt_client.app_service_plans.list_by_resource_group(resource_group_name=RESOURCE_GROUP)
528
529#--------------------------------------------------------------------------
530        # /DeletedWebApps/get/List Deleted Web App by Location[get]
531#--------------------------------------------------------------------------
532        result = self.mgmt_client.deleted_web_apps.list_by_location(azure_location=AZURE_LOCATION)
533
534#--------------------------------------------------------------------------
535        # /TopLevelDomains/get/Get Top Level Domain[get]
536#--------------------------------------------------------------------------
537        result = self.mgmt_client.top_level_domains.get(name=NAME)
538
539#--------------------------------------------------------------------------
540        # /TopLevelDomains/get/List Top Level Domains[get]
541#--------------------------------------------------------------------------
542        result = self.mgmt_client.top_level_domains.list()
543
544#--------------------------------------------------------------------------
545        # /ResourceHealthMetadata/get/List ResourceHealthMetadata for a subscription[get]
546#--------------------------------------------------------------------------
547        result = self.mgmt_client.resource_health_metadata.list()
548
549#--------------------------------------------------------------------------
550        # /Certificates/get/List Certificates for subscription[get]
551#--------------------------------------------------------------------------
552        result = self.mgmt_client.certificates.list()
553
554#--------------------------------------------------------------------------
555        # /StaticSites/get/Get all static sites in a subscription[get]
556#--------------------------------------------------------------------------
557        result = self.mgmt_client.static_sites.list()
558
559#--------------------------------------------------------------------------
560        # /AppServicePlans/get/List App Service plans[get]
561#--------------------------------------------------------------------------
562        result = self.mgmt_client.app_service_plans.list()
563
564#--------------------------------------------------------------------------
565        # /CertificateRegistrationProvider/get/List operations[get]
566#--------------------------------------------------------------------------
567        result = self.mgmt_client.certificate_registration_provider.list_operations()
568
569#--------------------------------------------------------------------------
570        # /DomainRegistrationProvider/get/List operations[get]
571#--------------------------------------------------------------------------
572        result = self.mgmt_client.domain_registration_provider.list_operations()
573
574#--------------------------------------------------------------------------
575        # /Provider/get/List operations[get]
576#--------------------------------------------------------------------------
577        result = self.mgmt_client.provider.list_operations()
578
579#--------------------------------------------------------------------------
580        # /Diagnostics/post/Execute site detector[post]
581#--------------------------------------------------------------------------
582        result = self.mgmt_client.diagnostics.execute_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
583
584#--------------------------------------------------------------------------
585        # /Diagnostics/post/Execute site slot detector[post]
586#--------------------------------------------------------------------------
587        result = self.mgmt_client.diagnostics.execute_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
588
589#--------------------------------------------------------------------------
590        # /Diagnostics/post/Execute site slot analysis[post]
591#--------------------------------------------------------------------------
592        result = self.mgmt_client.diagnostics.execute_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
593
594#--------------------------------------------------------------------------
595        # /Diagnostics/post/Execute site analysis[post]
596#--------------------------------------------------------------------------
597        result = self.mgmt_client.diagnostics.execute_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
598
599#--------------------------------------------------------------------------
600        # /Diagnostics/post/Execute site detector[post]
601#--------------------------------------------------------------------------
602        result = self.mgmt_client.diagnostics.execute_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
603
604#--------------------------------------------------------------------------
605        # /Diagnostics/post/Execute site slot detector[post]
606#--------------------------------------------------------------------------
607        result = self.mgmt_client.diagnostics.execute_site_detector(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, detector_name=DETECTOR_NAME)
608
609#--------------------------------------------------------------------------
610        # /Diagnostics/post/Execute site slot analysis[post]
611#--------------------------------------------------------------------------
612        result = self.mgmt_client.diagnostics.execute_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
613
614#--------------------------------------------------------------------------
615        # /Diagnostics/post/Execute site analysis[post]
616#--------------------------------------------------------------------------
617        result = self.mgmt_client.diagnostics.execute_site_analysis(resource_group_name=RESOURCE_GROUP, site_name=SITE_NAME, diagnostic_category=DIAGNOSTIC_CATEGORY, analysis_name=ANALYSIS_NAME)
618
619#--------------------------------------------------------------------------
620        # /StaticSites/patch/Create or update a user for a static site[patch]
621#--------------------------------------------------------------------------
622        BODY = {
623          "roles": "contributor"
624        }
625        result = self.mgmt_client.static_sites.update_static_site_user(resource_group_name=RESOURCE_GROUP, name=NAME, authprovider=AUTHPROVIDER, userid=USERID, static_site_user_envelope=BODY)
626
627#--------------------------------------------------------------------------
628        # /WebApps/post/Start a new network trace operation for a site[post]
629#--------------------------------------------------------------------------
630        result = self.mgmt_client.web_apps.begin_start_web_site_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME, duration_in_seconds="60")
631        result = result.result()
632
633#--------------------------------------------------------------------------
634        # /WebApps/post/Stop a currently running network trace operation for a site[post]
635#--------------------------------------------------------------------------
636        result = self.mgmt_client.web_apps.stop_web_site_network_trace(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
637
638#--------------------------------------------------------------------------
639        # /StaticSites/post/List users for a static site[post]
640#--------------------------------------------------------------------------
641        result = self.mgmt_client.static_sites.list_static_site_users(resource_group_name=RESOURCE_GROUP, name=NAME, authprovider=AUTHPROVIDER)
642
643#--------------------------------------------------------------------------
644        # /StaticSites/post/Get function app settings of a static site build[post]
645#--------------------------------------------------------------------------
646        result = self.mgmt_client.static_sites.list_static_site_build_function_app_settings(resource_group_name=RESOURCE_GROUP, name=NAME, pr_id=PR_ID)
647
648#--------------------------------------------------------------------------
649        # /StaticSites/post/Validate a custom domain for a static site[post]
650#--------------------------------------------------------------------------
651        result = self.mgmt_client.static_sites.validate_custom_domain_can_be_added_to_static_site(resource_group_name=RESOURCE_GROUP, name=NAME, domain_name=DOMAIN_NAME)
652
653#--------------------------------------------------------------------------
654        # /WebApps/post/Start a new network trace operation for a site[post]
655#--------------------------------------------------------------------------
656        result = self.mgmt_client.web_apps.begin_start_web_site_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME, duration_in_seconds="60")
657        result = result.result()
658
659#--------------------------------------------------------------------------
660        # /WebApps/post/Stop a currently running network trace operation for a site[post]
661#--------------------------------------------------------------------------
662        result = self.mgmt_client.web_apps.stop_web_site_network_trace(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
663
664#--------------------------------------------------------------------------
665        # /WebApps/post/Start a new network trace operation for a site[post]
666#--------------------------------------------------------------------------
667        result = self.mgmt_client.web_apps.begin_start_web_site_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME, duration_in_seconds="60")
668        result = result.result()
669
670#--------------------------------------------------------------------------
671        # /WebApps/post/Stop a currently running network trace operation for a site[post]
672#--------------------------------------------------------------------------
673        result = self.mgmt_client.web_apps.stop_web_site_network_trace(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
674
675#--------------------------------------------------------------------------
676        # /Domains/post/Renew an existing domain[post]
677#--------------------------------------------------------------------------
678        result = self.mgmt_client.domains.renew(resource_group_name=RESOURCE_GROUP, domain_name=DOMAIN_NAME)
679
680#--------------------------------------------------------------------------
681        # /StaticSites/post/Get function app settings of a static site[post]
682#--------------------------------------------------------------------------
683        result = self.mgmt_client.static_sites.list_static_site_function_app_settings(resource_group_name=RESOURCE_GROUP, name=NAME)
684
685#--------------------------------------------------------------------------
686        # /WebApps/post/List backups[post]
687#--------------------------------------------------------------------------
688        result = self.mgmt_client.web_apps.list_site_backups(resource_group_name=RESOURCE_GROUP, name=NAME)
689
690#--------------------------------------------------------------------------
691        # /StaticSites/post/Create an invitation link for a user for a static site[post]
692#--------------------------------------------------------------------------
693        BODY = {
694          "domain": "happy-sea-15afae3e.azurestaticwebsites.net",
695          "provider": "aad",
696          "user_details": "username",
697          "roles": "admin,contributor",
698          "num_hours_to_expiration": "1"
699        }
700        result = self.mgmt_client.static_sites.create_user_roles_invitation_link(resource_group_name=RESOURCE_GROUP, name=NAME, static_site_user_roles_invitation_envelope=BODY)
701
702#--------------------------------------------------------------------------
703        # /WebApps/post/Copy slot[post]
704#--------------------------------------------------------------------------
705        BODY = {
706          "target_slot": "staging",
707          "site_config": {
708            "number_of_workers": "1",
709            "http_logging_enabled": True
710          }
711        }
712        result = self.mgmt_client.web_apps.begin_copy_production_slot(resource_group_name=RESOURCE_GROUP, name=NAME, copy_slot_entity=BODY)
713        result = result.result()
714
715#--------------------------------------------------------------------------
716        # /WebApps/post/Start a new network trace operation for a site[post]
717#--------------------------------------------------------------------------
718        result = self.mgmt_client.web_apps.begin_start_web_site_network_trace_operation(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME, duration_in_seconds="60")
719        result = result.result()
720
721#--------------------------------------------------------------------------
722        # /StaticSites/post/List secrets for a static site[post]
723#--------------------------------------------------------------------------
724        result = self.mgmt_client.static_sites.list_static_site_secrets(resource_group_name=RESOURCE_GROUP, name=NAME)
725
726#--------------------------------------------------------------------------
727        # /StaticSites/post/Reset the api key for a static site[post]
728#--------------------------------------------------------------------------
729        BODY = {
730          "should_update_repository": True,
731          "repository_token": "repoToken123"
732        }
733        result = self.mgmt_client.static_sites.reset_static_site_api_key(resource_group_name=RESOURCE_GROUP, name=NAME, reset_properties_envelope=BODY)
734
735#--------------------------------------------------------------------------
736        # /WebApps/post/Stop a currently running network trace operation for a site[post]
737#--------------------------------------------------------------------------
738        result = self.mgmt_client.web_apps.stop_web_site_network_trace(resource_group_name=RESOURCE_GROUP, name=NAME, network_trace_name=NETWORK_TRACE_NAME)
739
740#--------------------------------------------------------------------------
741        # /StaticSites/post/Detach a static site[post]
742#--------------------------------------------------------------------------
743        result = self.mgmt_client.static_sites.detach_static_site(resource_group_name=RESOURCE_GROUP, name=NAME)
744
745#--------------------------------------------------------------------------
746        # /WebApps/post/List backups[post]
747#--------------------------------------------------------------------------
748        result = self.mgmt_client.web_apps.list_site_backups(resource_group_name=RESOURCE_GROUP, name=NAME)
749
750#--------------------------------------------------------------------------
751        # /WebApps/post/Copy slot[post]
752#--------------------------------------------------------------------------
753        BODY = {
754          "target_slot": "staging",
755          "site_config": {
756            "number_of_workers": "1",
757            "http_logging_enabled": True
758          }
759        }
760        result = self.mgmt_client.web_apps.begin_copy_production_slot(resource_group_name=RESOURCE_GROUP, name=NAME, copy_slot_entity=BODY)
761        result = result.result()
762
763#--------------------------------------------------------------------------
764        # /Certificates/patch/Patch Certificate[patch]
765#--------------------------------------------------------------------------
766        BODY = {
767          "password": "SWsSsd__233$Sdsds#%Sd!"
768        }
769        result = self.mgmt_client.certificates.update(resource_group_name=RESOURCE_GROUP, name=NAME, certificate_envelope=BODY)
770
771#--------------------------------------------------------------------------
772        # /StaticSites/patch/Patch a static site[patch]
773#--------------------------------------------------------------------------
774        BODY = {}
775        result = self.mgmt_client.static_sites.update_static_site(resource_group_name=RESOURCE_GROUP, name=NAME, static_site_envelope=BODY)
776
777#--------------------------------------------------------------------------
778        # /AppServicePlans/patch/Patch Service plan[patch]
779#--------------------------------------------------------------------------
780        BODY = {
781          "kind": "app"
782        }
783        result = self.mgmt_client.app_service_plans.update(resource_group_name=RESOURCE_GROUP, name=NAME, app_service_plan=BODY)
784
785#--------------------------------------------------------------------------
786        # /TopLevelDomains/post/List Top Level Domain Agreements[post]
787#--------------------------------------------------------------------------
788        BODY = {
789          "include_privacy": True,
790          "for_transfer": False
791        }
792        result = self.mgmt_client.top_level_domains.list_agreements(name=NAME, agreement_option=BODY)
793
794#--------------------------------------------------------------------------
795        # //post/VerifyHostingEnvironmentVnet[post]
796#--------------------------------------------------------------------------
797        BODY = {
798          "vnet_resource_group": "vNet123rg",
799          "vnet_name": "vNet123",
800          "vnet_subnet_name": "vNet123SubNet"
801        }
802        result = self.mgmt_client.verify_hosting_environment_vnet(parameters=BODY)
803
804#--------------------------------------------------------------------------
805        # /WebApps/delete/Delete a private endpoint connection for a site.[delete]
806#--------------------------------------------------------------------------
807        result = self.mgmt_client.web_apps.begin_delete_private_endpoint_connection(resource_group_name=RESOURCE_GROUP, name=NAME, private_endpoint_connection_name=PRIVATE_ENDPOINT_CONNECTION_NAME)
808        result = result.result()
809
810#--------------------------------------------------------------------------
811        # /StaticSites/delete/Delete a user for a static site[delete]
812#--------------------------------------------------------------------------
813        result = self.mgmt_client.static_sites.delete_static_site_user(resource_group_name=RESOURCE_GROUP, name=NAME, authprovider=AUTHPROVIDER, userid=USERID)
814
815#--------------------------------------------------------------------------
816        # /StaticSites/delete/Delete a custom domain for a static site[delete]
817#--------------------------------------------------------------------------
818        result = self.mgmt_client.static_sites.delete_static_site_custom_domain(resource_group_name=RESOURCE_GROUP, name=NAME, domain_name=DOMAIN_NAME)
819
820#--------------------------------------------------------------------------
821        # /StaticSites/delete/Delete a static site build[delete]
822#--------------------------------------------------------------------------
823        result = self.mgmt_client.static_sites.delete_static_site_build(resource_group_name=RESOURCE_GROUP, name=NAME, pr_id=PR_ID)
824
825#--------------------------------------------------------------------------
826        # /Certificates/delete/Delete Certificate[delete]
827#--------------------------------------------------------------------------
828        result = self.mgmt_client.certificates.delete(resource_group_name=RESOURCE_GROUP, name=NAME)
829
830#--------------------------------------------------------------------------
831        # /StaticSites/delete/Delete a static site[delete]
832#--------------------------------------------------------------------------
833        result = self.mgmt_client.static_sites.delete_static_site(resource_group_name=RESOURCE_GROUP, name=NAME)
834
835#--------------------------------------------------------------------------
836        # /AppServicePlans/delete/Delete App Service plan[delete]
837#--------------------------------------------------------------------------
838        result = self.mgmt_client.app_service_plans.delete(resource_group_name=RESOURCE_GROUP, name=NAME)
839
840
841#------------------------------------------------------------------------------
842if __name__ == '__main__':
843    unittest.main()
844