Cloud Provider¶
Combiner for Cloud information. It uses the results of the multiple parsers:
insights.parsers.installed_rpms.InstalledRpms
insights.parsers.yum.YumRepoList
insights.parsers.dmidecode.DMIDecode
insights.parsers.rhsm_conf.RHSMConf
The combiner uses these parsers determine the Cloud Provider based on a set of criteria that is unique to each cloud provider.
Examples
>>> cp_aws.cloud_provider
'aws'
>>> cp_aws.cp_bios_version['aws'] == '4.2.amazon'
True
>>> cp_aws.cp_rpms['aws'] == ['rh-amazon-rhui-client-2.2.124-1.el7']
True
>>> cp_aws.cp_uuid['aws']
'EC2F58AF-2DAD-C57E-88C0-A81CB6084290'
>>> cp_aws.long_name
'Amazon Web Services'
>>> cp_azure.cloud_provider
'azure'
>>> cp_azure.cp_yum['azure'] == ['rhui-microsoft-azure-rhel7-2.2-74']
True
>>> cp_azure.cp_asset_tag['azure']
'7783-7084-3265-9085-8269-3286-77'
>>> cp_alibaba.cloud_provider
'alibaba'
>>> cp_alibaba.cp_manufacturer['alibaba'] == 'Alibaba Cloud'
True
>>> cp_ibm.cp_rhsm_server_hostname['ibm'] == 'host.networklayer.com'
True
-
class
insights.combiners.cloud_provider.
AlibabaCloudProvider
(*args, **kwargs)[source]¶ Bases:
insights.combiners.cloud_provider.CloudProviderInstance
Class to identify Alibaba Cloud provider
Alibaba CP can be identified by manufacturer
-
class
insights.combiners.cloud_provider.
AmazonCloudProvider
(*args, **kwargs)[source]¶ Bases:
insights.combiners.cloud_provider.CloudProviderInstance
Class to identify Amazon Cloud provider
Amazon CP can be identified by RPM, BIOS verndor/version, and system UUID
-
class
insights.combiners.cloud_provider.
AzureCloudProvider
(*args, **kwargs)[source]¶ Bases:
insights.combiners.cloud_provider.CloudProviderInstance
Class to identify Azure Cloud provider
Azure CP can be identified by RPM, Yum repo, and system asset tag
-
class
insights.combiners.cloud_provider.
CloudProvider
(rpms, dmidcd, yrl, rhsm_cfg)[source]¶ Bases:
object
Combiner class to provide cloud vendor facts
-
cp_bios_vendor
¶ Dictionary containing a value , for each provider, of Bios vendor used to determine cloud provider. Each providers value will be empty if none found
Type: dict
-
cp_bios_version
¶ Dictionary containing a value, for each provider, of Bios version used to determine cloud provider. Each providers value will be empty if none found
Type: dict
-
cp_rpms
¶ Dictionary containing a list, for each provider, of rpm information used to determine cloud provider. Each providers list will be empty if no matches found
Type: dict
-
cp_yum
¶ Dictionary containing a list, for each provider, of yum repo information used to determine cloud provider. Each providers list will be empty if no matches found
Type: dict
-
cp_asset_tag
¶ Dictionary containing a value, for each provider, of rpm information used to determine cloud provider. Each providers value will be empty if no matches found
Type: dict
-
cp_uuid
¶ Dictionary containing a value, for each provider, of uuid information used to determine cloud provider. Each providers value will be empty if no matches are found
Type: dict
-
cp_manufacturer
¶ Dictionary containing a value, for each provider, of system information used to determine cloud provider. Provider value will be empty if no matches are found.
Type: dict
-
cp_rhsm_server_hostname
¶ Dictionary containing a value, for each provider, of rhsm.conf server hostnames. Value will be empty if no matches are found.
Type: dict
-
cloud_provider
¶ String representing the cloud provider that was detected. If none are detected then it will have the default value None.
Type: str
-
ALIBABA
= 'alibaba'¶ Alibaba Cloud Provider short name
-
AWS
= 'aws'¶ AWS Cloud Provider short name
-
AZURE
= 'azure'¶ AZURE Cloud Provider short name
-
GOOGLE
= 'gcp'¶ GOOGLE Cloud Provider short name
-
IBM
= 'ibm'¶ IBM Cloud Provider short name
-
long_name
¶ Return long name for the specific cloud provider, or
None
if no cloud providerType: str
-
-
class
insights.combiners.cloud_provider.
CloudProviderInstance
(rpms=None, dmidcd=None, yum_repos=None, rhsm_cfg=None)[source]¶ Bases:
object
Class to represent a base cloud provider instance
Use this base class to derive new cloud provider classes. In each new cloud provider class set the particular values that will be used to detect that particular cloud provider.
-
rpm
¶ RPM string in lowercase to use when searching for this cloud provider.
Type: str
-
yum
¶ Yum repo name string in lowercase to use when searching for this cloud provider.
Type: str
-
bios_vendor_version
¶ BIOS vendor version string in lowercase to use when searching for this cloud provider.
Type: str
-
manuf
¶ Manufacturer string in lowercase to use when searching for this cloud provider.
Type: str
-
asset_tag
¶ Asset tag string in lowercase to use when searching for this cloud provider.
Type: str
-
uuid
¶ UUID string in lowercase to use when searchinf for this cloud provider.
Type: str
-
rhsm_hostname
¶ Hostname string in lowercase to use when searching for this cloud provider in
rhsm.conf
.Type: str
-
cp_bios_vendor
¶ BIOS vendor string value found in search for this cloud provider.
Type: str
-
cp_bios_version
¶ BIOS version string value found in search for this cloud provider.
Type: str
-
cp_rpms
¶ List of RPM string values found in search for this cloud provider.
Type: list
-
cp_yum
¶ List of Yum repo name string values found in search for this cloud provider.
Type: list
-
cp_asset_tag
¶ Asset tag string value found in search for this cloud provider.
Type: str
-
cp_uuid
¶ UUID string value found in search for this cloud provider.
Type: str
-
cp_manufacturer
¶ Manufacturer string value found in search for this cloud provider.
Type: str
-
cp_rhsm_server_hostname
¶ RHSM server hostname string value found in search for this cloud provider.
Type: str
-
long_name
¶ Long cloud provider name
Type: str
-
name
¶ Short cloud provider class name or ID
Type: str
-
-
class
insights.combiners.cloud_provider.
GoogleCloudProvider
(*args, **kwargs)[source]¶ Bases:
insights.combiners.cloud_provider.CloudProviderInstance
Class to identify Google Cloud provider
Google CP can be identified by RPM and BIOS vendor/version
-
class
insights.combiners.cloud_provider.
IBMCloudProvider
(*args, **kwargs)[source]¶ Bases:
insights.combiners.cloud_provider.CloudProviderInstance
Class to identify IBM Cloud provider
IBM CP can be identified by rhsm.conf server hostname setting