storage_pools
Creates, updates, deletes, gets or lists a storage_pools resource.
Overview
| Name | storage_pools |
| Type | Resource |
| Id | google.compute.storage_pools |
Fields
The following fields are returned by SELECT queries:
- get
- list
- aggregated_list
| Name | Datatype | Description |
|---|---|---|
id | string (uint64) | Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. |
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. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?) |
capacityProvisioningType | string | Provisioning type of the byte capacity of the pool. (ADVANCED, STANDARD, UNSPECIFIED) |
creationTimestamp | string | Output only. [Output Only] Creation timestamp inRFC3339 text format. |
description | string | An optional description of this resource. Provide this property when you create the resource. |
exapoolProvisionedCapacityGb | object | Provisioned capacities for each SKU for this Exapool in GiB (id: StoragePoolExapoolProvisionedCapacityGb) |
kind | string | Output only. [Output Only] Type of the resource. Always compute#storagePool for storage pools. (default: compute#storagePool) |
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. |
labels | object | Labels to apply to this storage pool. These can be later modified by the setLabels method. |
params | object | Input only. Additional params passed with the request, but not persisted as part of resource payload. (id: StoragePoolParams) |
performanceProvisioningType | string | Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS. (ADVANCED, STANDARD, UNSPECIFIED) |
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. |
poolProvisionedIops | string (int64) | Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced. |
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. |
resourceStatus | object | Output only. [Output Only] Status information for the storage pool resource. (id: StoragePoolResourceStatus) |
selfLink | string | Output only. [Output Only] Server-defined fully-qualified URL for this resource. |
selfLinkWithId | string | Output only. [Output Only] Server-defined URL for this resource's resource id. |
shareSettings | object | Share settings for the storage pool. (id: StoragePoolShareSettings) |
state | string | 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. (CREATING, DELETING, FAILED, READY) |
status | object | Output only. [Output Only] Status information for the storage pool resource. (id: StoragePoolResourceStatus) |
storagePoolType | string | Type of the storage pool. |
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. |
| Name | Datatype | Description |
|---|---|---|
id | string | [Output Only] Unique identifier for the resource; defined by the server. |
etag | string | |
items | array | A list of StoragePool resources. |
kind | string | Output only. [Output Only] Type of resource. Always compute#storagePoolList for lists of storagePools. (default: compute#storagePoolList) |
nextPageToken | string | [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. |
selfLink | string | Output only. [Output Only] Server-defined URL for this resource. |
unreachables | array | Output only. [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder |
warning | object | [Output Only] Informational warning message. |
| Name | Datatype | Description |
|---|---|---|
id | string (uint64) | Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. |
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. (pattern: [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?) |
capacityProvisioningType | string | Provisioning type of the byte capacity of the pool. (ADVANCED, STANDARD, UNSPECIFIED) |
creationTimestamp | string | Output only. [Output Only] Creation timestamp inRFC3339 text format. |
description | string | An optional description of this resource. Provide this property when you create the resource. |
exapoolProvisionedCapacityGb | object | Provisioned capacities for each SKU for this Exapool in GiB (id: StoragePoolExapoolProvisionedCapacityGb) |
kind | string | Output only. [Output Only] Type of the resource. Always compute#storagePool for storage pools. (default: compute#storagePool) |
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. |
labels | object | Labels to apply to this storage pool. These can be later modified by the setLabels method. |
params | object | Input only. Additional params passed with the request, but not persisted as part of resource payload. (id: StoragePoolParams) |
performanceProvisioningType | string | Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS. (ADVANCED, STANDARD, UNSPECIFIED) |
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. |
poolProvisionedIops | string (int64) | Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced. |
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. |
resourceStatus | object | Output only. [Output Only] Status information for the storage pool resource. (id: StoragePoolResourceStatus) |
selfLink | string | Output only. [Output Only] Server-defined fully-qualified URL for this resource. |
selfLinkWithId | string | Output only. [Output Only] Server-defined URL for this resource's resource id. |
shareSettings | object | Share settings for the storage pool. (id: StoragePoolShareSettings) |
state | string | 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. (CREATING, DELETING, FAILED, READY) |
status | object | Output only. [Output Only] Status information for the storage pool resource. (id: StoragePoolResourceStatus) |
storagePoolType | string | Type of the storage pool. |
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. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | project, zone, storagePool | Returns a specified storage pool. Gets a list of available storage pools by making a list() request. | |
list | select | project, zone | filter, maxResults, pageToken, orderBy, returnPartialSuccess | Retrieves a list of storage pools contained within the specified zone. |
aggregated_list | select | project | returnPartialSuccess, includeAllScopes, orderBy, filter, serviceProjectNumber, maxResults, pageToken | Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true. |
insert | insert | project, zone | requestId | Creates a storage pool in the specified project using the data in the request. |
update | update | project, zone, storagePool | requestId, updateMask | Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput. |
delete | delete | project, zone, storagePool | requestId | Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
project | string | |
storagePool | string | |
zone | string | |
filter | string | |
includeAllScopes | boolean | |
maxResults | integer (uint32) | |
orderBy | string | |
pageToken | string | |
requestId | string | |
returnPartialSuccess | boolean | |
serviceProjectNumber | string (int64) | |
updateMask | string (google-fieldmask) |
SELECT examples
- get
- list
- aggregated_list
Returns a specified storage pool. Gets a list of available
storage pools by making a list() request.
SELECT
id,
name,
capacityProvisioningType,
creationTimestamp,
description,
exapoolProvisionedCapacityGb,
kind,
labelFingerprint,
labels,
params,
performanceProvisioningType,
poolProvisionedCapacityGb,
poolProvisionedIops,
poolProvisionedThroughput,
resourceStatus,
selfLink,
selfLinkWithId,
shareSettings,
state,
status,
storagePoolType,
zone
FROM google.compute.storage_pools
WHERE project = '{{ project }}' -- required
AND zone = '{{ zone }}' -- required
AND storagePool = '{{ storagePool }}' -- required
;
Retrieves a list of storage pools contained within
the specified zone.
SELECT
id,
etag,
items,
kind,
nextPageToken,
selfLink,
unreachables,
warning
FROM google.compute.storage_pools
WHERE project = '{{ project }}' -- required
AND zone = '{{ zone }}' -- required
AND filter = '{{ filter }}'
AND maxResults = '{{ maxResults }}'
AND pageToken = '{{ pageToken }}'
AND orderBy = '{{ orderBy }}'
AND returnPartialSuccess = '{{ returnPartialSuccess }}'
;
Retrieves an aggregated list of storage pools.
To prevent failure, Google recommends that you set thereturnPartialSuccess parameter to true.
SELECT
id,
name,
capacityProvisioningType,
creationTimestamp,
description,
exapoolProvisionedCapacityGb,
kind,
labelFingerprint,
labels,
params,
performanceProvisioningType,
poolProvisionedCapacityGb,
poolProvisionedIops,
poolProvisionedThroughput,
resourceStatus,
selfLink,
selfLinkWithId,
shareSettings,
state,
status,
storagePoolType,
zone
FROM google.compute.storage_pools
WHERE project = '{{ project }}' -- required
AND returnPartialSuccess = '{{ returnPartialSuccess }}'
AND includeAllScopes = '{{ includeAllScopes }}'
AND orderBy = '{{ orderBy }}'
AND filter = '{{ filter }}'
AND serviceProjectNumber = '{{ serviceProjectNumber }}'
AND maxResults = '{{ maxResults }}'
AND pageToken = '{{ pageToken }}'
;
INSERT examples
- insert
- Manifest
Creates a storage pool in the specified project using the data
in the request.
INSERT INTO google.compute.storage_pools (
data__labelFingerprint,
data__shareSettings,
data__params,
data__name,
data__description,
data__poolProvisionedCapacityGb,
data__labels,
data__poolProvisionedIops,
data__storagePoolType,
data__capacityProvisioningType,
data__performanceProvisioningType,
data__exapoolProvisionedCapacityGb,
data__poolProvisionedThroughput,
project,
zone,
requestId
)
SELECT
'{{ labelFingerprint }}',
'{{ shareSettings }}',
'{{ params }}',
'{{ name }}',
'{{ description }}',
'{{ poolProvisionedCapacityGb }}',
'{{ labels }}',
'{{ poolProvisionedIops }}',
'{{ storagePoolType }}',
'{{ capacityProvisioningType }}',
'{{ performanceProvisioningType }}',
'{{ exapoolProvisionedCapacityGb }}',
'{{ poolProvisionedThroughput }}',
'{{ project }}',
'{{ zone }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;
# Description fields are for documentation purposes
- name: storage_pools
props:
- name: project
value: "{{ project }}"
description: Required parameter for the storage_pools resource.
- name: zone
value: "{{ zone }}"
description: Required parameter for the storage_pools resource.
- name: labelFingerprint
value: "{{ labelFingerprint }}"
description: |
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.
- name: shareSettings
description: |
Share settings for the storage pool.
value:
projectMap: "{{ projectMap }}"
- name: params
description: |
Input only. Additional params passed with the request, but not persisted
as part of resource payload.
value:
resourceManagerTags: "{{ resourceManagerTags }}"
- name: name
value: "{{ name }}"
description: |
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.
- name: description
value: "{{ description }}"
description: |
An optional description of this resource. Provide this property when you
create the resource.
- name: poolProvisionedCapacityGb
value: "{{ poolProvisionedCapacityGb }}"
description: |
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: labels
value: "{{ labels }}"
description: |
Labels to apply to this storage pool. These can be later modified by
the setLabels method.
- name: poolProvisionedIops
value: "{{ poolProvisionedIops }}"
description: |
Provisioned IOPS of the storage pool. Only relevant if the storage pool
type is hyperdisk-balanced.
- name: storagePoolType
value: "{{ storagePoolType }}"
description: |
Type of the storage pool.
- name: capacityProvisioningType
value: "{{ capacityProvisioningType }}"
description: |
Provisioning type of the byte capacity of the pool.
valid_values: ['ADVANCED', 'STANDARD', 'UNSPECIFIED']
- name: performanceProvisioningType
value: "{{ performanceProvisioningType }}"
description: |
Provisioning type of the performance-related parameters of the pool,
such as throughput and IOPS.
valid_values: ['ADVANCED', 'STANDARD', 'UNSPECIFIED']
- name: exapoolProvisionedCapacityGb
description: |
Provisioned capacities for each SKU for this Exapool in GiB
value:
capacityOptimized: "{{ capacityOptimized }}"
readOptimized: "{{ readOptimized }}"
writeOptimized: "{{ writeOptimized }}"
- name: poolProvisionedThroughput
value: "{{ poolProvisionedThroughput }}"
description: |
Provisioned throughput of the storage pool in MiB/s. Only relevant if the
storage pool type is hyperdisk-balanced or hyperdisk-throughput.
- name: requestId
value: "{{ requestId }}"
UPDATE examples
- update
Updates the specified storagePool with the data included in the request.
The update is performed only on selected fields included as part
of update-mask. Only the following fields can be modified:
pool_provisioned_capacity_gb, pool_provisioned_iops and
pool_provisioned_throughput.
UPDATE google.compute.storage_pools
SET
data__labelFingerprint = '{{ labelFingerprint }}',
data__shareSettings = '{{ shareSettings }}',
data__params = '{{ params }}',
data__name = '{{ name }}',
data__description = '{{ description }}',
data__poolProvisionedCapacityGb = '{{ poolProvisionedCapacityGb }}',
data__labels = '{{ labels }}',
data__poolProvisionedIops = '{{ poolProvisionedIops }}',
data__storagePoolType = '{{ storagePoolType }}',
data__capacityProvisioningType = '{{ capacityProvisioningType }}',
data__performanceProvisioningType = '{{ performanceProvisioningType }}',
data__exapoolProvisionedCapacityGb = '{{ exapoolProvisionedCapacityGb }}',
data__poolProvisionedThroughput = '{{ poolProvisionedThroughput }}'
WHERE
project = '{{ project }}' --required
AND zone = '{{ zone }}' --required
AND storagePool = '{{ storagePool }}' --required
AND requestId = '{{ requestId}}'
AND updateMask = '{{ updateMask}}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
getVersionOperationMetadata,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone;
DELETE examples
- delete
Deletes the specified storage pool. Deleting a storagePool
removes its data permanently and is irreversible. However, deleting a
storagePool does not delete any snapshots previously
made from the storagePool. You must separately delete
snapshots.
DELETE FROM google.compute.storage_pools
WHERE project = '{{ project }}' --required
AND zone = '{{ zone }}' --required
AND storagePool = '{{ storagePool }}' --required
AND requestId = '{{ requestId }}'
;