Currently we only support adding an endpoint suffix for azure repositories. This is not enough when a custom Azure DNS  zone is used since the URI that's created using an endpoint suffix is incorrect.
```java
primaryUri = new URI(protocol + "://" + accountName + "." + service + "." + endpointSuffix);
``` 

We should add the ability to provide a custom endpoint to cover this situations.
modules/repository-azure/src/test/java/org/elasticsearch/repositories/azure/AzureStorageServiceTests.java
endpoint = "ignored;BlobEndpoint=https://myaccount1.blob.core.windows.net;"
                + "BlobSecondaryEndpoint=https://myaccount1-secondary.blob.core.windows.net";
        }
        final Settings settings = Settings.builder()
            .setSecureSettings(buildSecureSettings())
            .put("azure.client.azure1.endpoint_suffix", endpoint)
            .build();
        try (AzureRepositoryPlugin plugin = pluginWithSettingsValidation(settings)) {
            final AzureStorageService azureStorageService = plugin.azureStoreService.get();
            AzureStorageSettings azureStorageSettings = azureStorageService.storageSettings.get("azure1");
            RequestRetryOptions retryOptions = azureStorageService.getRetryOptions(
                LocationMode.SECONDARY_THEN_PRIMARY,
                azureStorageSettings
            );
            assertThat(retryOptions.getSecondaryHost(), equalTo("https://myaccount1.blob.core.windows.net"));
        }
    }
    public void testRetryConfigurationForLocationModeWithoutFallback() throws Exception {
        final Settings settings = Settings.builder()
            .setSecureSettings(buildSecureSettings())
            .put("azure.client.azure1.endpoint_suffix", "core.windows.net")
            .build();
        try (AzureRepositoryPlugin plugin = pluginWithSettingsValidation(settings)) {
            final AzureStorageService azureStorageService = plugin.azureStoreService.get();
            AzureStorageSettings azureStorageSettings = azureStorageService.storageSettings.get("azure1");
            LocationMode locationMode = randomFrom(LocationMode.PRIMARY_ONLY, LocationMode.SECONDARY_ONLY);
            RequestRetryOptions retryOptions = azureStorageService.getRetryOptions(locationMode, azureStorageSettings);
            assertThat(retryOptions.getSecondaryHost(), equalTo(null));
        }
    }