added the ability to order server addons (like ipv4 address) + updated server ordering example script to showcase new functionality
This commit is contained in:
		@@ -17,6 +17,14 @@ let TRANSACTION_ID = "YOUR_TRANSACTION_ID_HERE";
 | 
			
		||||
// Example: 2739642
 | 
			
		||||
let AUCTION_PRODUCT_ID = 0; // Replace with an actual auction product ID
 | 
			
		||||
 | 
			
		||||
// Server Number for fetching server addon products or ordering addons.
 | 
			
		||||
// Example: 1234567
 | 
			
		||||
let SERVER_NUMBER = 0; // Replace with an actual server number
 | 
			
		||||
 | 
			
		||||
// Addon Transaction ID for fetching specific addon transaction details.
 | 
			
		||||
// Example: "B20220210-1843193-S33055"
 | 
			
		||||
let ADDON_TRANSACTION_ID = "YOUR_ADDON_TRANSACTION_ID_HERE";
 | 
			
		||||
 | 
			
		||||
// --- Server Ordering Operations ---
 | 
			
		||||
 | 
			
		||||
// 1. Get all available server products
 | 
			
		||||
@@ -176,4 +184,66 @@ try {
 | 
			
		||||
} catch (err) {
 | 
			
		||||
    print("Error ordering auction server: " + err);
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// 11. Get all available server addon products
 | 
			
		||||
// This section retrieves all available server addon products for a specific server
 | 
			
		||||
// and prints them in a human-readable table format.
 | 
			
		||||
// Uncomment the following lines and set SERVER_NUMBER to an actual server number to use.
 | 
			
		||||
/*
 | 
			
		||||
print("\nFetching all available server addon products for server: " + SERVER_NUMBER + "...");
 | 
			
		||||
try {
 | 
			
		||||
    let available_server_addons = hetzner.get_server_addon_products(SERVER_NUMBER);
 | 
			
		||||
    available_server_addons.pretty_print();
 | 
			
		||||
    print("All available server addon products fetched and displayed.");
 | 
			
		||||
} catch (err) {
 | 
			
		||||
    print("Error fetching all available server addon products: " + err);
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// 12. List all addon transactions from the past 30 days
 | 
			
		||||
// This section retrieves all server addon order transactions from the past 30 days.
 | 
			
		||||
// Uncomment the following lines to list addon transactions.
 | 
			
		||||
/*
 | 
			
		||||
print("\nFetching all server addon transactions from the past 30 days...");
 | 
			
		||||
try {
 | 
			
		||||
    let addon_transactions_last_30 = hetzner.get_server_addon_transactions();
 | 
			
		||||
    addon_transactions_last_30.pretty_print();
 | 
			
		||||
    print("All addon transactions fetched and displayed.");
 | 
			
		||||
} catch (err) {
 | 
			
		||||
    print("Error fetching addon transactions: " + err);
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// 13. Order a server addon
 | 
			
		||||
// This section demonstrates how to order a new server addon.
 | 
			
		||||
// Ensure SERVER_NUMBER, PRODUCT_ID, and REASON are set correctly.
 | 
			
		||||
// Uncomment the following lines to order a server addon.
 | 
			
		||||
/*
 | 
			
		||||
print("\nAttempting to order a server addon for server: " + SERVER_NUMBER + " with product ID: " + SERVER_PRODUCT_ID);
 | 
			
		||||
try {
 | 
			
		||||
    let order_addon_builder = new_server_addon_builder(SERVER_NUMBER, SERVER_PRODUCT_ID)
 | 
			
		||||
        .with_reason("Test order") // Mandatory for some addon types, e.g., "ip_ipv4"
 | 
			
		||||
        .with_test(true); // Set to 'false' for a real order
 | 
			
		||||
 | 
			
		||||
    let ordered_addon_transaction = hetzner.order_server_addon(order_addon_builder);
 | 
			
		||||
    print("Server addon ordered successfully. Transaction details:");
 | 
			
		||||
    print(ordered_addon_transaction);
 | 
			
		||||
} catch (err) {
 | 
			
		||||
    print("Error ordering server addon: " + err);
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// 14. Query a specific server addon transaction by ID
 | 
			
		||||
// This section demonstrates how to fetch details for a specific server addon transaction.
 | 
			
		||||
// Uncomment the following lines and set ADDON_TRANSACTION_ID to an actual transaction ID to use.
 | 
			
		||||
/*
 | 
			
		||||
print("\nAttempting to fetch specific server addon transaction with ID: " + ADDON_TRANSACTION_ID);
 | 
			
		||||
try {
 | 
			
		||||
    let queried_addon_transaction = hetzner.get_server_addon_transaction_by_id(ADDON_TRANSACTION_ID);
 | 
			
		||||
    print("Specific server addon transaction details:");
 | 
			
		||||
    print(queried_addon_transaction);
 | 
			
		||||
} catch (err) {
 | 
			
		||||
    print("Error fetching specific server addon transaction: " + err);
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
		Reference in New Issue
	
	Block a user