Cloud Provider
Combiner for Cloud information. It uses the results of the multiple parsers:
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:
CloudProviderInstance
Class to identify Alibaba Cloud provider
Alibaba CP can be identified by manufacturer
- class insights.combiners.cloud_provider.AmazonCloudProvider(*args, **kwargs)[source]
Bases:
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:
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
- property long_name
Return long name for the specific cloud provider, or
None
if no cloud provider- Type:
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
- property long_name
Long cloud provider name
- Type:
str
- property name
Short cloud provider class name or ID
- Type:
str
- class insights.combiners.cloud_provider.GoogleCloudProvider(*args, **kwargs)[source]
Bases:
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:
CloudProviderInstance
Class to identify IBM Cloud provider
IBM CP can be identified by rhsm.conf server hostname setting