[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eStorageLayout\u003c/code\u003e is a class in the Cloud Storage v2 API, representing the storage layout configuration of a bucket.\u003c/p\u003e\n"],["\u003cp\u003eIt can be constructed with no parameters or by copying the properties of another \u003ccode\u003eStorageLayout\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt contains properties for bucket data placement configuration (\u003ccode\u003eCustomPlacementConfig\u003c/code\u003e), hierarchical namespace settings (\u003ccode\u003eHierarchicalNamespace\u003c/code\u003e), bucket location, location type, and the name of the storage layout resource.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the reference documentation is 1.1.0, but version 1.0.1 is also available.\u003c/p\u003e\n"]]],[],null,["# Cloud Storage v2 API - Class StorageLayout (1.4.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.4.0 (latest)](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayout)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/1.3.0/Google.Cloud.Storage.Control.V2.StorageLayout)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/1.2.0/Google.Cloud.Storage.Control.V2.StorageLayout)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/1.1.0/Google.Cloud.Storage.Control.V2.StorageLayout)\n- [1.0.1](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/1.0.1/Google.Cloud.Storage.Control.V2.StorageLayout) \n\n public sealed class StorageLayout : IMessage\u003cStorageLayout\u003e, IEquatable\u003cStorageLayout\u003e, IDeepCloneable\u003cStorageLayout\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Storage v2 API class StorageLayout.\n\nThe storage layout configuration of a bucket. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e StorageLayout \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[StorageLayout](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayout), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[StorageLayout](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayout), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[StorageLayout](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayout), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Storage.Control.V2](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2)\n\nAssembly\n--------\n\nGoogle.Cloud.Storage.Control.V2.dll\n\nConstructors\n------------\n\n### StorageLayout()\n\n public StorageLayout()\n\n### StorageLayout(StorageLayout)\n\n public StorageLayout(StorageLayout other)\n\nProperties\n----------\n\n### CustomPlacementConfig\n\n public StorageLayout.Types.CustomPlacementConfig CustomPlacementConfig { get; set; }\n\nOutput only. The data placement configuration for custom dual region. If\nthere is no configuration, this is not a custom dual region bucket.\n\n### HierarchicalNamespace\n\n public StorageLayout.Types.HierarchicalNamespace HierarchicalNamespace { get; set; }\n\nOutput only. The bucket's hierarchical namespace configuration. If there is\nno configuration, the hierarchical namespace is disabled.\n\n### Location\n\n public string Location { get; set; }\n\nOutput only. The location of the bucket.\n\n### LocationType\n\n public string LocationType { get; set; }\n\nOutput only. The location type of the bucket (region, dual-region,\nmulti-region, etc).\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. The name of the StorageLayout resource.\nFormat: `projects/{project}/buckets/{bucket}/storageLayout`\n\n### StorageLayoutName\n\n public StorageLayoutName StorageLayoutName { get; set; }\n\n[StorageLayoutName](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayoutName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Storage.Control.V2/latest/Google.Cloud.Storage.Control.V2.StorageLayout#Google_Cloud_Storage_Control_V2_StorageLayout_Name) resource name property."]]