@@ -2957,6 +2957,35 @@ def object_retention_mode(self):
29572957 if object_retention is not None :
29582958 return object_retention .get ("mode" )
29592959
2960+ @property
2961+ def hierarchical_namespace_enabled (self ):
2962+ """Whether hierarchical namespace is enabled for this bucket.
2963+
2964+ :setter: Update whether hierarchical namespace is enabled for this bucket.
2965+ :getter: Query whether hierarchical namespace is enabled for this bucket.
2966+
2967+ :rtype: bool
2968+ :returns: True if enabled, else False.
2969+ """
2970+ hns = self ._properties .get ("hierarchicalNamespace" , {})
2971+ return hns .get ("enabled" )
2972+
2973+ @hierarchical_namespace_enabled .setter
2974+ def hierarchical_namespace_enabled (self , value ):
2975+ """Enable or disable hierarchical namespace at the bucket-level.
2976+
2977+ :type value: convertible to boolean
2978+ :param value: If true, enable hierarchical namespace for this bucket.
2979+ If false, disable hierarchical namespace for this bucket.
2980+
2981+ .. note::
2982+ To enable hierarchical namespace, you must set it at bucket creation time.
2983+ Currently, hierarchical namespace configuration cannot be changed after bucket creation.
2984+ """
2985+ hns = self ._properties .get ("hierarchicalNamespace" , {})
2986+ hns ["enabled" ] = bool (value )
2987+ self ._patch_property ("hierarchicalNamespace" , hns )
2988+
29602989 def configure_website (self , main_page_suffix = None , not_found_page = None ):
29612990 """Configure website-related properties.
29622991
0 commit comments