API-PureStorage
view release on metacpan or search on metacpan
lib/API/PureStorage.pm view on Meta::CPAN
109110111112113114115116117118119120121122123124125126127128129130
if
(
$num
!= 200 ) {
die
"API returned code $num for URL '$url'\n"
;
}
'DEBUG: GET '
,
$url
,
' -> '
,
$num
,
":\n"
, Dumper(from_json(
$con
)),
"\n"
if
$debug
;
return
from_json(
$con
);
}
sub
_api_post {
my
$self
=
shift
@_
;
my
$url
=
shift
@_
;
my
$data
=
shift
@_
;
my
$ret
=
$self
->{client}->POST(
$url
, to_json(
$data
));
my
$num
=
$ret
->responseCode();
my
$con
=
$ret
->responseContent();
if
(
$num
== 500 ) {
die
"API returned error 500 for '$url' - $con\n"
;
}
if
(
$num
!= 200 ) {
die
"API returned code $num for URL '$url'\n"
;
}
'DEBUG: POST '
,
$url
,
' -> '
,
$num
,
":\n"
, Dumper(from_json(
$con
)),
"\n"
if
$debug
;
return
from_json(
$con
);
lib/API/PureStorage.pm view on Meta::CPAN
163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253=head1 METHODS
=head2 array_info()
my %volume_info = $pure->volume_info()
my $volume_info_ref = $pure->volume_info()
Returns a hash or hasref (depending on requested context) of general array
information, including space usage.
=head3 Hash data reference:
* hostname - the configured hostname of the system
* total_reduction - The current overall data reduction multiple of the array. IE: A "2" here means "2:1" reduction.
* data_reduction - The reduction multiple of just data partitions.
Array-wide space usage info:
* volumes - bytes in use by active volume data
* shared_space - bytes recognized in use between multiple copies, volumes, snapshots, etc
* snapshots - bytes in use by snapshots
* system - bytes in use by system overhead. This can include recently allocated bytes
that have yet to be accounted for in other categories. IE: a recently deleted volume
that has yet to garbage collect.
* total - a byte count of all data on the system.
* capacity - the total capacity of the array in bytes
* thin_provisioning - ?
NB: To calculate the percentage usage of whole array, divide total by capacity.
=head2 volume_info()
my @volume_info = $pure->volume_info();
my $volume_info_ref = $pure->volume_info();
Returns an array or arrayref of general information about volumes include space
usage.
Each element of the array is a hash reference, representing a single volume.
=head3 Hash data reference:
* name - the name of this volume
* data_reduction - Reduction multiple of the data on this volume
* total_reduction - overall reduction multiple of this volume
Volume space usage info:
* shared_space - bytes recognized in use between multiple copies, snapshots, etc
* snapshots - bytes in use by snapshots
* system - bytes in use by system overhead
* total - a byte count of all data used by the the volume
* size - the max size of the volume
* thin_provisioning - ?
NB: To calculate the percentage usage of the volume, divide total by size.
=head2 volume_detail($volume_name)
my %volume_detail = $pure->volume_detail($volume_name);
my $volume_detail_ref = $pure->volume_detail($volume_name);
Returns a hash or hasref (depending on requested context) of additional
information on the volumes now shown in the vol_info() summary.
=head3 Hash data reference:
* created - A time stamp from when the volume was created
* name - the name of the volume
* serial - the serial number of the volume
* size - Size of the volume in bytes
* source - the source of this volume if it was cloned from a snapshot or other volume
=head2 version()
my @versions = $pure->version();
( run in 0.966 second using v1.01-cache-2.11-cpan-49f99fa48dc )