static ClientSecretCredential getClientSecretCredential(AzureCloudConfig azureCloudConfig) {
    ClientSecretCredentialBuilder builder =
        new ClientSecretCredentialBuilder()
            .tenantId(azureCloudConfig.azureIdentityTenantId)
            .clientId(azureCloudConfig.azureIdentityClientId)
            .clientSecret(azureCloudConfig.azureIdentitySecret);
    if (azureCloudConfig.azureIdentityProxyHost == null || azureCloudConfig.azureIdentityProxyHost.isEmpty()) {
      logger.info("Not using proxy for ClientSecretCredential as it is null or an empty string");
    } else {
      logger.info("Using proxy for ClientSecretCredential: {}:{}", azureCloudConfig.azureIdentityProxyHost,
          azureCloudConfig.azureIdentityProxyPort);
      ProxyOptions proxyOptions = new ProxyOptions(ProxyOptions.Type.HTTP,
          new InetSocketAddress(azureCloudConfig.azureIdentityProxyHost, azureCloudConfig.azureIdentityProxyPort));
      HttpClient httpClient = new NettyAsyncHttpClientBuilder().proxy(proxyOptions).build();
      builder.httpClient(httpClient);
    }
    return builder.build();
  }
@param azureCloudConfig the {@link AzureCloudConfig} to source credential configs from.
@return the {@link ClientSecretCredential}.
ambry-cloud/src/main/java/com/github/ambry/cloud/azure/AzureUtils.java