Today we define some bucket attributes, eg. SSL, Versioned, as properties of the OBC, while other attributes, eg. Region, are defined in the storage class. Before we formalize which attributes are defined where, we should first decide if the library should include any bucket attributes.
Reasons to not define any bucket attributes:
lib will need to be regularly maintained to keep up with object store enhancements
lib needs to remain object store agnostic so we'd need to make sure that we don't include an attribute not present in some object store.
Reasons to define some bucket properties:
API property can be validated by lib
?
If the decision is made to define bucket attributes in the OBC and storage class then we need to discuss which of these, if any, can be overridden by the OBC -- implying the SC contains the default value for this attribute.
Today we define some bucket attributes, eg. SSL, Versioned, as properties of the OBC, while other attributes, eg. Region, are defined in the storage class. Before we formalize which attributes are defined where, we should first decide if the library should include any bucket attributes.
Reasons to not define any bucket attributes:
Reasons to define some bucket properties:
If the decision is made to define bucket attributes in the OBC and storage class then we need to discuss which of these, if any, can be overridden by the OBC -- implying the SC contains the default value for this attribute.