Package io.hekate.spring.boot.cluster
Class HekateCloudStoreSeedNodeProviderConfigurer
- java.lang.Object
-
- io.hekate.spring.boot.cluster.HekateCloudStoreSeedNodeProviderConfigurer
-
@Configuration @ConditionalOnHekateEnabled @AutoConfigureBefore(HekateClusterServiceConfigurer.class) @ConditionalOnProperty(value="hekate.cluster.seed.cloudstore.enable", havingValue="true") public class HekateCloudStoreSeedNodeProviderConfigurer extends Object
Auto-configuration forCloudStoreSeedNodeProvider
.This auto-configuration is disabled by default and can be enabled by setting the
'hekate.cluster.seed.cloudstore.enable'
property totrue
in the application configuration.The following properties can be used to customize the auto-configured
CloudStoreSeedNodeProvider
instance:'hekate.cluster.seed.cloudstore.provider'
'hekate.cluster.seed.cloudstore.container'
'hekate.cluster.seed.cloudstore.identity'
'hekate.cluster.seed.cloudstore.credential'
CloudPropertiesBase.setConnectTimeout(Integer)
'hekate.cluster.seed.cloudstore.connect-timeout'}CloudPropertiesBase.setSoTimeout(Integer)
'hekate.cluster.seed.cloudstore.so-timeout'}'hekate.cluster.seed.cloudstore.properties'
- See Also:
HekateClusterServiceConfigurer
-
-
Constructor Summary
Constructors Constructor Description HekateCloudStoreSeedNodeProviderConfigurer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CredentialsSupplier
cloudStoreCredentialsSupplier(String provider)
Conditionally constructs a new credentials supplier based on the provider name.CloudStoreSeedNodeProvider
cloudStoreSeedNodeProvider(CloudStoreSeedNodeProviderConfig cfg)
Constructs newCloudStoreSeedNodeProvider
.CloudStoreSeedNodeProviderConfig
cloudStoreSeedNodeProviderConfig(CredentialsSupplier credentials)
Conditionally constructs a new configuration forCloudStoreSeedNodeProvider
if application doesn't provide its ownBean
ofCloudStoreSeedNodeProviderConfig
type.
-
-
-
Method Detail
-
cloudStoreCredentialsSupplier
@Bean @ConditionalOnMissingBean(CredentialsSupplier.class) @ConfigurationProperties(prefix="hekate.cluster.seed.cloudstore") public CredentialsSupplier cloudStoreCredentialsSupplier(@Value("${hekate.cluster.seed.cloudstore.provider}") String provider)
Conditionally constructs a new credentials supplier based on the provider name. If provider name contains 'aws' then constructsAwsCredentialsSupplier
; otherwise constructsBasicCredentialsSupplier
.- Parameters:
provider
- Provider name (seeCloudStoreSeedNodeProviderConfig.setProvider(String)
).- Returns:
- Credentials supplier.
-
cloudStoreSeedNodeProviderConfig
@Bean @ConditionalOnMissingBean(CloudStoreSeedNodeProviderConfig.class) @ConfigurationProperties(prefix="hekate.cluster.seed.cloudstore") public CloudStoreSeedNodeProviderConfig cloudStoreSeedNodeProviderConfig(CredentialsSupplier credentials)
Conditionally constructs a new configuration forCloudStoreSeedNodeProvider
if application doesn't provide its ownBean
ofCloudStoreSeedNodeProviderConfig
type.- Parameters:
credentials
- Credentials supplier (seecloudStoreCredentialsSupplier(String)
).- Returns:
- New configuration.
-
cloudStoreSeedNodeProvider
@Bean public CloudStoreSeedNodeProvider cloudStoreSeedNodeProvider(CloudStoreSeedNodeProviderConfig cfg)
Constructs newCloudStoreSeedNodeProvider
.- Parameters:
cfg
- Configuration (seecloudStoreSeedNodeProviderConfig(CredentialsSupplier)
).- Returns:
- New provider.
-
-