/// <summary> /// Provisions the entry point Couchbase server node. /// </summary> /// <param name="hostname">The hostname.</param> /// <param name="defaultSettings">The default settings.</param> /// <param name="dataRamQuota">The data ram quota.</param> /// <param name="indexRamQuota">The index ram quota.</param> /// <returns></returns> public async Task <CompositeResult> ProvisionEntryPointAsync(string hostname = null, BucketSettings defaultSettings = null, uint dataRamQuota = 544, uint indexRamQuota = 256) { hostname = hostname ?? _cluster.Configuration.Servers.First().Host; defaultSettings = defaultSettings ?? new BucketSettings(); var compositeResults = new CompositeResult(); try { var result = await _clusterManager.InitializeClusterAsync(hostname); compositeResults.Add(result); if (compositeResults.Success) { result = await _clusterManager.RenameNodeAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureMemoryAsync(hostname, dataRamQuota, indexRamQuota); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.SetupServicesAsync(hostname, defaultSettings.Services); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.ConfigureAdminAsync(hostname); compositeResults.Add(result); } if (compositeResults.Success) { result = await _clusterManager.CreateBucketAsync(defaultSettings); compositeResults.Add(result); } } catch (Exception e) { compositeResults.Add(new DefaultResult(false, e.Message, e)); } return(compositeResults); }