---
title: "POST /projects/{project}/zones/{zone}/storagePools"
method: POST
path: "/projects/{project}/zones/{zone}/storagePools"
tags: ["storagePools"]
---

# POST /projects/{project}/zones/{zone}/storagePools

`POST /projects/{project}/zones/{zone}/storagePools`

Creates a storage pool in the specified project using the data
in the request.

## Path parameters

- `project` string, required
- `zone` string, required

## Query parameters

- `requestId` string

## Request body

- StoragePool — Represents a zonal storage pool resource.
  - `poolProvisionedCapacityGb` string, int64 — Size of the storage pool in GiB. For more information about the size limits, see https://cloud.google.com/compute/docs/disks/storage-pools.
  - `name` string — Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
  - `kind` string — Output only. [Output Only] Type of the resource. Always compute#storagePool for storage pools.
  - `creationTimestamp` string — Output only. [Output Only] Creation timestamp inRFC3339 text format.
  - `exapoolProvisionedCapacityGb` StoragePoolExapoolProvisionedCapacityGb — Exapool provisioned capacities for each SKU type
    - `capacityOptimized` string, int64 — Size, in GiB, of provisioned capacity-optimized capacity for this Exapool
    - `writeOptimized` string, int64 — Size, in GiB, of provisioned write-optimized capacity for this Exapool
    - `readOptimized` string, int64 — Size, in GiB, of provisioned read-optimized capacity for this Exapool
  - `description` string — An optional description of this resource. Provide this property when you create the resource.
  - `storagePoolType` string — Type of the storage pool.
  - `labelFingerprint` string, byte — A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool.
  - `state` 'CREATING' | 'DELETING' | 'FAILED' | 'READY' — Output only. [Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting.
  - `labels` object — Labels to apply to this storage pool. These can be later modified by the setLabels method.
  - `performanceProvisioningType` 'ADVANCED' | 'STANDARD' | 'UNSPECIFIED' — Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
  - `selfLink` string — Output only. [Output Only] Server-defined fully-qualified URL for this resource.
  - `poolProvisionedThroughput` string, int64 — Provisioned throughput of the storage pool in MiB/s. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput.
  - `zone` string — Output only. [Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
  - `resourceStatus` StoragePoolResourceStatus — [Output Only] Contains output only fields.
    - `maxTotalProvisionedDiskCapacityGb` string, int64 — [Output Only] Maximum allowed aggregate disk size in GiB.
    - `exapoolMaxReadThroughput` string, int64 — Output only. [Output Only] Maximum allowed read throughput in MiB/s for this Exapool.
    - `exapoolMaxReadIops` string, int64 — Output only. [Output Only] Maximum allowed read IOPS for this Exapool.
    - `poolUserWrittenBytes` string, int64 — [Output Only] Amount of data written into the pool, before it is compacted.
    - `poolUsedIops` string, int64 — [Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.
    - `totalProvisionedDiskIops` string, int64 — [Output Only] Sum of all the disks' provisioned IOPS.
    - `diskCount` string, int64 — [Output Only] Number of disks used.
    - `lastResizeTimestamp` string — Output only. [Output Only] Timestamp of the last successful resize inRFC3339 text format.
    - `poolUsedThroughput` string, int64 — [Output Only] Sum of all the disks' provisioned throughput in MiB/s.
    - `poolUsedCapacityBytes` string, int64 — [Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.
    - `totalProvisionedDiskCapacityGb` string, int64 — [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.
    - `exapoolMaxWriteThroughput` string, int64 — Output only. [Output Only] Maximum allowed write throughput in MiB/s for this Exapool.
    - `totalProvisionedDiskThroughput` string, int64 — [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.
    - `exapoolMaxWriteIops` string, int64 — Output only. [Output Only] Maximum allowed write IOPS for this Exapool.
  - `capacityProvisioningType` 'ADVANCED' | 'STANDARD' | 'UNSPECIFIED' — Provisioning type of the byte capacity of the pool.
  - `selfLinkWithId` string — Output only. [Output Only] Server-defined URL for this resource's resource id.
  - `id` string, uint64 — Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server.
  - `poolProvisionedIops` string, int64 — Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced.
  - `status` StoragePoolResourceStatus — [Output Only] Contains output only fields.
    - `maxTotalProvisionedDiskCapacityGb` string, int64 — [Output Only] Maximum allowed aggregate disk size in GiB.
    - `exapoolMaxReadThroughput` string, int64 — Output only. [Output Only] Maximum allowed read throughput in MiB/s for this Exapool.
    - `exapoolMaxReadIops` string, int64 — Output only. [Output Only] Maximum allowed read IOPS for this Exapool.
    - `poolUserWrittenBytes` string, int64 — [Output Only] Amount of data written into the pool, before it is compacted.
    - `poolUsedIops` string, int64 — [Output Only] Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. For more information, see https://cloud.google.com/compute/docs/disks/storage-pools.
    - `totalProvisionedDiskIops` string, int64 — [Output Only] Sum of all the disks' provisioned IOPS.
    - `diskCount` string, int64 — [Output Only] Number of disks used.
    - `lastResizeTimestamp` string — Output only. [Output Only] Timestamp of the last successful resize inRFC3339 text format.
    - `poolUsedThroughput` string, int64 — [Output Only] Sum of all the disks' provisioned throughput in MiB/s.
    - `poolUsedCapacityBytes` string, int64 — [Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks.
    - `totalProvisionedDiskCapacityGb` string, int64 — [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this storage pool. A disk's provisioned capacity is the same as its total capacity.
    - `exapoolMaxWriteThroughput` string, int64 — Output only. [Output Only] Maximum allowed write throughput in MiB/s for this Exapool.
    - `totalProvisionedDiskThroughput` string, int64 — [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity.
    - `exapoolMaxWriteIops` string, int64 — Output only. [Output Only] Maximum allowed write IOPS for this Exapool.
  - `params` StoragePoolParams — Additional storage pool params.
    - `resourceManagerTags` object — Input only. Resource manager tags to be bound to the storage pool. Tag keys and values have the same definition as resource manager tags. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in namespaced format such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`. The field is ignored (both PUT & PATCH) when empty.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/compute.md) · [All operations](https://skmtc.net/google/apis/compute/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/compute/revisions/6120ed8969d4/schema)
