private AzureManagement InitialiseScriptPack()
        {
            _configurationManager.AddProvider(new ScriptArgsConfigurationProvider(_scriptArgs));
            _configurationManager.Initialise();

            _credentialManager.Initialise();

            _httpTracingInterceptor = new HttpTracingInterceptor(_logger, isEnabled: ConfigurationManager.Config.HttpTraceEnabled);
            CloudContext.Configuration.Tracing.AddTracingInterceptor(_httpTracingInterceptor);

            var managementContext = new ManagementContext
            {
                Logger            = _logger,
                CredentialManager = _credentialManager
            };

            _computeManagement        = new Lazy <ComputeManagement>(() => new ComputeManagement(managementContext));
            _infrastructureManagement = new Lazy <InfrastructureManagement>(() => new InfrastructureManagement(managementContext));
            _monitoringManagement     = new Lazy <MonitoringManagement>(() => new MonitoringManagement(managementContext));
            _mediaManagement          = new Lazy <MediaManagement>(() => new MediaManagement(managementContext));
            _schedulerManagement      = new Lazy <SchedulerManagement>(() => new SchedulerManagement(managementContext));
            _serviceBusManagement     = new Lazy <ServiceBusManagement>(() => new ServiceBusManagement(managementContext));
            _sqlManagement            = new Lazy <SqlManagement>(() => new SqlManagement(managementContext));
            _storageManagement        = new Lazy <StorageManagement>(() => new StorageManagement(managementContext));
            _virtualNetworkManagement = new Lazy <VirtualNetworkManagement>(() => new VirtualNetworkManagement(managementContext));
            _webSiteManagement        = new Lazy <WebSiteManagement>(() => new WebSiteManagement(managementContext));

            return(this);
        }