AMP API Python¶
The project can be found on PyPi.
Key Features¶
Pythonic API wrapper using async and await.
- Data is in dataclasses for easier management and interaction.
Optional parameter per function or global to disable formatting of data.
- Parent classes ADSInstance and AMPInstance to group endpoints together and make handling of multiple Instances easier.
This will also limit Instance specific API endpoints (eg. Minecraft) to that Instance type only.
Installing¶
Note
Python 3.10 or higher is required
To install run the below command in a Terminal.
1# Linux/macOS/Windows
2pip install cc-ampapi
Basic Usage¶
First you need to fill out the
APIParamsclass with the required fields (url,userandpassword).- You can then use the Parent
AMPADSInstanceor the smaller classAMPInstanceor any of the API classes as a stand alone. See Quick Example for a visual example.
- You can then use the Parent
API Classes:
- Bridge
- Base
BaseBase.api_urlBase.session_ttlBase.instance_idBase.sessionBase.format_dataBase.ads_only()Base.call_end_point()Base.camel_to_snake_re()Base.camel_case_data()Base.dataclass_to_dict()Base.json_to_dataclass()Base.parse_bridge()Base.parse_data()Base.sanitize_json()Base.sanitize_path()Base.to_snake_case()Base.version_validation()
- ADS Module
ADSModuleADSModule.add_datastore()ADSModule.apply_instance_configuration()ADSModule.apply_template()ADSModule.attach_ads()ADSModule.cancel_pairing()ADSModule.clone_template()ADSModule.create_deployment_template()ADSModule.create_instance()ADSModule.create_instance_from_spec()ADSModule.create_local_instance()ADSModule.delete_datastore()ADSModule.delete_deployment_template()ADSModule.delete_instance()ADSModule.delete_instance_users()ADSModule.deploy_template()ADSModule.detach_target()ADSModule.extract_everywhere()ADSModule.get_application_endpoints()ADSModule.get_datastore()ADSModule.get_datastores()ADSModule.get_datastore_instances()ADSModule.get_deployment_templates()ADSModule.get_group()ADSModule.get_instance()ADSModule.get_instances()ADSModule.get_instance_network_info()ADSModule.get_instance_statuses()ADSModule.get_local_instances()ADSModule.get_provision_arguments()ADSModule.get_provision_fitness()ADSModule.get_supported_applications()ADSModule.get_target_info()ADSModule.get_target_pairing_code()ADSModule.handout_instance_configs()ADSModule.manage_instance()ADSModule.modify_custom_firewall_rule()ADSModule.move_instance_datastore()ADSModule.reactivate_local_instances()ADSModule.refresh_app_cache()ADSModule.refresh_group()ADSModule.refresh_instance_config()ADSModule.refresh_remote_config_stores()ADSModule.register_target()ADSModule.register_target_with_code()ADSModule.repair_datastore()ADSModule.request_datastore_size_calculation()ADSModule.restart_instance()ADSModule.servers()ADSModule.set_instance_network_info()ADSModule.set_instance_config()ADSModule.set_instance_suspended()ADSModule.start_all_instances()ADSModule.start_instance()ADSModule.stop_all_instances()ADSModule.stop_instance()ADSModule.update_datastore()ADSModule.update_deployment_template()ADSModule.update_instance_info()ADSModule.update_target()ADSModule.update_target_info()ADSModule.upgrade_all_instances()ADSModule.upgrade_instance()
- Analytics Module
- Core Module
CoreCore.triggersCore.acknowledge_amp_update()Core.activate_amp_license()Core.add_event_trigger()Core.add_task()Core.cancel_task()Core.change_user_password()Core.change_task_order()Core.confirm_two_factor_setup()Core.create_role()Core.create_user()Core.current_session_has_permission()Core.delete_instance_users()Core.delete_role()Core.delete_task()Core.delete_trigger()Core.delete_user()Core.disable_two_factor()Core.dismiss_all_tasks()Core.dismiss_task()Core.edit_interval_trigger()Core.edit_task()Core.enable_two_factor()Core.end_user_session()Core.get_active_amp_sessions()Core.get_all_amp_user_info()Core.get_amp_role_permissions()Core.get_amp_user_info()Core.get_amp_users_summary()Core.get_api_spec()Core.get_audit_log_entries()Core.get_authentication_requirements()Core.get_config()Core.get_configs()Core.get_diagnostics_info()Core.get_module_info()Core.get_new_guid()Core.get_oidc_login_url()Core.get_permissions_spec()Core.get_port_summaries()Core.get_provision_spec()Core.get_remote_login_token()Core.get_role()Core.get_role_data()Core.get_role_ids()Core.get_schedule_data()Core.get_setting_spec()Core.get_setting_values()Core.get_status()Core.get_tasks()Core.get_time_interval_trigger()Core.get_triggers()Core.get_update_info()Core.get_updates()Core.get_user_action_spec()Core.get_user_info()Core.get_user_list()Core.get_webauthn_challenge()Core.get_webauthn_credential_ids()Core.get_webauthn_credential_summary()Core.get_webserver_metrics()Core.kill_application()Core.kill_instance()Core.login()Core.logout()Core.restart_amp()Core.resume_instance()Core.oidc_login()Core.refresh_setting_value_list()Core.refresh_settings_source_cache()Core.rename_role()Core.restart_instance()Core.restart_application()Core.reset_user_password()Core.revoke_webauthn_credential()Core.run_security_check()Core.run_event_trigger_immediately()Core.set_amp_user_role_membership()Core.set_amp_role_permission()Core.set_trigger_enabled()Core.send_console_message()Core.set_configs()Core.set_config()Core.start_application()Core.stop_application()Core.suspend_instance()Core.update_account_info()Core.upgrade_amp()Core.update_amp_instance()Core.update_application()Core.update_public_key()Core.update_user_info()Core.webauthn_register()
- Email Sender Module
- File Manager Module
FileManagerPluginFileManagerPlugin.append_file_chunk()FileManagerPlugin.calculate_file_md5_sum()FileManagerPlugin.change_exclusion()FileManagerPlugin.copy_file()FileManagerPlugin.create_archive()FileManagerPlugin.create_directory()FileManagerPlugin.download_file_from_url()FileManagerPlugin.empty_trash()FileManagerPlugin.extract_archive()FileManagerPlugin.get_directory_listing()FileManagerPlugin.get_file_chunk()FileManagerPlugin.read_file_chunk()FileManagerPlugin.release_file_upload_lock()FileManagerPlugin.rename_directory()FileManagerPlugin.rename_file()FileManagerPlugin.trash_directory()FileManagerPlugin.trash_file()FileManagerPlugin.write_file_chunk()
- Local File Backup Module
LocalFileBackupPluginLocalFileBackupPlugin.delete_from_s3()LocalFileBackupPlugin.delete_local_backup()LocalFileBackupPlugin.download_from_s3()LocalFileBackupPlugin.get_backups()LocalFileBackupPlugin.refresh_backup_list()LocalFileBackupPlugin.restore_backup()LocalFileBackupPlugin.set_backup_sticky()LocalFileBackupPlugin.take_backup()LocalFileBackupPlugin.upload_to_s3()
- Minecraft Module
MinecraftModuleMinecraftModule.mc_only()MinecraftModule.mc_accept_eula()MinecraftModule.mc_add_op_entry()MinecraftModule.mc_add_to_whitelist()MinecraftModule.mc_buk_get_categories()MinecraftModule.mc_buk_get_installed_plugins()MinecraftModule.mc_buk_get_install_update_plugin()MinecraftModule.mc_buk_get_plugin_info()MinecraftModule.mc_buk_get_plugins_for_category()MinecraftModule.mc_buk_get_popular_plugins()MinecraftModule.mc_buk_get_remove_plugin()MinecraftModule.mc_buk_get_search()MinecraftModule.mc_ban_user_by_id()MinecraftModule.mc_clear_inventory_by_id()MinecraftModule.mc_get_failure_reason()MinecraftModule.mc_get_head_by_uuid()MinecraftModule.mc_get_op_whitelist()MinecraftModule.mc_get_whitelist()MinecraftModule.mc_kick_user_by_id()MinecraftModule.mc_kill_by_id()MinecraftModule.mc_load_op_list()MinecraftModule.mc_reject_eula()MinecraftModule.mc_remove_op_entry()MinecraftModule.mc_remove_whitelist_entry()MinecraftModule.mc_smite_by_id()
AMP Instance Classes:
- Controller Instance
AMPControllerInstanceAMPControllerInstance.idAMPControllerInstance.disabledAMPControllerInstance.is_remoteAMPControllerInstance.platformAMPControllerInstance.datastoresAMPControllerInstance.creates_in_containersAMPControllerInstance.can_createAMPControllerInstance.available_instancesAMPControllerInstance.available_ipsAMPControllerInstance.tagsAMPControllerInstance.urlAMPControllerInstance.last_updatedAMPControllerInstance.instance_idAMPControllerInstance.stateAMPControllerInstance.fitnessAMPControllerInstance.friendly_nameAMPControllerInstance.state_reasonAMPControllerInstance.descriptionAMPControllerInstance.tags_listAMPControllerInstance.triggersAMPControllerInstance.instancesAMPControllerInstance.instance_conversion()AMPControllerInstance.get_instance()AMPControllerInstance.get_instances()
- Generic Instance
AMPInstanceAMPInstance.amp_versionAMPInstance.application_endpointsAMPInstance.app_stateAMPInstance.container_cpusAMPInstance.container_memory_mbAMPInstance.container_memory_policyAMPInstance.daemonAMPInstance.daemon_autostartAMPInstance.deployment_argsAMPInstance.descriptionAMPInstance.disk_usage_mbAMPInstance.display_image_sourceAMPInstance.exclude_from_firewallAMPInstance.friendly_nameAMPInstance.ipAMPInstance.instance_idAMPInstance.instance_nameAMPInstance.is_container_instanceAMPInstance.is_httpsAMPInstance.management_modeAMPInstance.metricsAMPInstance.moduleAMPInstance.module_display_nameAMPInstance.portAMPInstance.release_streamAMPInstance.runningAMPInstance.suspendedAMPInstance.tagsAMPInstance.target_idAMPInstance.urlAMPInstance.get_application_status()AMPInstance.get_instance_status()AMPInstance.get_updates()AMPInstance.start_instance()AMPInstance.stop_instance()AMPInstance.restart_instance()AMPInstance.update_instance()
- Target/ADS Instance
AMPADSInstanceAMPADSInstance.amp_versionAMPADSInstance.application_endpointsAMPADSInstance.app_stateAMPADSInstance.container_cpusAMPADSInstance.container_memory_mbAMPADSInstance.container_memory_policyAMPADSInstance.daemonAMPADSInstance.daemon_autostartAMPADSInstance.deployment_argsAMPADSInstance.descriptionAMPADSInstance.disk_usage_mbAMPADSInstance.display_image_sourceAMPADSInstance.exclude_from_firewallAMPADSInstance.friendly_nameAMPADSInstance.ipAMPADSInstance.instance_idAMPADSInstance.instance_nameAMPADSInstance.is_container_instanceAMPADSInstance.is_httpsAMPADSInstance.management_modeAMPADSInstance.metricsAMPADSInstance.moduleAMPADSInstance.module_display_nameAMPADSInstance.portAMPADSInstance.release_streamAMPADSInstance.runningAMPADSInstance.suspendedAMPADSInstance.tagsAMPADSInstance.target_idAMPADSInstance.url
- Minecraft Instance
AMPMinecraftInstanceAMPMinecraftInstance.amp_versionAMPMinecraftInstance.application_endpointsAMPMinecraftInstance.app_stateAMPMinecraftInstance.container_cpusAMPMinecraftInstance.container_memory_mbAMPMinecraftInstance.container_memory_policyAMPMinecraftInstance.daemonAMPMinecraftInstance.daemon_autostartAMPMinecraftInstance.deployment_argsAMPMinecraftInstance.descriptionAMPMinecraftInstance.disk_usage_mbAMPMinecraftInstance.display_image_sourceAMPMinecraftInstance.exclude_from_firewallAMPMinecraftInstance.friendly_nameAMPMinecraftInstance.ipAMPMinecraftInstance.instance_idAMPMinecraftInstance.instance_nameAMPMinecraftInstance.is_container_instanceAMPMinecraftInstance.is_httpsAMPMinecraftInstance.management_modeAMPMinecraftInstance.metricsAMPMinecraftInstance.moduleAMPMinecraftInstance.module_display_nameAMPMinecraftInstance.portAMPMinecraftInstance.release_streamAMPMinecraftInstance.runningAMPMinecraftInstance.suspendedAMPMinecraftInstance.tagsAMPMinecraftInstance.target_idAMPMinecraftInstance.url
- API Utility
Types:
- Enums
AccessModeStateADSModeStateAMPDownloadMirrorStateAMPInstanceStateAMPInstanceState.undefinedAMPInstanceState.stoppedAMPInstanceState.pre_startAMPInstanceState.configuringAMPInstanceState.startingAMPInstanceState.readyAMPInstanceState.restartingAMPInstanceState.stoppingAMPInstanceState.preparing_for_sleepAMPInstanceState.sleepingAMPInstanceState.waitingAMPInstanceState.installingAMPInstanceState.updatingAMPInstanceState.awaiting_user_inputAMPInstanceState.failedAMPInstanceState.suspendedAMPInstanceState.maintenanceAMPInstanceState.indeterminate
AMPThemeApplicationUpdatesStateAppStartupModeStateContainerMemoryPolicyStateDefaultIPBindingStateLoggingLevelStatePortAssignmentStatePostCreateActionsStatePostCreateStateReleaseStreamStateTwoFactoryModeState
- Types
- Data Modules
APIParamsActionResultActionResultErrorAnalyticsCountryDataAnalyticsCountryData.countryAnalyticsCountryData.display_session_timeAnalyticsCountryData.session_countAnalyticsCountryData.session_time_percentAnalyticsCountryData.total_session_timeAnalyticsCountryData.unique_player_countAnalyticsCountryData.unique_player_percentAnalyticsCountryData.session_percent
AnalyticsFilterAnalyticsStatsAnalyticsSummaryAnalyticsTopPlayersBackupBuildInfoConsoleEntriesControllerController.idController.disabledController.is_remoteController.platformController.datastoresController.creates_in_containersController.can_createController.available_instancesController.available_ipsController.tagsController.urlController.last_updatedController.instance_idController.stateController.fitnessController.friendly_nameController.state_reasonController.descriptionController.tags_list
CreateInstanceCreateInstance.target_ads_instanceCreateInstance.friendly_nameCreateInstance.moduleCreateInstance.new_instance_idCreateInstance.instance_nameCreateInstance.ip_bindingCreateInstance.port_numberCreateInstance.admin_usernameCreateInstance.admin_passwordCreateInstance.provision_settingsCreateInstance.auto_configureCreateInstance.post_createCreateInstance.start_on_bootCreateInstance.display_image_sourceCreateInstance.target_datastore
DeploymentTemplateDeploymentTemplate.clone_role_into_userDeploymentTemplate.descriptionDeploymentTemplate.idDeploymentTemplate.moduleDeploymentTemplate.nameDeploymentTemplate.template_base_appDeploymentTemplate.template_instanceDeploymentTemplate.template_roleDeploymentTemplate.match_datastore_tagsDeploymentTemplate.settings_mappingsDeploymentTemplate.start_on_bootDeploymentTemplate.tagsDeploymentTemplate.zip_overlay_pathDeploymentTemplate.to_dict()
DirectoryFileChunkFitnessInstanceInstance.application_endpointsInstance.app_stateInstance.container_memory_mbInstance.container_memory_policyInstance.daemonInstance.daemon_autostartInstance.deployment_argsInstance.disk_usage_mbInstance.exclude_from_firewallInstance.friendly_nameInstance.ipInstance.instance_idInstance.instance_nameInstance.is_container_instanceInstance.is_httpsInstance.management_modeInstance.moduleInstance.portInstance.release_streamInstance.runningInstance.suspendedInstance.target_idInstance.amp_versionInstance.container_cpusInstance.tagsInstance.module_display_nameInstance.metricsInstance.display_image_sourceInstance.descriptionInstance.online()
InstanceDatastoreMCUserMessagesMetricMetricsDataPlayerPlayersRoleRunningTaskRunningTask.is_primary_taskRunningTask.start_timeRunningTask.idRunningTask.nameRunningTask.descriptionRunningTask.hide_from_uiRunningTask.fast_dismissRunningTask.last_update_pushedRunningTask.progress_percentRunningTask.is_cancellableRunningTask.originRunningTask.is_indeterminateRunningTask.stateRunningTask.status
ScheduleDataSessionStatusTriggerIDUpdatesUser
Docs:
- Method Events
- Method Information
- BanUser
- BanUserIP
- CheckForUpdates
- CheckForUpdates - MinecraftModule
- CommandWithWarnings
- DiscordMessage
- Fabulous
- GiveXP
- IfCondition
- KickUser
- KillPlayer
- MakeGETRequest
- MakePOSTRequest
- PushMessage
- PushMessageChannel
- Restart
- RestartIfEmpty
- RestoreBackup
- SaveChanges
- ScheduleEmptyUpdate
- SendConsole
- SendConsoleAdv
- SendGlobalTitle
- SendMail
- SendMultipleConsole
- SendServerMessage
- SendTitle
- SendUserMessage
- SendWakeOnLan
- SetGameTime
- SlackMessage
- Sleep
- SmitePlayer
- Start
- Stop
- StopIfEmpty
- TakeBackup
- TakeBackupWhileDown
- TakeStickyBackup
- TeleportToCoords
- TeleportToPlayer
- UpdateAndRestart
- Wait
- Weaken
- Method Information
- Trigger Events
- Permission Nodes
- Setting Nodes