示例#1
0
    public async Async.Task <Uri?> BuildPoolConfig(Pool pool)
    {
        var instanceId = await _containers.GetInstanceId();

        var queueSas = await _queue.GetQueueSas("node-heartbeat", StorageType.Config, QueueSasPermissions.Add);

        var config = new AgentConfig(
            ClientCredentials: null,
            OneFuzzUrl: _creds.GetInstanceUrl(),
            PoolName: pool.Name,
            HeartbeatQueue: queueSas,
            InstanceTelemetryKey: _serviceConfig.ApplicationInsightsInstrumentationKey,
            MicrosoftTelemetryKey: _serviceConfig.OneFuzzTelemetry,
            MultiTenantDomain: _serviceConfig.MultiTenantDomain,
            InstanceId: instanceId
            );

        var fileName = $"{pool.Name}/config.json";
        await _containers.SaveBlob(new Container("vm-scripts"), fileName, (JsonSerializer.Serialize(config, EntityConverter.GetJsonSerializerOptions())), StorageType.Config);

        return(await ConfigUrl(new Container("vm-scripts"), fileName, false));
    }