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:
CloudProviderInstanceClass to identify Alibaba Cloud provider
Alibaba CP can be identified by manufacturer
- class insights.combiners.cloud_provider.AmazonCloudProvider(*args, **kwargs)[source]
Bases:
CloudProviderInstanceClass 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:
CloudProviderInstanceClass 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, cloud_query, subman_facts)[source]
Bases:
objectCombiner class to provide cloud vendor facts
- cloud_provider
String representing the cloud provider that was detected. If none are detected then it will have the default value None.
- Type:
str
- long_name
String representing the full name of the cloud provider that was detected. If none are detected then it will have the default value None.
- Type:
str
- cp_subman_facts
Dictionary containing a value, for each provider, of cloud name gets per the key ‘_instance_id’ of SubscriptionManagerFacts. Value will be empty if no matches are found.
- Type:
dict
- cp_cloud_query
Dictionary containing a value, for each provider, of CloudInitQuery.cloud_name. Value will be empty if no matches are found.
- Type:
dict
- 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
- 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
- ORACLE = 'oci'
Oracle Cloud Provider short name
- class insights.combiners.cloud_provider.CloudProviderInstance(rpms=None, dmidcd=None, yum_repos=None, rhsm_cfg=None, cloud_query=None, subman_facts=None)[source]
Bases:
objectClass 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_subman_facts
Cloud name found in searching SubscriptionManagerFacts for this cloud provider.
- Type:
str
- cp_cloud_query
Cloud name found in searching CloudInitQuery for this cloud provider.
- 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:
CloudProviderInstanceClass 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:
CloudProviderInstanceClass to identify IBM Cloud provider
IBM CP can be identified by rhsm.conf server hostname setting
- class insights.combiners.cloud_provider.OracleCloudProvider(*args, **kwargs)[source]
Bases:
CloudProviderInstanceClass to identify Oracle Cloud provider
Oracle CP can be identified by RPM for now.