# NAME
CloudHealth::API - A REST API Client for the CloudHealth API
# SYNOPSIS
use CloudHealth::API;
my $ch = CloudHealth::API->new;
my $res = $ch->MetricsForSingleAsset(
asset => $asset,
);
print Dumper($res);
# DESCRIPTION
This module implements the CloudHealth REST API found in [
https://apidocs.cloudhealthtech.com/](
https://apidocs.cloudhealthtech.com/)
# METHODS
Each method on the client corresponds to an API action. You can find a class in the
`CloudHealth::API::Call` namespace that describes the parameters that the method call accepts:
[CloudHealth::API::Call::EnableAWSAccount](
https://metacpan.org/pod/CloudHealth::API::Call::EnableAWSAccount)
$ch->EnableAWSAccount(authentication => { protocol => '..' }, ...);
[CloudHealth::API::Call::AWSAccounts](
https://metacpan.org/pod/CloudHealth::API::Call::AWSAccounts)
$ch->AWSAccounts;
[CloudHealth::API::Call::SingleAWSAccount](
https://metacpan.org/pod/CloudHealth::API::Call::SingleAWSAccount)
$ch->SingleAWSAccount(id => $id);
[CloudHealth::API::Call::UpdateExistingAWSAccount](
https://metacpan.org/pod/CloudHealth::API::Call::UpdateExistingAWSAccount)
$ch->UpdateExistingAWSAccount(id => $id, authentication => { protocol => '..' }, ...);
[CloudHealth::API::Call::GetExternalID](
https://metacpan.org/pod/CloudHealth::API::Call::GetExternalID)
$ch->GetExternalID(id => $id)
[CloudHealth::API::Call::MetricsForSingleAsset](
https://metacpan.org/pod/CloudHealth::API::Call::MetricsForSingleAsset)
$ch->MetricsForSingleAsset(asset => $id, from => '...', to => '...');
[CloudHealth::API::Call::DeleteAWSAccount](
https://metacpan.org/pod/CloudHealth::API::Call::DeleteAWSAccount)
[CloudHealth::API::Call::RetrieveAllPerspectives](
https://metacpan.org/pod/CloudHealth::API::Call::RetrieveAllPerspectives)
[CloudHealth::API::Call::RetrievePerspectiveSchema](
https://metacpan.org/pod/CloudHealth::API::Call::RetrievePerspectiveSchema)
[CloudHealth::API::Call::CreatePerspectiveSchema](
https://metacpan.org/pod/CloudHealth::API::Call::CreatePerspectiveSchema)
[CloudHealth::API::Call::UpdatePerspectiveSchema](
https://metacpan.org/pod/CloudHealth::API::Call::UpdatePerspectiveSchema)
[CloudHealth::API::Call::DeletePerspectiveSchema](
https://metacpan.org/pod/CloudHealth::API::Call::DeletePerspectiveSchema)
[CloudHealth::API::Call::ListQueryableReports](
https://metacpan.org/pod/CloudHealth::API::Call::ListQueryableReports)
[CloudHealth::API::Call::ListReportsOfSpecificType](
https://metacpan.org/pod/CloudHealth::API::Call::ListReportsOfSpecificType)
[CloudHealth::API::Call::ListOfQueryableAssets](
https://metacpan.org/pod/CloudHealth::API::Call::ListOfQueryableAssets)
[CloudHealth::API::Call::AttributesOfSingleAsset](
https://metacpan.org/pod/CloudHealth::API::Call::AttributesOfSingleAsset)
[CloudHealth::API::Call::SearchForAssets](
https://metacpan.org/pod/CloudHealth::API::Call::SearchForAssets)
[CloudHealth::API::Call::UpdateTagsForSingleAsset](
https://metacpan.org/pod/CloudHealth::API::Call::UpdateTagsForSingleAsset)
[CloudHealth::API::Call::SpecificCustomerReport](
https://metacpan.org/pod/CloudHealth::API::Call::SpecificCustomerReport)
[CloudHealth::API::Call::AssetsForSpecificCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::AssetsForSpecificCustomer)
[CloudHealth::API::Call::CreatePartnerCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::CreatePartnerCustomer)
[CloudHealth::API::Call::ModifyExistingCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::ModifyExistingCustomer)
[CloudHealth::API::Call::DeleteExistingCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::DeleteExistingCustomer)
[CloudHealth::API::Call::GetSingleCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::GetSingleCustomer)
[CloudHealth::API::Call::GetAllCustomers](
https://metacpan.org/pod/CloudHealth::API::Call::GetAllCustomers)
[CloudHealth::API::Call::StatementForSingleCustomer](
https://metacpan.org/pod/CloudHealth::API::Call::StatementForSingleCustomer)
[CloudHealth::API::Call::StatementsForAllCustomers](
https://metacpan.org/pod/CloudHealth::API::Call::StatementsForAllCustomers)
[CloudHealth::API::Call::CreateAWSAccountAssignment](
https://metacpan.org/pod/CloudHealth::API::Call::CreateAWSAccountAssignment)
[CloudHealth::API::Call::ReadAllAWSAccountAssignments](
https://metacpan.org/pod/CloudHealth::API::Call::ReadAllAWSAccountAssignments)
[CloudHealth::API::Call::ReadSingleAWSAccountAssignment](
https://metacpan.org/pod/CloudHealth::API::Call::ReadSingleAWSAccountAssignment)
[CloudHealth::API::Call::UpdateAWSAccountAssignment](
https://metacpan.org/pod/CloudHealth::API::Call::UpdateAWSAccountAssignment)
[CloudHealth::API::Call::DeleteAWSAccountAssignment](
https://metacpan.org/pod/CloudHealth::API::Call::DeleteAWSAccountAssignment)
# AUTHENTICATION
As the documentation states, you need an API KEY to query the API. The default authentication
mechanism expects to find that API key in the `CLOUDHEALTH_APIKEY` environment variable.
You can also pass any object that implements an `api_key` method to the `credentials` attribute
of the constructor
# RESULTS
Results are returned as a Perl HashRef representing the JSON returned by the API.
# SEE ALSO
[
https://apidocs.cloudhealthtech.com/](
https://apidocs.cloudhealthtech.com/)
There is a CLI wrapper available as a CPAN module: [App::CloudHealth](
https://metacpan.org/pod/App::CloudHealth)
# AUTHOR
Jose Luis Martinez
CPAN ID: JLMARTIN
CAPSiDE
[email protected]
# BUGS and SOURCE
The source code is located here: [
https://github.com/pplu/cloudhealth-api-perl/](
https://github.com/pplu/cloudhealth-api-perl/)
Please report bugs to: [
https://github.com/pplu/cloudhealth-api-perl/issues](
https://github.com/pplu/cloudhealth-api-perl/issues)
# COPYRIGHT and LICENSE
Copyright (c) 2018 by Jose Luis Martinez Torres
This code is distributed under the Apache 2 License. The full text of the license can be found in the LICENSE file included with this module.