public AuthorizationManager( IHttpContextAccessor contextAccessor, ITokenAcquisition tokenAcquisition, IConfiguration configuration, IAzureResourceProvider azureResourceProvider, IGraphProvider graphProvider) : base(contextAccessor, tokenAcquisition) { _azureResourceProvider = azureResourceProvider; _configuration = configuration; _graphProvider = graphProvider; }
public StorageController( IConfiguration configuration, IManagementClientProvider managementClientProvider, CloudBlobClient cloudBlobClient, IAssetRepoCoordinator assetRepoCoordinator, IEnvironmentCoordinator environmentCoordinator, IPackageCoordinator packageCoordinator, IAzureResourceProvider azureResourceProvider) : base(environmentCoordinator, packageCoordinator, assetRepoCoordinator) { _configuration = configuration; _azureResourceProvider = azureResourceProvider; _managementClientProvider = managementClientProvider; }
public AssetRepoCoordinator( IConfigRepository <AssetRepository> configCoordinator, ITemplateProvider templateProvider, IIdentityProvider identityProvider, IDeploymentQueue deploymentQueue, IManagementClientProvider clientProvider, IAzureResourceProvider azureResourceProvider, ILogger <AssetRepoCoordinator> logger) { _configCoordinator = configCoordinator; _templateProvider = templateProvider; _identityProvider = identityProvider; _deploymentQueue = deploymentQueue; _clientProvider = clientProvider; _azureResourceProvider = azureResourceProvider; _logger = logger; }
private static IAssetRepoCoordinator CreateAssetRepoCoordinator( IServiceProvider p, IManagementClientProvider clientProvider, IAzureResourceProvider resourceProvider) { var cbc = p.GetRequiredService <CloudBlobClient>(); var cache = p.GetRequiredService <IMemoryCache>(); return(new AssetRepoCoordinator( new CachingConfigRepository <AssetRepository>( new GenericConfigRepository <AssetRepository>(cbc.GetContainerReference("storage")), cache), p.GetRequiredService <ITemplateProvider>(), p.GetRequiredService <IIdentityProvider>(), p.GetRequiredService <IDeploymentQueue>(), clientProvider, resourceProvider, p.GetRequiredService <ILogger <AssetRepoCoordinator> >())); }
public StorageController( IConfiguration configuration, IManagementClientProvider managementClientProvider, IAssetRepoCoordinator assetRepoCoordinator, IEnvironmentCoordinator environmentCoordinator, IPackageCoordinator packageCoordinator, IAzureResourceProvider azureResourceProvider, IDeploymentCoordinator deploymentCoordinator, IIdentityProvider identityProvider, ITokenAcquisition tokenAcquisition, ILogger <StorageController> logger) : base( environmentCoordinator, packageCoordinator, assetRepoCoordinator, tokenAcquisition) { _configuration = configuration; _azureResourceProvider = azureResourceProvider; _managementClientProvider = managementClientProvider; _deploymentCoordinator = deploymentCoordinator; _identityProvider = identityProvider; _logger = logger; }
// // Deployment operations // public async Task BeginRepositoryDeploymentAsync(AssetRepository repository, IManagementClientProvider managementClientProvider, IAzureResourceProvider azureResourceProvider) { using (var client = await managementClientProvider.CreateResourceManagementClient(repository.SubscriptionId)) { await client.ResourceGroups.CreateOrUpdateAsync( repository.ResourceGroupName, new ResourceGroup( repository.Subnet.Location, // The subnet location pins us to a region tags : AzureResourceProvider.GetEnvironmentTags(repository.EnvironmentName))); await azureResourceProvider.AssignManagementIdentityAsync( repository.SubscriptionId, repository.ResourceGroupResourceId, AzureResourceProvider.ContributorRole, _identityProvider.GetPortalManagedServiceIdentity()); repository.DeploymentName = "FileServerDeployment"; await UpdateRepository(repository); await DeployFileServer(repository as NfsFileServer, managementClientProvider); } }