📄 Source: StoragePool.php
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\NetAppFiles;
class StoragePool extends \Google\Model
{
/**
* The source of the encryption key is not specified.
*/
public const ENCRYPTION_TYPE_ENCRYPTION_TYPE_UNSPECIFIED = 'ENCRYPTION_TYPE_UNSPECIFIED';
/**
* Google managed encryption key.
*/
public const ENCRYPTION_TYPE_SERVICE_MANAGED = 'SERVICE_MANAGED';
/**
* Customer managed encryption key, which is stored in KMS.
*/
public const ENCRYPTION_TYPE_CLOUD_KMS = 'CLOUD_KMS';
/**
* The `Mode` is not specified.
*/
public const MODE_MODE_UNSPECIFIED = 'MODE_UNSPECIFIED';
/**
* The resource is managed by the GCNV APIs.
*/
public const MODE_DEFAULT = 'DEFAULT';
/**
* The resource is managed by the GCNV ONTAP Mode APIs.
*/
public const MODE_ONTAP = 'ONTAP';
/**
* Unspecified QoS Type
*/
public const QOS_TYPE_QOS_TYPE_UNSPECIFIED = 'QOS_TYPE_UNSPECIFIED';
/**
* QoS Type is Auto
*/
public const QOS_TYPE_AUTO = 'AUTO';
/**
* QoS Type is Manual
*/
public const QOS_TYPE_MANUAL = 'MANUAL';
/**
* Unspecified scale type.
*/
public const SCALE_TYPE_SCALE_TYPE_UNSPECIFIED = 'SCALE_TYPE_UNSPECIFIED';
/**
* Represents standard capacity and performance scale-type. Suitable for
* general purpose workloads.
*/
public const SCALE_TYPE_SCALE_TYPE_DEFAULT = 'SCALE_TYPE_DEFAULT';
/**
* Represents higher capacity and performance scale-type. Suitable for more
* demanding workloads.
*/
public const SCALE_TYPE_SCALE_TYPE_SCALEOUT = 'SCALE_TYPE_SCALEOUT';
/**
* Unspecified service level.
*/
public const SERVICE_LEVEL_SERVICE_LEVEL_UNSPECIFIED = 'SERVICE_LEVEL_UNSPECIFIED';
/**
* Premium service level.
*/
public const SERVICE_LEVEL_PREMIUM = 'PREMIUM';
/**
* Extreme service level.
*/
public const SERVICE_LEVEL_EXTREME = 'EXTREME';
/**
* Standard service level.
*/
public const SERVICE_LEVEL_STANDARD = 'STANDARD';
/**
* Flex service level.
*/
public const SERVICE_LEVEL_FLEX = 'FLEX';
/**
* Unspecified Storage Pool State
*/
public const STATE_STATE_UNSPECIFIED = 'STATE_UNSPECIFIED';
/**
* Storage Pool State is Ready
*/
public const STATE_READY = 'READY';
/**
* Storage Pool State is Creating
*/
public const STATE_CREATING = 'CREATING';
/**
* Storage Pool State is Deleting
*/
public const STATE_DELETING = 'DELETING';
/**
* Storage Pool State is Updating
*/
public const STATE_UPDATING = 'UPDATING';
/**
* Storage Pool State is Restoring
*/
public const STATE_RESTORING = 'RESTORING';
/**
* Storage Pool State is Disabled
*/
public const STATE_DISABLED = 'DISABLED';
/**
* Storage Pool State is Error
*/
public const STATE_ERROR = 'ERROR';
/**
* Storage pool type is not specified.
*/
public const TYPE_STORAGE_POOL_TYPE_UNSPECIFIED = 'STORAGE_POOL_TYPE_UNSPECIFIED';
/**
* Storage pool type is file.
*/
public const TYPE_FILE = 'FILE';
/**
* Storage pool type is unified.
*/
public const TYPE_UNIFIED = 'UNIFIED';
/**
* Optional. Specifies the Active Directory to be used for creating a SMB
* volume.
*
* @var string
*/
public $activeDirectory;
/**
* Optional. True if the storage pool supports Auto Tiering enabled volumes.
* Default is false. Auto-tiering can be enabled after storage pool creation
* but it can't be disabled once enabled.
*
* @var bool
*/
public $allowAutoTiering;
/**
* Output only. Available throughput of the storage pool (in MiB/s).
*
* @var
*/
public $availableThroughputMibps;
/**
* Required. Capacity in GIB of the pool
*
* @var string
*/
public $capacityGib;
/**
* Output only. Total cold tier data rounded down to the nearest GiB used by
* the storage pool.
*
* @var string
*/
public $coldTierSizeUsedGib;
/**
* Output only. Create time of the storage pool
*
* @var string
*/
public $createTime;
/**
* Optional. True if using Independent Scaling of capacity and performance
* (Hyperdisk) By default set to false
*
* @var bool
*/
public $customPerformanceEnabled;
/**
* Optional. Description of the storage pool
*
* @var string
*/
public $description;
/**
* Optional. Flag indicating that the hot-tier threshold will be auto-
* increased by 10% of the hot-tier when it hits 100%. Default is true. The
* increment will kick in only if the new size after increment is still less
* than or equal to storage pool size.
*
* @var bool
*/
public $enableHotTierAutoResize;
/**
* Output only. Specifies the current pool encryption key source.
*
* @var string
*/
public $encryptionType;
/**
* Deprecated. Used to allow SO pool to access AD or DNS server from other
* regions.
*
* @deprecated
* @var bool
*/
public $globalAccessAllowed;
/**
* Optional. Total hot tier capacity for the Storage Pool. It is applicable
* only to Flex service level. It should be less than the minimum storage pool
* size and cannot be more than the current storage pool size. It cannot be
* decreased once set.
*
* @var string
*/
public $hotTierSizeGib;
/**
* Output only. Total hot tier data rounded down to the nearest GiB used by
* the storage pool.
*
* @var string
*/
public $hotTierSizeUsedGib;
/**
* Optional. Specifies the KMS config to be used for volume encryption.
*
* @var string
*/
public $kmsConfig;
/**
* Optional. Labels as key value pairs
*
* @var string[]
*/
public $labels;
/**
* Optional. Flag indicating if the pool is NFS LDAP enabled or not.
*
* @var bool
*/
public $ldapEnabled;
/**
* Optional. Mode of the storage pool. This field is used to control whether
* the user can perform the ONTAP operations on the storage pool using the
* GCNV ONTAP Mode APIs. If not specified during creation, it defaults to
* `DEFAULT`.
*
* @var string
*/
public $mode;
/**
* Identifier. Name of the storage pool
*
* @var string
*/
public $name;
/**
* Required. VPC Network name. Format:
* projects/{project}/global/networks/{network}
*
* @var string
*/
public $network;
/**
* Optional. This field is not implemented. The values provided in this field
* are ignored.
*
* @var string
*/
public $psaRange;
/**
* Optional. QoS (Quality of Service) Type of the storage pool
*
* @var string
*/
public $qosType;
/**
* Optional. Specifies the replica zone for regional storagePool.
*
* @var string
*/
public $replicaZone;
/**
* Output only. Reserved for future use
*
* @var bool
*/
public $satisfiesPzi;
/**
* Output only. Reserved for future use
*
* @var bool
*/
public $satisfiesPzs;
/**
* Optional. The scale type of the storage pool. Defaults to
* `SCALE_TYPE_DEFAULT` if not specified.
*
* @var string
*/
public $scaleType;
/**
* Required. Service level of the storage pool
*
* @var string
*/
public $serviceLevel;
/**
* Output only. State of the storage pool
*
* @var string
*/
public $state;
/**
* Output only. State details of the storage pool
*
* @var string
*/
public $stateDetails;
/**
* Optional. Custom Performance Total IOPS of the pool if not provided, it
* will be calculated based on the total_throughput_mibps
*
* @var string
*/
public $totalIops;
/**
* Optional. Custom Performance Total Throughput of the pool (in MiBps)
*
* @var string
*/
public $totalThroughputMibps;
/**
* Optional. Type of the storage pool. This field is used to control whether
* the pool supports `FILE` based volumes only or `UNIFIED` (both `FILE` and
* `BLOCK`) volumes. If not specified during creation, it defaults to `FILE`.
*
* @var string
*/
public $type;
/**
* Output only. Allocated size of all volumes in GIB in the storage pool
*
* @var string
*/
public $volumeCapacityGib;
/**
* Output only. Volume count of the storage pool
*
* @var int
*/
public $volumeCount;
/**
* Optional. Specifies the active zone for regional storagePool.
*
* @var string
*/
public $zone;
/**
* Optional. Specifies the Active Directory to be used for creating a SMB
* volume.
*
* @param string $activeDirectory
*/
public function setActiveDirectory($activeDirectory)
{
$this->activeDirectory = $activeDirectory;
}
/**
* @return string
*/
public function getActiveDirectory()
{
return $this->activeDirectory;
}
/**
* Optional. True if the storage pool supports Auto Tiering enabled volumes.
* Default is false. Auto-tiering can be enabled after storage pool creation
* but it can't be disabled once enabled.
*
* @param bool $allowAutoTiering
*/
public function setAllowAutoTiering($allowAutoTiering)
{
$this->allowAutoTiering = $allowAutoTiering;
}
/**
* @return bool
*/
public function getAllowAutoTiering()
{
return $this->allowAutoTiering;
}
public function setAvailableThroughputMibps($availableThroughputMibps)
{
$this->availableThroughputMibps = $availableThroughputMibps;
}
public function getAvailableThroughputMibps()
{
return $this->availableThroughputMibps;
}
/**
* Required. Capacity in GIB of the pool
*
* @param string $capacityGib
*/
public function setCapacityGib($capacityGib)
{
$this->capacityGib = $capacityGib;
}
/**
* @return string
*/
public function getCapacityGib()
{
return $this->capacityGib;
}
/**
* Output only. Total cold tier data rounded down to the nearest GiB used by
* the storage pool.
*
* @param string $coldTierSizeUsedGib
*/
public function setColdTierSizeUsedGib($coldTierSizeUsedGib)
{
$this->coldTierSizeUsedGib = $coldTierSizeUsedGib;
}
/**
* @return string
*/
public function getColdTierSizeUsedGib()
{
return $this->coldTierSizeUsedGib;
}
/**
* Output only. Create time of the storage pool
*
* @param string $createTime
*/
public function setCreateTime($createTime)
{
$this->createTime = $createTime;
}
/**
* @return string
*/
public function getCreateTime()
{
return $this->createTime;
}
/**
* Optional. True if using Independent Scaling of capacity and performance
* (Hyperdisk) By default set to false
*
* @param bool $customPerformanceEnabled
*/
public function setCustomPerformanceEnabled($customPerformanceEnabled)
{
$this->customPerformanceEnabled = $customPerformanceEnabled;
}
/**
* @return bool
*/
public function getCustomPerformanceEnabled()
{
return $this->customPerformanceEnabled;
}
/**
* Optional. Description of the storage pool
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Optional. Flag indicating that the hot-tier threshold will be auto-
* increased by 10% of the hot-tier when it hits 100%. Default is true. The
* increment will kick in only if the new size after increment is still less
* than or equal to storage pool size.
*
* @param bool $enableHotTierAutoResize
*/
public function setEnableHotTierAutoResize($enableHotTierAutoResize)
{
$this->enableHotTierAutoResize = $enableHotTierAutoResize;
}
/**
* @return bool
*/
public function getEnableHotTierAutoResize()
{
return $this->enableHotTierAutoResize;
}
/**
* Output only. Specifies the current pool encryption key source.
*
* Accepted values: ENCRYPTION_TYPE_UNSPECIFIED, SERVICE_MANAGED, CLOUD_KMS
*
* @param self::ENCRYPTION_TYPE_* $encryptionType
*/
public function setEncryptionType($encryptionType)
{
$this->encryptionType = $encryptionType;
}
/**
* @return self::ENCRYPTION_TYPE_*
*/
public function getEncryptionType()
{
return $this->encryptionType;
}
/**
* Deprecated. Used to allow SO pool to access AD or DNS server from other
* regions.
*
* @deprecated
* @param bool $globalAccessAllowed
*/
public function setGlobalAccessAllowed($globalAccessAllowed)
{
$this->globalAccessAllowed = $globalAccessAllowed;
}
/**
* @deprecated
* @return bool
*/
public function getGlobalAccessAllowed()
{
return $this->globalAccessAllowed;
}
/**
* Optional. Total hot tier capacity for the Storage Pool. It is applicable
* only to Flex service level. It should be less than the minimum storage pool
* size and cannot be more than the current storage pool size. It cannot be
* decreased once set.
*
* @param string $hotTierSizeGib
*/
public function setHotTierSizeGib($hotTierSizeGib)
{
$this->hotTierSizeGib = $hotTierSizeGib;
}
/**
* @return string
*/
public function getHotTierSizeGib()
{
return $this->hotTierSizeGib;
}
/**
* Output only. Total hot tier data rounded down to the nearest GiB used by
* the storage pool.
*
* @param string $hotTierSizeUsedGib
*/
public function setHotTierSizeUsedGib($hotTierSizeUsedGib)
{
$this->hotTierSizeUsedGib = $hotTierSizeUsedGib;
}
/**
* @return string
*/
public function getHotTierSizeUsedGib()
{
return $this->hotTierSizeUsedGib;
}
/**
* Optional. Specifies the KMS config to be used for volume encryption.
*
* @param string $kmsConfig
*/
public function setKmsConfig($kmsConfig)
{
$this->kmsConfig = $kmsConfig;
}
/**
* @return string
*/
public function getKmsConfig()
{
return $this->kmsConfig;
}
/**
* Optional. Labels as key value pairs
*
* @param string[] $labels
*/
public function setLabels($labels)
{
$this->labels = $labels;
}
/**
* @return string[]
*/
public function getLabels()
{
return $this->labels;
}
/**
* Optional. Flag indicating if the pool is NFS LDAP enabled or not.
*
* @param bool $ldapEnabled
*/
public function setLdapEnabled($ldapEnabled)
{
$this->ldapEnabled = $ldapEnabled;
}
/**
* @return bool
*/
public function getLdapEnabled()
{
return $this->ldapEnabled;
}
/**
* Optional. Mode of the storage pool. This field is used to control whether
* the user can perform the ONTAP operations on the storage pool using the
* GCNV ONTAP Mode APIs. If not specified during creation, it defaults to
* `DEFAULT`.
*
* Accepted values: MODE_UNSPECIFIED, DEFAULT, ONTAP
*
* @param self::MODE_* $mode
*/
public function setMode($mode)
{
$this->mode = $mode;
}
/**
* @return self::MODE_*
*/
public function getMode()
{
return $this->mode;
}
/**
* Identifier. Name of the storage pool
*
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Required. VPC Network name. Format:
* projects/{project}/global/networks/{network}
*
* @param string $network
*/
public function setNetwork($network)
{
$this->network = $network;
}
/**
* @return string
*/
public function getNetwork()
{
return $this->network;
}
/**
* Optional. This field is not implemented. The values provided in this field
* are ignored.
*
* @param string $psaRange
*/
public function setPsaRange($psaRange)
{
$this->psaRange = $psaRange;
}
/**
* @return string
*/
public function getPsaRange()
{
return $this->psaRange;
}
/**
* Optional. QoS (Quality of Service) Type of the storage pool
*
* Accepted values: QOS_TYPE_UNSPECIFIED, AUTO, MANUAL
*
* @param self::QOS_TYPE_* $qosType
*/
public function setQosType($qosType)
{
$this->qosType = $qosType;
}
/**
* @return self::QOS_TYPE_*
*/
public function getQosType()
{
return $this->qosType;
}
/**
* Optional. Specifies the replica zone for regional storagePool.
*
* @param string $replicaZone
*/
public function setReplicaZone($replicaZone)
{
$this->replicaZone = $replicaZone;
}
/**
* @return string
*/
public function getReplicaZone()
{
return $this->replicaZone;
}
/**
* Output only. Reserved for future use
*
* @param bool $satisfiesPzi
*/
public function setSatisfiesPzi($satisfiesPzi)
{
$this->satisfiesPzi = $satisfiesPzi;
}
/**
* @return bool
*/
public function getSatisfiesPzi()
{
return $this->satisfiesPzi;
}
/**
* Output only. Reserved for future use
*
* @param bool $satisfiesPzs
*/
public function setSatisfiesPzs($satisfiesPzs)
{
$this->satisfiesPzs = $satisfiesPzs;
}
/**
* @return bool
*/
public function getSatisfiesPzs()
{
return $this->satisfiesPzs;
}
/**
* Optional. The scale type of the storage pool. Defaults to
* `SCALE_TYPE_DEFAULT` if not specified.
*
* Accepted values: SCALE_TYPE_UNSPECIFIED, SCALE_TYPE_DEFAULT,
* SCALE_TYPE_SCALEOUT
*
* @param self::SCALE_TYPE_* $scaleType
*/
public function setScaleType($scaleType)
{
$this->scaleType = $scaleType;
}
/**
* @return self::SCALE_TYPE_*
*/
public function getScaleType()
{
return $this->scaleType;
}
/**
* Required. Service level of the storage pool
*
* Accepted values: SERVICE_LEVEL_UNSPECIFIED, PREMIUM, EXTREME, STANDARD,
* FLEX
*
* @param self::SERVICE_LEVEL_* $serviceLevel
*/
public function setServiceLevel($serviceLevel)
{
$this->serviceLevel = $serviceLevel;
}
/**
* @return self::SERVICE_LEVEL_*
*/
public function getServiceLevel()
{
return $this->serviceLevel;
}
/**
* Output only. State of the storage pool
*
* Accepted values: STATE_UNSPECIFIED, READY, CREATING, DELETING, UPDATING,
* RESTORING, DISABLED, ERROR
*
* @param self::STATE_* $state
*/
public function setState($state)
{
$this->state = $state;
}
/**
* @return self::STATE_*
*/
public function getState()
{
return $this->state;
}
/**
* Output only. State details of the storage pool
*
* @param string $stateDetails
*/
public function setStateDetails($stateDetails)
{
$this->stateDetails = $stateDetails;
}
/**
* @return string
*/
public function getStateDetails()
{
return $this->stateDetails;
}
/**
* Optional. Custom Performance Total IOPS of the pool if not provided, it
* will be calculated based on the total_throughput_mibps
*
* @param string $totalIops
*/
public function setTotalIops($totalIops)
{
$this->totalIops = $totalIops;
}
/**
* @return string
*/
public function getTotalIops()
{
return $this->totalIops;
}
/**
* Optional. Custom Performance Total Throughput of the pool (in MiBps)
*
* @param string $totalThroughputMibps
*/
public function setTotalThroughputMibps($totalThroughputMibps)
{
$this->totalThroughputMibps = $totalThroughputMibps;
}
/**
* @return string
*/
public function getTotalThroughputMibps()
{
return $this->totalThroughputMibps;
}
/**
* Optional. Type of the storage pool. This field is used to control whether
* the pool supports `FILE` based volumes only or `UNIFIED` (both `FILE` and
* `BLOCK`) volumes. If not specified during creation, it defaults to `FILE`.
*
* Accepted values: STORAGE_POOL_TYPE_UNSPECIFIED, FILE, UNIFIED
*
* @param self::TYPE_* $type
*/
public function setType($type)
{
$this->type = $type;
}
/**
* @return self::TYPE_*
*/
public function getType()
{
return $this->type;
}
/**
* Output only. Allocated size of all volumes in GIB in the storage pool
*
* @param string $volumeCapacityGib
*/
public function setVolumeCapacityGib($volumeCapacityGib)
{
$this->volumeCapacityGib = $volumeCapacityGib;
}
/**
* @return string
*/
public function getVolumeCapacityGib()
{
return $this->volumeCapacityGib;
}
/**
* Output only. Volume count of the storage pool
*
* @param int $volumeCount
*/
public function setVolumeCount($volumeCount)
{
$this->volumeCount = $volumeCount;
}
/**
* @return int
*/
public function getVolumeCount()
{
return $this->volumeCount;
}
/**
* Optional. Specifies the active zone for regional storagePool.
*
* @param string $zone
*/
public function setZone($zone)
{
$this->zone = $zone;
}
/**
* @return string
*/
public function getZone()
{
return $this->zone;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(StoragePool::class, 'Google_Service_NetAppFiles_StoragePool');
← Back