Permalink
Switch branches/tags
OutputFolder amolr/apiversion apiversion binlu/azurestackenv cognitiveservices daschult/regenerateTask daschult/updateReadmes dend-patch-1 dend-patch-2 dend-patch-3 dend-patch-4 feature/sp_auth_keyvault gh-pages jsdoc keyvault master regtests restapi_auto_Network-2018-04-01 restapi_auto_Network-2018-05-01 restapi_auto_Network-2018-06-01 restapi_auto_Network-August-Release restapi_auto_Network-July-Release restapi_auto_Network-September-Release restapi_auto_Remove-required-from-readonly restapi_auto_TEST-BRANCH restapi_auto_TESTTESTTEST-sql-Microsoft.Sql-2020-20-20 restapi_auto_advisor/resource-manager restapi_auto_amarzavery-patch-1 restapi_auto_analysisservices/resource-manager restapi_auto_apimanagement/resource-manager restapi_auto_applicationinsights/data-plane restapi_auto_applicationinsights/resource-manager restapi_auto_assafi/ta_v2.1 restapi_auto_authorization/resource-manager restapi_auto_automation/resource-manager restapi_auto_azurestack/resource-manager restapi_auto_batch/data-plane restapi_auto_batch/resource-manager restapi_auto_batchai/resource-manager restapi_auto_bestthingever-devtestlabs-Microsoft.DevTestLab-2020-11-12 restapi_auto_billing/resource-manager restapi_auto_billytrend-patch-1 restapi_auto_billytrend-patch-2 restapi_auto_cdn/resource-manager restapi_auto_cognitiveservices/data-plane/AutoSuggest restapi_auto_cognitiveservices/data-plane/ComputerVision restapi_auto_cognitiveservices/data-plane/ContentModerator restapi_auto_cognitiveservices/data-plane/CustomVision/Training restapi_auto_cognitiveservices/data-plane/EntitySearch restapi_auto_cognitiveservices/data-plane/Face restapi_auto_cognitiveservices/data-plane/ImageSearch restapi_auto_cognitiveservices/data-plane/LUIS/Authoring restapi_auto_cognitiveservices/data-plane/NewsSearch restapi_auto_cognitiveservices/data-plane/QnAMaker restapi_auto_cognitiveservices/data-plane/TextAnalytics restapi_auto_cognitiveservices/data-plane/VisualSearch restapi_auto_cognitiveservices/resource-manager restapi_auto_commerce/resource-manager restapi_auto_compute/resource-manager restapi_auto_consumption/resource-manager restapi_auto_containerinstance/resource-manager restapi_auto_containerregistry/resource-manager restapi_auto_containerservices/resource-manager restapi_auto_cosmos-db/resource-manager restapi_auto_customer-insights/resource-manager restapi_auto_daschult/ChangeIOTCentralFolder restapi_auto_daschult/FixAllNodeJsReadmes restapi_auto_daschult/MonitorNodejsReadme restapi_auto_daschult/UpdateEventGridPackageVersion restapi_auto_daschult/apimanagement restapi_auto_daschult/applicationinsights restapi_auto_daschult/authorization restapi_auto_daschult/automation restapi_auto_daschult/autosuggest restapi_auto_daschult/azure restapi_auto_daschult/batch restapi_auto_daschult/batchai restapi_auto_daschult/cdn restapi_auto_daschult/cognitiveservices restapi_auto_daschult/compute restapi_auto_daschult/computerVision restapi_auto_daschult/consumption restapi_auto_daschult/containerinstance restapi_auto_daschult/containerregistry restapi_auto_daschult/containerservice restapi_auto_daschult/contentmoderator restapi_auto_daschult/cosmosdb restapi_auto_daschult/customVision restapi_auto_daschult/customimagesearch restapi_auto_daschult/dataLakeAnalyticsDataPlane restapi_auto_daschult/databox restapi_auto_daschult/datafactory restapi_auto_daschult/deploymentmanager restapi_auto_daschult/dns restapi_auto_daschult/dnsTypeScript restapi_auto_daschult/eventgrid restapi_auto_daschult/eventhub restapi_auto_daschult/face restapi_auto_daschult/frontdoor restapi_auto_daschult/graph restapi_auto_daschult/hdinsight restapi_auto_daschult/iothub restapi_auto_daschult/iothubs restapi_auto_daschult/keyvault/data-plane restapi_auto_daschult/localsearch restapi_auto_daschult/loganalytics restapi_auto_daschult/logic restapi_auto_daschult/machinelearning restapi_auto_daschult/mariadb restapi_auto_daschult/monitor restapi_auto_daschult/mysql restapi_auto_daschult/network restapi_auto_daschult/notificationhubs restapi_auto_daschult/operations restapi_auto_daschult/postgresql restapi_auto_daschult/qnamaker restapi_auto_daschult/recoveryservicesbackup restapi_auto_daschult/removePackageVersion restapi_auto_daschult/resource restapi_auto_daschult/resourcehealth restapi_auto_daschult/resources restapi_auto_daschult/search restapi_auto_daschult/servicefabricdataplane restapi_auto_daschult/signalr restapi_auto_daschult/siterecovery restapi_auto_daschult/spellcheck restapi_auto_daschult/sql restapi_auto_daschult/storage restapi_auto_daschult/storageimportexport restapi_auto_daschult/storagesync restapi_auto_daschult/storsimple1200series restapi_auto_daschult/storsimple8000series restapi_auto_daschult/streamanalytics restapi_auto_daschult/subscriptions restapi_auto_daschult/timeseriesinsights restapi_auto_daschult/trafficmanager restapi_auto_daschult/visualstudio restapi_auto_daschult/web restapi_auto_databox/resource-manager restapi_auto_datacatalog/resource-manager restapi_auto_datafactory/resource-manager restapi_auto_datalake-store/data-plane restapi_auto_datamigration/resource-manager restapi_auto_december-network-release restapi_auto_deiwdeork-Microsoft.Network-2222-01-02 restapi_auto_demoday restapi_auto_demoday3 restapi_auto_demotoday restapi_auto_deploymentmanager/resource-manager restapi_auto_dev-adhybridhealthservice-Microsoft.ADHybridHealthService-2014-01-01 restapi_auto_dev-analysisservices-Microsoft.AnalysisServices-3124-23-23 restapi_auto_dev-authorization-Microsoft.Authorization-2019-10-01 restapi_auto_dev-automation-Microsoft.Automation-3123-32-32 restapi_auto_dev-cdn-Microsoft.Cdn-2020-11-11 restapi_auto_dev-cdn-Microsoft.Cdn-2025-01-09 restapi_auto_dev-cognitiveservices-Microsoft.CognitiveServices-2020-03-01 restapi_auto_dev-compute-Microsoft.Compute-2018-08-09 restapi_auto_dev-compute-Microsoft.Compute-2018-09-11 restapi_auto_dev-databox-Microsoft.DataBox-2018-90-90-TEST restapi_auto_dev-datalake-store-Microsoft.DataLakeStore-2222-11-03 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2010-11-12 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2015-05-22-preview restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2018-44-15 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2019-07-14 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2019-10-01 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2020-11-11 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2022-22-19 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2022-22-20 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2025-01-02 restapi_auto_dev-devtestlabs-Microsoft.DevTestLab-2025-23-11 restapi_auto_dev-mediaservices-Microsoft.Media-2018-07-01 restapi_auto_dev-network-Microsoft.Network-2018-06-01 restapi_auto_dev-network-Microsoft.Network-2018-07-01 restapi_auto_dev-network-Microsoft.Network-2018-10-01 restapi_auto_dev-recoveryservices-Microsoft.RecoveryServices-2016-06-01-TEST restapi_auto_dev-servicefabric-Microsoft.ServiceFabric-6.4 restapi_auto_dev-web-Microsoft.Web-2051-04-04 restapi_auto_dev-web-Microsoft.Web-ANT79 restapi_auto_deviceprovisioningservices/resource-manager restapi_auto_devtestlabs/resource-manager restapi_auto_dns/resource-manager restapi_auto_engagementfabric/resource-manager restapi_auto_eventgrid/data-plane restapi_auto_eventgrid/resource-manager restapi_auto_eventhub/resource-manager restapi_auto_frontdoor/resource-manager restapi_auto_generated/applicationinsights-2018-10-10-2 restapi_auto_generated/applicationinsights-2018-10-10-810 restapi_auto_generated/azurestack-2018-10-10-101 restapi_auto_generated/billing-2018-10-10-280 restapi_auto_generated/cognitiveservices-2018-10-10-786 restapi_auto_generated/cognitiveservices-2018-10-18-108 restapi_auto_generated/cognitiveservices-2018-10-18-147 restapi_auto_generated/cognitiveservices-2018-10-18-160 restapi_auto_generated/cognitiveservices-2018-10-18-165 restapi_auto_generated/cognitiveservices-2018-10-18-234 restapi_auto_generated/cognitiveservices-2018-10-18-301 restapi_auto_generated/cognitiveservices-2018-10-18-318 restapi_auto_generated/cognitiveservices-2018-10-18-382 restapi_auto_generated/cognitiveservices-2018-10-18-400 restapi_auto_generated/cognitiveservices-2018-10-18-404 restapi_auto_generated/cognitiveservices-2018-10-18-521 restapi_auto_generated/cognitiveservices-2018-10-18-727 restapi_auto_generated/cognitiveservices-2018-10-18-768 restapi_auto_generated/cognitiveservices-2018-10-18-779 restapi_auto_generated/cognitiveservices-2018-10-18-781 restapi_auto_generated/cognitiveservices-2018-10-18-815 restapi_auto_generated/cognitiveservices-2018-10-18-934 restapi_auto_generated/commerce-2018-10-10-554 restapi_auto_generated/customer-insights-2018-10-11-698 restapi_auto_generated/databox-2018-10-11-500 restapi_auto_generated/databricks-2018-10-11-336 restapi_auto_generated/datacatalog-2018-10-11-539 restapi_auto_generated/datamigration-2018-10-11-315 restapi_auto_generated/deviceprovisioningservices-2018-10-11-188 restapi_auto_generated/devspaces-2018-10-11-364 restapi_auto_generated/devtestlabs-2018-10-11-984 restapi_auto_generated/frontdoor-2018-10-11-292 restapi_auto_generated/graphrbac-2018-10-11-324 restapi_auto_generated/hanaonazure-2018-10-11-62 restapi_auto_generated/iothub-2018-10-11-256 restapi_auto_generated/iotspaces-2018-10-11-72 restapi_auto_generated/machinelearningcompute-2018-10-11-886 restapi_auto_generated/machinelearningexperimentation-2018-10-11-673 restapi_auto_generated/machinelearningservices-2018-10-11-440 restapi_auto_generated/managementgroups-2018-10-11-86 restapi_auto_generated/managementpartner-2018-10-11-324 restapi_auto_generated/maps-2018-10-10-705 restapi_auto_generated/maps-2018-10-11-16 restapi_auto_generated/maps-2018-10-11-837 restapi_auto_generated/mariadb-2018-10-11-202 restapi_auto_generated/marketplaceordering-2018-10-11-209 restapi_auto_generated/migrate-2018-10-11-148 restapi_auto_generated/msi-2018-10-10-602 restapi_auto_generated/mysql-2018-10-11-260 restapi_auto_generated/notificationhubs-2018-10-11-790 restapi_auto_generated/operationalinsights-2018-10-11-792 restapi_auto_generated/policyinsights-2018-10-11-124 restapi_auto_generated/postgresql-2018-10-11-35 restapi_auto_generated/powerbidedicated-2018-10-11-4 restapi_auto_generated/powerbiembedded-2018-10-11-9 restapi_auto_generated/recoveryservices-2018-10-11-433 restapi_auto_generated/relay-2018-10-12-256 restapi_auto_generated/reservations-2018-10-12-301 restapi_auto_generated/resourcehealth-2018-10-12-698 restapi_auto_generated/scheduler-2018-10-10-900 restapi_auto_generated/search-2018-10-12-892 restapi_auto_generated/service-map-2018-10-12-864 restapi_auto_generated/servicefabric-2018-10-10-854 restapi_auto_generated/storsimple8000series-2018-10-10-381 restapi_auto_graphrbac/data-plane restapi_auto_hanaonazure/resource-manager restapi_auto_hdinsight/resource-manager restapi_auto_iothub/resource-manager restapi_auto_javamultiapi restapi_auto_jianghaolu-cosmosdb-java-multiapi restapi_auto_jianghaolu-eventgrid-resource restapi_auto_jianghaolu-network-1806 restapi_auto_jianghaolu-network-201806-fix restapi_auto_jianghaolu-patch-eventgrid-java restapi_auto_kamip/arm-ml restapi_auto_kamip/azure-stack-move restapi_auto_kamip/ts-network restapi_auto_keyvault/data-plane restapi_auto_keyvault_preview restapi_auto_keyvault/resource-manager restapi_auto_labservices/resource-manager restapi_auto_lmazuel/testbot restapi_auto_logic/resource-manager restapi_auto_machinelearning/resource-manager restapi_auto_machinelearningcompute/resource-manager restapi_auto_machinelearningservices/resource-manager restapi_auto_managementgroups/resource-manager restapi_auto_mariadb/resource-manager restapi_auto_marketplaceordering/resource-manager restapi_auto_mediaservices/resource-manager restapi_auto_migrate/resource-manager restapi_auto_monitor/resource-manager restapi_auto_msi/resource-manager restapi_auto_mysql/resource-manager restapi_auto_netsdk restapi_auto_network-appgw-headercrud restapi_auto_network-december-release restapi_auto_network-november-release restapi_auto_network-october-release restapi_auto_network/resource-manager restapi_auto_nirkum-network-Microsoft.Network-2018-11-01 restapi_auto_notificationhubs/resource-manager restapi_auto_olydis-datafactory-resourceschema restapi_auto_operationalinsights/resource-manager restapi_auto_operationsmanagement/resource-manager restapi_auto_pdate-dev-recoveryservices-Microsoft.RecoveryServices-2016-06-01-TEST__resource-manager_recoveryservices_Microsoft.RecoveryServices_stable_2016-06-01_package-2016-06 restapi_auto_penapi-baselineTag-Ndsadsad-dev-web-Microsoft.Web-2062-03-01 restapi_auto_penapi-baselineTag-TEST-BRANCH restapi_auto_penapi-baselineTag-TESTTESTTEST-sql-Microsoft.Sql-2020-20-20 restapi_auto_penapi-baselineTag-Test-Branch-Microsoft-Del restapi_auto_penapi-baselineTag-bestthingever-devtestlabs-Microsoft.DevTestLab-2020-11-12 restapi_auto_penapi-baselineTag-december-network-release restapi_auto_penapi-baselineTag-deiwdeork-Microsoft.Network-2222-01-02 restapi_auto_penapi-baselineTag-dev-adhybridhealthservice-Microsoft.ADHybridHealthService-2014-01-01 restapi_auto_penapi-baselineTag-dev-analysisservices-Microsoft.AnalysisServices-3124-23-23 restapi_auto_penapi-baselineTag-dev-authorization-Microsoft.Authorization-2019-10-01 restapi_auto_penapi-baselineTag-dev-automation-Microsoft.Automation-3123-32-32 restapi_auto_penapi-baselineTag-dev-cdn-Microsoft.Cdn-2020-11-11 restapi_auto_penapi-baselineTag-dev-cdn-Microsoft.Cdn-2025-01-09 restapi_auto_penapi-baselineTag-dev-cognitiveservices-Microsoft.CognitiveServices-2020-03-01 restapi_auto_penapi-baselineTag-dev-compute-Microsoft.Compute-2018-08-09 restapi_auto_penapi-baselineTag-dev-compute-Microsoft.Compute-2018-09-11 restapi_auto_penapi-baselineTag-dev-databox-Microsoft.DataBox-2018-90-90-TEST restapi_auto_penapi-baselineTag-dev-datalake-store-Microsoft.DataLakeStore-2222-11-03 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2010-11-12 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2015-05-22-preview restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2018-44-15 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2019-07-14 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2019-10-01 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2020-11-11 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2022-22-19 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2022-22-20 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2025-01-02 restapi_auto_penapi-baselineTag-dev-devtestlabs-Microsoft.DevTestLab-2025-23-11 restapi_auto_penapi-baselineTag-dev-mediaservices-Microsoft.Media-2018-07-01 restapi_auto_penapi-baselineTag-dev-recoveryservices-Microsoft.RecoveryServices-2016-06-01-TEST restapi_auto_penapi-baselineTag-dev-servicefabric-Microsoft.ServiceFabric-6.4 restapi_auto_penapi-baselineTag-dev-web-Microsoft.Web-2051-04-04 restapi_auto_penapi-baselineTag-network-november-release restapi_auto_penapi-baselineTag-test-dev-devtestlabs-Microsoft.DevTestLab-2015-09-15 restapi_auto_penapi-baselineTag-test-dns/release-dec4 restapi_auto_penapi-baselineTag-test-network-december-release5 restapi_auto_penapi-baselineTag-test-network-release-7 restapi_auto_penapi-baselineTag-test-test-consumption-Microsoft.Consumption-2018-0-11-01 restapi_auto_penapi-baselineTag-testbranch restapi_auto_penapi-baselineTag-testing-cdn-branch-13 restapi_auto_penapi-baselineTag-testing-cdn-branch-14 restapi_auto_penapi-baselineTag-testing-cdn-release-5 restapi_auto_penapi-baselineTag-testing-cdn-release-dec15 restapi_auto_penapi-baselineTag-testing-network-release-7 restapi_auto_penapi-baselineTag-testing-network-release-dec8 restapi_auto_penapi-baselineTag-testing-web-nov restapi_auto_penapi-baselineTag-vladdbdevtestlabtestgo restapi_auto_policyinsights/resource-manager restapi_auto_postgresql/resource-manager restapi_auto_powerbidedicated/resource-manager restapi_auto_powerbiembedded/resource-manager restapi_auto_recoveryservices/resource-manager restapi_auto_recoveryservicesbackup/resource-manager restapi_auto_recoveryservicessiterecovery/resource-manager restapi_auto_relay/resource-manager restapi_auto_remote/Network-may restapi_auto_resourcehealth/resource-manager restapi_auto_resources/resource-manager restapi_auto_revert-3444-master restapi_auto_revert-3452-master restapi_auto_search/resource-manager restapi_auto_security/resource-manager restapi_auto_sergey-update-oav restapi_auto_sergey/update-oav restapi_auto_service-map/resource-manager restapi_auto_servicebus/resource-manager restapi_auto_servicefabric/data-plane restapi_auto_servicefabric/resource-manager restapi_auto_servicefabricmesh/resource-manager restapi_auto_signalr/resource-manager restapi_auto_sql/blobAuditing restapi_auto_sql/resource-manager restapi_auto_storSimple1200Series/resource-manager restapi_auto_storage/data-plane restapi_auto_storage/resource-manager restapi_auto_storagesync/resource-manager restapi_auto_storsimple8000series/resource-manager restapi_auto_streamanalytics/resource-manager restapi_auto_subscription/resource-manager restapi_auto_test-dev-devtestlabs-Microsoft.DevTestLab-2015-09-15 restapi_auto_test-dns/release-dec4 restapi_auto_test-network-release-7 restapi_auto_test-test-consumption-Microsoft.Consumption-2018-0-11-01 restapi_auto_testbranch restapi_auto_testing-cdn-branch-13 restapi_auto_testing-cdn-branch-14 restapi_auto_testing-cdn-release-5 restapi_auto_testing-cdn-release-dec15 restapi_auto_testing-network-release-7 restapi_auto_testing-web-nov restapi_auto_timeseriesinsights/resource-manager restapi_auto_trafficmanager/resource-manager restapi_auto_updateDataFactoryGo restapi_auto_vladdbdevtestlabtestgo restapi_auto_web/resource-manager restapi_auto_yangyuan/add_region restapi_auto_2378 restapi_auto_2418 restapi_auto_2428 restapi_auto_2576 restapi_auto_2608 restapi_auto_2618 restapi_auto_2620 restapi_auto_2650 restapi_auto_2658 restapi_auto_2666 restapi_auto_2688 restapi_auto_2690 restapi_auto_2695 restapi_auto_2700 restapi_auto_2701 restapi_auto_2703 restapi_auto_2704 restapi_auto_2705 restapi_auto_2706 restapi_auto_2707 restapi_auto_2708 restapi_auto_2711 restapi_auto_2712 restapi_auto_2716 restapi_auto_2719 restapi_auto_2721 restapi_auto_2730 restapi_auto_2733 restapi_auto_2734 restapi_auto_2735 restapi_auto_2741 restapi_auto_2742 restapi_auto_2743 restapi_auto_2745 restapi_auto_2747 restapi_auto_2749 restapi_auto_2751 restapi_auto_2755 restapi_auto_2757 restapi_auto_2761 restapi_auto_2762 restapi_auto_2763 restapi_auto_2764 restapi_auto_2766 restapi_auto_2768 restapi_auto_2772 restapi_auto_2775 restapi_auto_2776 restapi_auto_2778 restapi_auto_2782 restapi_auto_2784 restapi_auto_2786 restapi_auto_2787 restapi_auto_2789 restapi_auto_2791 restapi_auto_2795 restapi_auto_2796 restapi_auto_2797 restapi_auto_2798 restapi_auto_2799 restapi_auto_2800 restapi_auto_2802 restapi_auto_2803 restapi_auto_2806 restapi_auto_2807 restapi_auto_2808 restapi_auto_2815 restapi_auto_2817 restapi_auto_2820 restapi_auto_2822 restapi_auto_2823 restapi_auto_2827 restapi_auto_2831 restapi_auto_2833 restapi_auto_2834 restapi_auto_2835 restapi_auto_2836 restapi_auto_2841 restapi_auto_2844 restapi_auto_2846 restapi_auto_2852 restapi_auto_2854 restapi_auto_2855 restapi_auto_2857 restapi_auto_2858 restapi_auto_2859 restapi_auto_2860 restapi_auto_2861 restapi_auto_2862 restapi_auto_2863 restapi_auto_2864 restapi_auto_2865 restapi_auto_2866 restapi_auto_2870 restapi_auto_2873 restapi_auto_2877 restapi_auto_2880 restapi_auto_2881 restapi_auto_2882 restapi_auto_2884 restapi_auto_2885 restapi_auto_2889 restapi_auto_2892 restapi_auto_2893 restapi_auto_2896 restapi_auto_2897 restapi_auto_2898 restapi_auto_2900 restapi_auto_2901 restapi_auto_2902 restapi_auto_2905 restapi_auto_2906 restapi_auto_2908 restapi_auto_2909 restapi_auto_2910 restapi_auto_2911 restapi_auto_2915 restapi_auto_2920 restapi_auto_2924 restapi_auto_2930 restapi_auto_2931 restapi_auto_2932 restapi_auto_2933 restapi_auto_2937 restapi_auto_2939 restapi_auto_2941 restapi_auto_2943 restapi_auto_2947 restapi_auto_2950 restapi_auto_2952 restapi_auto_2953 restapi_auto_2955 restapi_auto_2956 restapi_auto_2958 restapi_auto_2959 restapi_auto_2962 restapi_auto_2963 restapi_auto_2964 restapi_auto_2965 restapi_auto_2971 restapi_auto_2972 restapi_auto_2977 restapi_auto_2985 restapi_auto_2990 restapi_auto_2991 restapi_auto_2995 restapi_auto_2996 restapi_auto_2997 restapi_auto_2998 restapi_auto_2999 restapi_auto_3000 restapi_auto_3005 restapi_auto_3008 restapi_auto_3009 restapi_auto_3012 restapi_auto_3014 restapi_auto_3016 restapi_auto_3017 restapi_auto_3030 restapi_auto_3031 restapi_auto_3034 restapi_auto_3038 restapi_auto_3039 restapi_auto_3051 restapi_auto_3053 restapi_auto_3055 restapi_auto_3057 restapi_auto_3060 restapi_auto_3061 restapi_auto_3062 restapi_auto_3066 restapi_auto_3072 restapi_auto_3075 restapi_auto_3080 restapi_auto_3081 restapi_auto_3083 restapi_auto_3085 restapi_auto_3086 restapi_auto_3089 restapi_auto_3090 restapi_auto_3093 restapi_auto_3094 restapi_auto_3095 restapi_auto_3097 restapi_auto_3098 restapi_auto_3102 restapi_auto_3104 restapi_auto_3108 restapi_auto_3111 restapi_auto_3112 restapi_auto_3114 restapi_auto_3116 restapi_auto_3118 restapi_auto_3120 restapi_auto_3121 restapi_auto_3122 restapi_auto_3123 restapi_auto_3124 restapi_auto_3125 restapi_auto_3126 restapi_auto_3128 restapi_auto_3131 restapi_auto_3132 restapi_auto_3134 restapi_auto_3136 restapi_auto_3137 restapi_auto_3138 restapi_auto_3140 restapi_auto_3142 restapi_auto_3143 restapi_auto_3145 restapi_auto_3146 restapi_auto_3147 restapi_auto_3151 restapi_auto_3152 restapi_auto_3159 restapi_auto_3161 restapi_auto_3162 restapi_auto_3163 restapi_auto_3164 restapi_auto_3165 restapi_auto_3166 restapi_auto_3167 restapi_auto_3170 restapi_auto_3171 restapi_auto_3174 restapi_auto_3175 restapi_auto_3177 restapi_auto_3178 restapi_auto_3179 restapi_auto_3180 restapi_auto_3182 restapi_auto_3183 restapi_auto_3185 restapi_auto_3187 restapi_auto_3190 restapi_auto_3191 restapi_auto_3192 restapi_auto_3198 restapi_auto_3199 restapi_auto_3202 restapi_auto_3203 restapi_auto_3204 restapi_auto_3207 restapi_auto_3210 restapi_auto_3211 restapi_auto_3212 restapi_auto_3215 restapi_auto_3216 restapi_auto_3218 restapi_auto_3219 restapi_auto_3222 restapi_auto_3224 restapi_auto_3226 restapi_auto_3227 restapi_auto_3228 restapi_auto_3229 restapi_auto_3230 restapi_auto_3231 restapi_auto_3233 restapi_auto_3236 restapi_auto_3237 restapi_auto_3238 restapi_auto_3240 restapi_auto_3241 restapi_auto_3243 restapi_auto_3244 restapi_auto_3247 restapi_auto_3248 restapi_auto_3251 restapi_auto_3252 restapi_auto_3254 restapi_auto_3256 restapi_auto_3258 restapi_auto_3259 restapi_auto_3261 restapi_auto_3263 restapi_auto_3271 restapi_auto_3272 restapi_auto_3273 restapi_auto_3275 restapi_auto_3276 restapi_auto_3277 restapi_auto_3279 restapi_auto_3281 restapi_auto_3283 restapi_auto_3284 restapi_auto_3285 restapi_auto_3286 restapi_auto_3288 restapi_auto_3289 restapi_auto_3292 restapi_auto_3294 restapi_auto_3302 restapi_auto_3304 restapi_auto_3309 restapi_auto_3312 restapi_auto_3313 restapi_auto_3314 restapi_auto_3315 restapi_auto_3316 restapi_auto_3320 restapi_auto_3323 restapi_auto_3324 restapi_auto_3325 restapi_auto_3326 restapi_auto_3328 restapi_auto_3329 restapi_auto_3330 restapi_auto_3331 restapi_auto_3333 restapi_auto_3335 restapi_auto_3336 restapi_auto_3337 restapi_auto_3340 restapi_auto_3341 restapi_auto_3342 restapi_auto_3343 restapi_auto_3344 restapi_auto_3345 restapi_auto_3355 restapi_auto_3357 restapi_auto_3360 restapi_auto_3361 restapi_auto_3363 restapi_auto_3364 restapi_auto_3365 restapi_auto_3366 restapi_auto_3367 restapi_auto_3373 restapi_auto_3374 restapi_auto_3375 restapi_auto_3376 restapi_auto_3377 restapi_auto_3382 restapi_auto_3385 restapi_auto_3389 restapi_auto_3390 restapi_auto_3391 restapi_auto_3392 restapi_auto_3394 restapi_auto_3395 restapi_auto_3396 restapi_auto_3404 restapi_auto_3406 restapi_auto_3414 restapi_auto_3415 restapi_auto_3416 restapi_auto_3420 restapi_auto_3424 restapi_auto_3430 restapi_auto_3432 restapi_auto_3433 restapi_auto_3440 restapi_auto_3443 restapi_auto_3444 restapi_auto_3445 restapi_auto_3448 restapi_auto_3452 restapi_auto_3462 restapi_auto_3463 restapi_auto_3466 restapi_auto_3468 restapi_auto_3471 restapi_auto_3472 restapi_auto_3473 restapi_auto_3479 restapi_auto_3482 restapi_auto_3483 restapi_auto_3485 restapi_auto_3486 restapi_auto_3488 restapi_auto_3490 restapi_auto_3491 restapi_auto_3493 restapi_auto_3502 restapi_auto_3503 restapi_auto_3504 restapi_auto_3505 restapi_auto_3508 restapi_auto_3509 restapi_auto_3514 restapi_auto_3520 restapi_auto_3524 restapi_auto_3529 restapi_auto_3532 restapi_auto_3545 restapi_auto_3550 restapi_auto_3552 restapi_auto_3556 restapi_auto_3558 restapi_auto_3559 restapi_auto_3560 restapi_auto_3561 restapi_auto_3583 restapi_auto_3592 restapi_auto_3614 restapi_auto_3617 restapi_auto_3619 restapi_auto_3663 restapi_auto_3672 restapi_auto_3673 restapi_auto_3684 restapi_auto_3710 restapi_auto_3712 restapi_auto_3713 restapi_auto_3715 restapi_auto_3731 restapi_auto_3739 restapi_auto_3754 restapi_auto_3771 restapi_auto_3776 restapi_auto_3780 restapi_auto_3783 restapi_auto_3799 restapi_auto_3800 restapi_auto_3805 restapi_auto_3818 restapi_auto_3838 restapi_auto_3839 restapi_auto_3840 restapi_auto_3845 restapi_auto_3854 restapi_auto_3875 restapi_auto_3900 restapi_auto_3901 restapi_auto_3905 restapi_auto_3954 restapi_auto_3957 restapi_auto_3972 restapi_auto_3979 restapi_auto_3984 restapi_auto_3993 restapi_auto_4005 restapi_auto_4050 restapi_auto_4052 restapi_auto_4063 restapi_auto_4093 restapi_auto_4107 restapi_auto_4161 restapi_auto_4162 restapi_auto_4164 restapi_auto_4172 restapi_auto_4241 restapi_auto_4291 restapi_auto_4305 restapi_auto_4311 restapi_auto_4318 restapi_auto_4329 restapi_auto_4336 restapi_auto_4338 restapi_auto_4345 restapi_auto_4351 restapi_auto_4410 restapi_auto_4416 restapi_auto_4418 restapi_auto_4419 restapi_auto_4437 restapi_auto_4441 restapi_auto_4455 restapi_auto_4456 restapi_auto_4458 restapi_auto_4483 restapi_auto_4484 restapi_auto_4489 restapi_auto_4494 restapi_auto_4497 restapi_auto_4502 restapi_auto_4505 restapi_auto_4518 restapi_auto_4521 restapi_auto_4526 restapi_auto_4530 restapi_auto_4543 restapi_auto_4554 restapi_auto_4584 restapi_auto_4596 restapi_auto_4605 restapi_auto_4617 restapi_auto_4619 restapi_auto_4631 restapi_auto_4643 restapi_auto_4648 restapi_auto_4656 restapi_auto_4662 restapi_auto_4663 restapi_auto_4705 restapi_auto_4712 restapi_auto_4736 restapi_auto_4737 restapi_auto_4753 restapi_auto_4765 restapi_auto_4795 restapi_auto_4819 restapi_auto_4825 restapi_auto_4827 restapi_auto_4865 restapi_auto_4866 restapi_auto_4877 restapi_auto_4897 restapi_auto_4900 restapi_auto_4902 restapi_auto_4916 restapi_auto_4917 restapi_auto_4932 restapi_auto_4933 restapi_auto_4937 restapi_auto_4938 restapi_auto_4939 restapi_auto_4941 schedulesend tamram-1214
Nothing to show
Find file Copy path
b56d788 Nov 17, 2017
3 contributors

