Spring 3.1.0 supports SSLBundles (good!). The properties for it are defined here:

/**
 * Properties for centralized SSL trust material configuration.
 *
  ...
 * @since 3.1.0
 */
@ConfigurationProperties(prefix = "spring.ssl")
public class SslProperties {

The metadata for this seems to be missing (?):

spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

In VSCode I see:

Unknown property 'spring.ssl'

for this config in application.yaml

---
spring:
  ssl:
    bundle:
...
...

BTW runtime wroks, no issues.

Comment From: snicoll

spring.ssl is a namespace (a prefix), not a property. The file you've referenced is for manual metadata, metadata for keys under spring.ssl are generated automatically and you should see them in your IDE.

What do you mean by "runtime works"? The config you've shared is not doing anything, it should use pem or jks and then configure an actual bundle, see https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.ssl.jks

Comment From: sandipchitale

I see. I had shown truncated configuration. I do have more keys under that, I just did not show them. Not sure why then but VScode tooling for spring is showing me an error.

Comment From: sandipchitale

From your comments it appears that the metadata is not statically generated but should be dynamically built by tooling/IDE. If that is the case, should I move this to VSCode spring support extension?

Comment From: snicoll

it appears that the metadata is not statically generated but should be dynamically built by tooling/IDE.

No. It's built automatically by us.

Not sure why then but VScode tooling for spring is showing me an error.

I see it now also with IntelliJ IDEA Odd, as the metadata has been generated but for some reason the IDE doesn't recognize it.

Comment From: sandipchitale

Good. Looking forward to the fix.

I also thought it was odd. BTW while debugging I also found some oddities with source being out of sync with bytecode for certain classes. So I did fresh dependency updates again via gradle but got the same. I will file a separate issue if I continue to experience that. May be the artifacts were not built properly?

Comment From: snicoll

Closing in favor of PR #35667

Comment From: sandipchitale

Hmmm....I was not aware of the that mechanism i.e. config.accept("spring.ssl"); . Good to know. I thought @NestedConfigurationProperty was meant to deal with this. I will need to understand @NestedConfigurationProperty better I guess.

Comment From: wilkinsona

config.accept("spring.ssl") is only needed for generating our reference documentation. It controls how the properties are grouped in the appendix.

Comment From: sandipchitale

Oh I see. So @NestedConfigurationProperty was actually causing the bug. Interesting. And now when I think about it I do not recall seeing @NestedConfigurationProperty on the List<...> or Set<...> and properties and in fact it did cross my mind why these were there.