MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / detect_cloud_provider

Function detect_cloud_provider

fastdeploy/usage/usage_lib.py:175–210  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

173
174
175def detect_cloud_provider() -> str:
176 if os.environ.get("SYS_JOB_NAME"):
177 return "PDC"
178 # Try detecting through vendor file
179 vendor_files = [
180 "/sys/class/dmi/id/product_version",
181 "/sys/class/dmi/id/bios_vendor",
182 "/sys/class/dmi/id/product_name",
183 "/sys/class/dmi/id/chassis_asset_tag",
184 "/sys/class/dmi/id/sys_vendor",
185 ]
186 # Mapping of identifiable strings to cloud providers
187 cloud_identifiers = {
188 "amazon": "AWS",
189 "microsoft corporation": "AZURE",
190 "google": "GCP",
191 "oraclecloud": "OCI",
192 }
193
194 for vendor_file in vendor_files:
195 path = Path(vendor_file)
196 if path.is_file():
197 file_content = path.read_text().lower()
198 for identifier, provider in cloud_identifiers.items():
199 if identifier in file_content:
200 return provider
201
202 # Try detecting through environment variables
203 env_to_cloud_provider = {
204 "RUNPOD_DC_ID": "RUNPOD",
205 }
206 for env_var, provider in env_to_cloud_provider.items():
207 if os.environ.get(env_var):
208 return provider
209
210 return "Unknown"
211
212
213def simple_convert(obj):

Callers 2

_report_usage_onceMethod · 0.85

Calls 2

itemsMethod · 0.80
getMethod · 0.45

Tested by 1