Users who have contributed to this file

@amarzavery @fiveisprime @vivsriaus
217 lines (164 sloc) 6.92 KB

Authentication

All service APIs require authentication via a credentials object when being instantiated. There are three ways of authenticating and creating the required credentials via the SDK: basic authentication, interactive login, and service principal authentication.

Basic Authentication

Simply provide your username and password to authenticate with the API using your Azure account. It is encouraged that your username and password be stored in environment variables rather than in the source code for your project.

const Azure = require('azure');
const MsRest = require('ms-rest-azure');

MsRest.loginWithUsernamePassword(process.env.AZURE_USER, process.env.AZURE_PASS, (err, credentials) => {
  if (err) throw err;

  let storageClient = Azure.createStorageManagementClient(credentials, 'subscription-id');

  // ..use the client instance to manage service resources.
});

Interactive login

Interactive login will provide a link and a code that will allow the user to authenticate from a browser. Use this method when multiple accounts are used by the same script or when user intervention is preferred.

const Azure = require('azure');
const MsRest = require('ms-rest-azure');

MsRest.interactiveLogin((err, credentials) => {
  if (err) throw err;

  let storageClient = Azure.createStorageManagementClient(credentials, 'subscription-id');

  // ..use the client instance to manage service resources.
});

For azure-graph sdk

