The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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/

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

  $ch->EnableAWSAccount(authentication => { protocol => '..' }, ...);

CloudHealth::API::Call::AWSAccounts

  $ch->AWSAccounts;

CloudHealth::API::Call::SingleAWSAccount

  $ch->SingleAWSAccount(id => $id);

CloudHealth::API::Call::UpdateExistingAWSAccount

  $ch->UpdateExistingAWSAccount(id => $id, authentication => { protocol => '..' }, ...);

CloudHealth::API::Call::GetExternalID

  $ch->GetExternalID(id => $id)

CloudHealth::API::Call::MetricsForSingleAsset

  $ch->MetricsForSingleAsset(asset => $id, from => '...', to => '...');

CloudHealth::API::Call::DeleteAWSAccount

CloudHealth::API::Call::RetrieveAllPerspectives

CloudHealth::API::Call::RetrievePerspectiveSchema

CloudHealth::API::Call::CreatePerspectiveSchema

CloudHealth::API::Call::UpdatePerspectiveSchema

CloudHealth::API::Call::DeletePerspectiveSchema

CloudHealth::API::Call::ListQueryableReports

CloudHealth::API::Call::ListReportsOfSpecificType

CloudHealth::API::Call::ListOfQueryableAssets

CloudHealth::API::Call::AttributesOfSingleAsset

CloudHealth::API::Call::SearchForAssets

CloudHealth::API::Call::UpdateTagsForSingleAsset

CloudHealth::API::Call::SpecificCustomerReport

CloudHealth::API::Call::AssetsForSpecificCustomer

CloudHealth::API::Call::CreatePartnerCustomer

CloudHealth::API::Call::ModifyExistingCustomer

CloudHealth::API::Call::DeleteExistingCustomer

CloudHealth::API::Call::GetSingleCustomer

CloudHealth::API::Call::GetAllCustomers

CloudHealth::API::Call::StatementForSingleCustomer

CloudHealth::API::Call::StatementsForAllCustomers

CloudHealth::API::Call::CreateAWSAccountAssignment

CloudHealth::API::Call::ReadAllAWSAccountAssignments

CloudHealth::API::Call::ReadSingleAWSAccountAssignment

CloudHealth::API::Call::UpdateAWSAccountAssignment

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/

There is a CLI wrapper available as a CPAN module: App::CloudHealth

AUTHOR

    Jose Luis Martinez
    CPAN ID: JLMARTIN
    CAPSiDE
    jlmartinez@capside.com

BUGS and SOURCE

The source code is located here: https://github.com/pplu/cloudhealth-api-perl/

Please report bugs to: 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.