/// <summary>
 /// Sets up the client to communicate to Elastic Cloud using <paramref name="cloudId"/>,
 /// <para><see cref="CloudConnectionPool"/> documentation for more information on how to obtain your Cloud Id</para>
 /// <para></para>If you want more control use the <see cref="ElasticLowLevelClient(IConnectionConfigurationValues)"/> constructor and pass an instance of
 /// <see cref="ConnectionConfiguration" /> that takes <paramref name="cloudId"/> in its constructor as well
 /// </summary>
 public ElasticLowLevelClient(string cloudId, BasicAuthenticationCredentials credentials) : this(new ConnectionConfiguration(cloudId, credentials))
 {
 }
 /// <summary>
 /// An <see cref="IConnectionPool"/> implementation that can be seeded with a cloud id
 /// and will signal the right defaults for the client to use for Elastic Cloud to <see cref="IConnectionConfigurationValues"/>.
 ///
 /// <para>Read more about Elastic Cloud Id here</para>
 /// <para>https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html</para>
 /// </summary>
 /// <param name="cloudId">
 /// The Cloud Id, this is available on your cluster's dashboard and is a string in the form of <c>cluster_name:base_64_encoded_string<c>
 /// <para>Base64 encoded string contains the following tokens in order separated by $:</para>
 /// <para>* Host Name (mandatory)</para>
 /// <para>* Elasticsearch UUID (mandatory)</para>
 /// <para>* Kibana UUID</para>
 /// <para>* APM UUID</para>
 /// <para></para>
 /// <para> We then use these tokens to create the URI to your Elastic Cloud cluster!</para>
 /// <para></para>
 /// <para> Read more here: https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html</para>
 /// </param>
 public CloudConnectionPool(string cloudId, BasicAuthenticationCredentials credentials, IDateTimeProvider dateTimeProvider = null) : this(ParseCloudId(cloudId), dateTimeProvider) =>
 /// <summary>
 /// Sets up the client to communicate to Elastic Cloud using <paramref name="cloudId"/>,
 /// <para><see cref="CloudConnectionPool"/> documentation for more information on how to obtain your Cloud Id</para>
 /// </summary>
 public ConnectionConfiguration(string cloudId, BasicAuthenticationCredentials credentials) : this(new CloudConnectionPool(cloudId, credentials))
 {
 }