One needs to set the tokenAudience to 'graph' and provide the tenantId in the options object.

const AzureGraphClient = require('azure-graph');
const MsRestAzure = require('ms-rest-azure');

const options = {
  tokenAudience: 'graph',
  domain: '<tenantId>' 
};

MsRestAzure.interactiveLogin(options, (err, credentials) => {
  if (err) throw err;

  let graphClient = AzureGraphClient(credentials, '<tenantId>');

  // ..use the client instance to manage service resources.
});

Service Principal Authentication

Interactive login, similar to how the CLI authenticates, is the easiest way to authenticate; however, when using the Node.js SDK programmatically, you may want to use service principal authentication rather than providing your account credentials. This essentially creates keys for your Azure Active Directory account that you can provide to the SDK to authenticate rather than requiring user intervention or username/password.

Creating a Service Principal

There are three ways to create a Service Principal, the next sections will walk you through each method.

1. Azure Portal

Follow the steps outlined in the Azure Portal documentation to generate the necessary keys.

2. Azure CLI

This method can be used with either the Azure CLI v2.0 (Python) or the Azure Cross-Platform CLI (npm module).

using the Python Azure CLI v2.0 requires just one step

$ az ad sp create-for-rbac

Using the Node.js cross-platform CLI requires additional steps for setting up roles

