@Override
    public Optional<DiscoveryStrategyConfig> get(final HazelcastClusterProperties cluster, final JoinConfig joinConfig,
                                                 final Config configuration, final NetworkConfig networkConfig) {
        val azure = cluster.getDiscovery().getAzure();
        val properties = new HashMap<String, Comparable>();
        if (StringUtils.hasText(azure.getClientId())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_CLIENT_ID, azure.getClientId());
        }
        if (StringUtils.hasText(azure.getClientSecret())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_CLIENT_SECRET, azure.getClientSecret());
        }
        if (StringUtils.hasText(azure.getClusterId())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_CLUSTER_ID, azure.getClusterId());
        }
        if (StringUtils.hasText(azure.getGroupName())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_GROUP_NAME, azure.getGroupName());
        }
        if (StringUtils.hasText(azure.getSubscriptionId())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_SUBSCRIPTION_ID, azure.getSubscriptionId());
        }
        if (StringUtils.hasText(azure.getTenantId())) {
            properties.put(HazelcastAzureDiscoveryProperties.AZURE_DISCOVERY_TENANT_ID, azure.getTenantId());
        }
        return Optional.of(new DiscoveryStrategyConfig(new AzureDiscoveryStrategyFactory(), properties));
    }
This is {@link HazelcastAzureDiscoveryStrategy}.

@author Misagh Moayyed
@since 5.3.0
support/cas-server-support-hazelcast-discovery-azure/src/main/java/org/apereo/cas/hz/HazelcastAzureDiscoveryStrategy.java