Class TieredStorageConfiguration

java.lang.Object
org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration

public class TieredStorageConfiguration extends Object
Class responsible for holding all of the tiered storage configuration data that is set in the global Pulsar broker.conf file.

This class is used by the BlobStoreManagedLedgerOffloader to determine which JCloud provider to use for Tiered Storage offloand, along with the associated properties such as region, bucket, user credentials, etc.

  • Field Details

  • Constructor Details

    • TieredStorageConfiguration

      public TieredStorageConfiguration(Map<String,String> configProperties)
  • Method Details

    • create

      public static TieredStorageConfiguration create(Properties props) throws IOException
      Throws:
      IOException
    • create

      public static TieredStorageConfiguration create(Map<String,String> props)
    • getKeys

      public List<String> getKeys(String property)
    • getBlobStoreProviderKey

      public String getBlobStoreProviderKey()
    • getDriver

      public String getDriver()
    • getRegion

      public String getRegion()
    • setRegion

      public void setRegion(String s)
    • getBucket

      public String getBucket()
    • getServiceEndpoint

      public String getServiceEndpoint()
    • getMaxSegmentTimeInSecond

      public long getMaxSegmentTimeInSecond()
    • getMinSegmentTimeInSecond

      public long getMinSegmentTimeInSecond()
    • getMaxSegmentSizeInBytes

      public long getMaxSegmentSizeInBytes()
    • setServiceEndpoint

      public void setServiceEndpoint(String s)
    • getConfigProperty

      public String getConfigProperty(String propertyName)
      Used to find a specific configuration property other than one of the predefined ones. This allows for any number of provider specific, or new properties to added in the future.
      Parameters:
      propertyName -
      Returns:
    • getProvider

      public JCloudBlobStoreProvider getProvider()
    • setProvider

      public void setProvider(JCloudBlobStoreProvider provider)
    • getMaxBlockSizeInBytes

      public Integer getMaxBlockSizeInBytes()
    • getMinBlockSizeInBytes

      public Integer getMinBlockSizeInBytes()
    • getReadBufferSizeInBytes

      public Integer getReadBufferSizeInBytes()
    • getWriteBufferSizeInBytes

      public Integer getWriteBufferSizeInBytes()
    • getProviderCredentials

      public Supplier<org.jclouds.domain.Credentials> getProviderCredentials()
    • setProviderCredentials

      public void setProviderCredentials(Supplier<org.jclouds.domain.Credentials> credentials)
    • validate

      public void validate()
    • getProviderMetadata

      public org.jclouds.providers.ProviderMetadata getProviderMetadata()
    • getBlobStoreLocation

      public BlobStoreLocation getBlobStoreLocation()
    • getBlobStore

      public org.jclouds.blobstore.BlobStore getBlobStore()
    • getOffloadDriverMetadata

      public Map<String,String> getOffloadDriverMetadata()
    • getOverrides

      protected Properties getOverrides()