$ azure login # or $ azure login -u user@domain.tld
$ azure ad sp create -n sp-name -p sp-password

This will create a new Service Principal and output the keys, copy the output for use in your script. Note: you can retrieve the keys later by running $ azure ad sp list in your terminal.

The important fields are marked below (the other required field is the password that was provided when creating the service principal)

+ Creating application sp-name
+ Creating service principal for application **56894bd4-0fde-41d8-a0d7-5bsslccety2**
data:    Object Id:               weewrerer-e329-4e9b-98c6-7878787
data:    Display Name:            sp-name
data:    Service Principal Names:
data:                             **56894bd4-0fde-41d8-a0d7-5bsslccety2**
data:                             https://sp-name
info:    ad sp create command OK

Next, you'll need to assign a role to the service principal that was just created. You can get a list of available roles by running $ azure role list

In this example we are creating the service principal as a Contributor at the subscription level. A contributor role looks like this in the list

data:    Name             : Contributor
data:    Actions          : 0=*
data:    NotActions       : 0=Microsoft.Authorization/*/Delete, 1=Microsoft.Authorization/*/Write
data:    IsCustom         : false

This will associate the service principal to your current subscription. Use the service principal that was returned in the create step for the --spn option.

$ azure role assignment create --spn 56894bd4-0fde-41d8-a0d7-5bsslccety2 -o Contributor
info:    Executing command role assignment create
+ Finding role with specified name
data:    RoleAssignmentId     : /subscriptions/abcdefgh-1234-4cc9-89b5-12345678/providers/Microsoft.Authorization/roleAssignments/987654-ea85-40a5-80c2-abcdferghtt
data:    RoleDefinitionName   : Contributor
data:    RoleDefinitionId     : jhfskjf-6180-42a0-ab88-5656eiu677e23e
data:    Scope                : /subscriptions/abcdefgh-1234-4cc9-89b5-12345678
data:    Display Name         : sp-name
data:    SignInName           :
data:    ObjectId             : weewrerer-e329-4e9b-98c6-7878787
data:    ObjectType           : ServicePrincipal
data:
+
info:    role assignment create command OK

