private static InstancesConfig instancesConfig()

in src/main/java/org/apache/cassandra/sidecar/YAMLSidecarConfiguration.java [250:280]


    private static InstancesConfig instancesConfig(YAMLConfiguration yamlConf,
                                                   CassandraVersionProvider versionProvider,
                                                   int healthCheckFrequencyMillis,
                                                   String sidecarVersion,
                                                   DnsResolver dnsResolver)
    {
        /* Since we are supporting handling multiple instances in Sidecar optionally, we prefer reading single instance
         * data over reading multiple instances section
         */
        org.apache.commons.configuration2.Configuration singleInstanceConf = yamlConf.subset(CASSANDRA_INSTANCE);
        if (singleInstanceConf != null && !singleInstanceConf.isEmpty())
        {
            InstanceMetadata instanceMetadata = buildInstanceMetadata(singleInstanceConf,
                                                                      versionProvider,
                                                                      healthCheckFrequencyMillis,
                                                                      sidecarVersion);
            return new InstancesConfigImpl(instanceMetadata, dnsResolver);
        }

        List<HierarchicalConfiguration<ImmutableNode>> instances = yamlConf.configurationsAt(CASSANDRA_INSTANCES);
        final List<InstanceMetadata> instanceMetas = new ArrayList<>();
        for (HierarchicalConfiguration<ImmutableNode> instance : instances)
        {
            InstanceMetadata instanceMetadata = buildInstanceMetadata(instance,
                                                                      versionProvider,
                                                                      healthCheckFrequencyMillis,
                                                                      sidecarVersion);
            instanceMetas.add(instanceMetadata);
        }
        return new InstancesConfigImpl(instanceMetas, dnsResolver);
    }