The service principal can now be used to log in.

$ azure login -u 56894bd4-0fde-41d8-a0d7-5bsslccety2 -p P@ssw0rd --tenant <a guid OR your domain(contosocorp.com)> --service-principal
info:    Executing command login
info:    Added subscription TestSubscription
+
info:    login command OK

3. SDK

Run the Service Principal creation script to programmatically create a service principal.

Using the Service Principal

Now you can use the Service Principal keys to authenticate in the SDK.

const Azure = require('azure');
const MsRest = require('ms-rest-azure');

MsRest.loginWithServicePrincipalSecret(
  'clientId or appId',
  'secret or password',
  'domain or tenantId',
  (err, credentials) => {
    if (err) throw err

    let storageClient = Azure.createStorageManagementClient(credentials, 'subscription-id');

    // ..use the client instance to manage service resources.
  }
);

For azure-graph sdk

One needs to set the tokenAudience to 'graph' and provide the tenantId in the options object.

const AzureGraphClient = require('azure-graph');
const MsRestAzure = require('ms-rest-azure');

const options = {
  tokenAudience: 'graph',
  domain: '<tenantId>' 
};

MsRestAzure.loginWithServicePrincipalSecret(
  'clientId or appId',
  'secret or password',
  'domain or tenantId',
  options, 
  (err, credentials) => {
  if (err) throw err;

  let graphClient = AzureGraphClient(credentials, '<tenantId>');

  // ..use the client instance to manage service resources.
});