Only this pageAll pages
Couldn't generate the PDF for 756 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Products

Loading...

Release Notes

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Set up IONOS Cloud

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

AI

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Compute Services

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

May 2025

What's new

May 2 Managed Kubernetes is releasing Kubernetes version 1.32. For more information about the schedule timeline, see . The updated schedule now also mentions the end-of-life dates for version 1.29.

Managed Kubernetes Version
Release Schedule

January 2025

What's new

January 27

API Gateway supports a Caching feature that improves API performance and reduces server load. Caching stores the response to an API request and serves it to the client.

January 7

January 2024

What's new

January 10

2023 Releases

September 2023

What's new

September 20

IONOS offers the New Object Storage Web Console (Beta), an enhanced version of the existing Object Storage Web Console in the DCD, providing improved user experience and performance, intuitive design, and faster responsiveness while having the same feature set as the existing web console. Currently, the feature is in the Beta phase and is available by default to all new and existing users. You are encouraged to try out the new web console. This new application console does not impact the functionality of the existing web console.

September 4

May 2023

What's new

May 30

Cloud DNS is now available as an Early Access (EA) feature. You can publish DNS Zones of your domains and subdomains on public Name Servers using Cloud DNS. You may also programmatically manage your DNS Zones and Records via API.

DCD Default Settings

To edit the default settings, follow these steps:

  1. In the DCD, go to Menu > My Profile > DCD Default Settings.

  2. A My settings window will open up. Set the default values for Session settings, Data Center settings, Server settings, Storage settings, and IP settings from the respective drop-down lists.

Result: Your new settings will be updated immediately. You can undo your changes either by selecting Reset or Reset All.

Resource Overview

You can track the global usage of resources available in your account along with the overview of usage limits per instance.

To view the resource overview, follow these steps:

  1. In the DCD, go to Menu > Management > Resource Overview.

  2. A Resource Overview window will open up with a summary of all resources.

2025 Releases

2024 Releases

June 2024

What's new

June 28

June 10

March 2024

What's new

March 28

IONOS DBaaS provides support for MariaDB clusters to suit your needs. It offers resources such as CPU cores, RAM size (GB), and storage types to create database clusters. Additionally, the database clusters facilitate point-in-time recovery and backup features, making them highly reliable. It also facilitates cloud-based database patching and scalability. The migration process is straightforward due to its compatibility with MySQL.

March 20

March 13

February 2024

What's new

February 27

February 22

February 5

Information on security advisory for CVE-2024-21626 is available on the documentation portal. The vulnerability enables containerized escape for attackers using a malicious image, a malicious Dockerfile, or an upstream image.

February 1

The following significant changes are being made to IONOS APIs, SDKs authentication methods, and token management to enhance user security.

  • Effective March 15, 2024, the Basic Authentication across IONOS’ APIs and SDKs is completely deprecated for user accounts with 2-Factor Authentication (2FA) enabled or 2FA forced. Impacted users can only generate tokens from the API/SDK Authentication Token Manager.

October 2023

What's new

October 26

The documentation portal now contains information about the new security advisories that Acronis reported. You can find more details about the reported vulnerabilities on the following pages:

October 25

VM Auto Scaling is now available as an Early Access (EA) feature. It is a cloud computing feature that dynamically scales in or scales out the number of virtual machine instances (horizontal scaling) based on customizable monitoring events. The metric-based policy, defined during its configuration, constantly monitors the load and regularly scales the number of VM instances based on the policy threshold. The functionality ensures that the number of replicas in the group remains within the defined constraints.

Documentation updates

October 18

The documentation for Backup Service has been updated to include a new section called Install the Acronis Backup Agent on Linux. This section provides prerequisites, step-by-step instructions, and configuration options to ensure a seamless installation experience.

June 2023

What's new

June 20

June 1

Updates

June 1

Firewall rules configuration for a Network Interface Card (NIC) is now extended to support IPv6. With this enhancement, Firewall rules support ICMPv6 as a protocol, IPv6 addresses as source or destination IPs, and lets you specify the IP version for which a given rule is applicable.

June 1

With IONOS extending IPv6 support to Compute Engine instances, you can now use the Flow Logs to capture data related to IPv6 network traffic flows in addition to IPv4.

Set User Privileges for Data Center

Users need appropriate privileges to create and manage data center. The group privilege called Create Data Center must be enabled for a group so that the members of this group inherit it through group privilege settings and can create and manage Virtual Data Center (VDCs).

To set user privileges to create and manage VDCs, follow these steps:

  1. In the DCD, go to Menu > Management > Users & Groups under Users.

  2. Select the Groups tab in the User Manager window.

  3. Select the appropriate group to assign relevant privileges.

  4. In the Privileges tab, select Create Data Center.

Note: You can remove the privileges from the group by clearing Create Data Center.

Result: The privilege to create and manage VDCs is granted to all the members in the selected group.

Revoke user privileges

You can revoke a user's Create Data Center privilege by removing the user from all the groups with this privilege enabled.

Warning: You can revoke a user from this privilege by disabling Create Data Center for every group the user belongs to. In this case, all the members in the respective groups would also be revoked from this privilege.

To revoke this privilege from a contract administrator, disable the administrator option on the user account. After performing this action, the contract administrator will become a contract user, and the privileges that were set up for the user before becoming an administrator will then be in effect.

Payment Details

You can view and update your account's billing and payment details.

Note:

  • Only users with the contract owner role are authorized to modify payment details.

  • Available payment options vary based on the country associated with your contract; as a result, you may see both options or only Credit card. The availability of SEPA Direct Debit is subject to geographic restrictions.

To edit the payment details, follow these steps:

  1. In the DCD, go to Menu > Your Profile > Payment details.

  2. The Payment Details window will open up. You can set up the payment method by selecting Set up payment method. A Change payment method window will open up.

  3. Select the payment methods in Available payment methods to choose from how you would like to pay. The Credit card option is selected by default.

  1. Select Save to make changes.

Result: Your Payment details will be saved.

Management

Manage user access and security policies with features in Identity and Access Management.

Usage provides insights into resource usage, cost incurred, and cost alerts for your account.

Features

Identity and Access Management (IAM)

  • Users & Groups: Facilitates adding new users, assigning roles, and managing access permissions.

  • Password Policy: Enforces rules for password strength, expiration, and complexity to ensure secure authentication.

  • Token Manager: Manages authentication tokens, ensuring secure access control across systems.

Usage

  • Cost & Usage: Monitors and reports on resource consumption.

  • Cost Alert: Sends notifications when usage exceeds predefined cost thresholds.

  • Resource Overview: Provides a comprehensive view of all resources and their limits.

Quick Links

Embeddings

One seemingly simple task for humans is identifying semantically similar concepts. Take the following three texts, for example:

  • "AI Model Hub"

  • "Michael Jackson"

  • "best-selling music artists"

For a human, it is easy to tell that "Michael Jackson" and "best-selling music artists" are related, while "AI Model Hub" is not.

Embeddings, a core concept in modern foundation models, provide an effective way for machines to perform this kind of semantic comparison. An embedding is a numerical vector representation of a text, where the key property is this: semantically similar texts have similar vectors.

Semantic similarity

To illustrate this, imagine we convert the three example texts into embeddings:

  • "AI Model Hub": (0.10; 0.10)

  • "Michael Jackson": (0.95; 0.90)

  • "best-selling music artists": (0.96; 0.87)

In practice, embedding vectors have dozens or even thousands of dimensions. Here, we simplify them to 2D for clarity. These embeddings can be visualized like this:

As shown, the embeddings for "Michael Jackson" and "best-selling music artists" are close to each other, while "AI Model Hub" is farther away, mirroring our intuitive understanding.

Embedding models are models that convert data—like text, into these embeddings. They exist for different types of content, including text (in one or multiple languages), images, audio, and more. The IONOS AI Model Hub supports embedding models for English text and multilingual models.

To measure how similar two embeddings are, we use a similarity score. One commonly used metric is cosine similarity, which calculates the cosine of the angle between two vectors. The score ranges from -1 to 1:

  • 1: very similar

  • 0: unrelated

  • -1: opposite meanings (in rare cases)

Explore further

Use Cases

Below, we present two use cases that showcase practical applications of AI, complete with source code you can use immediately.

Use Case 1: Enrich Text with AI-Generated Images

Key Learnings

  • Understand the benefits of enriching text with AI-generated images.

  • Generate photorealistic or stylized images tailored to your needs.

Use Case 2: Intelligent Document Search with AI

Key Learnings

  • Understand how document collections are used to store documents based on semantic similarity.

  • Upload documents to a searchable collection for easy retrieval.

  • Improve search accuracy and relevance for user queries.

Associate an SSH key with a VM

To associate an SSH key with a Linux storage image of a VM, follow these steps:

  1. Log in to the DCD with your credentials.

  2. If a VM does not exist, drag a VM element (a Dedicated Core server, a vCPU Server, or a Cube) from the palette onto the workspace based on your needs. Else, you can choose to add storage to an existing VM.

  3. Click + on the VM to attach storage.

  1. Based on the need, either associate an HDD or an SSD storage by choosing one of these options: Create and attach HDD Storage or Create and attach SSD Storage.

  1. Click Create HDD Storage or Create SSD Storage. The option differs based on the storage type you have chosen.

Result: The selected SSH key is associated with your VM.

Connect to your VM (Linux) instance via an SSH client

You can connect to your VM instance using an SSH client. However, it varies depending on your operating system.

  • Linux: Search Terminal or press CTRL+ALT+T.

  • macOS: Search Terminal.

  • Windows: Search Bash. If you do not have it installed, use PuTTY instead.

Follow these steps to connect to your VM:

For a private key, ensure that you have the location of the private key (.pem file), the username, and the public DNS name. Enter the following command:

Note: — When you log in for the first time, your local machine does not recognize the server, so you will be prompted to continue the connection. You can type yes and then press ENTER.

  1. Authentication is the next step in the connection process. You will be able to connect to the VM immediately if you have added the SSH keys or after entering your key pair's passphrase.

If you have not already added SSH keys, you will be prompted for your password:

The terminal remains empty for you to paste the initial password into. Pasting into text-based terminals is different from desktop applications. It is also different from one window manager to another:

  • For Linux Gnome Terminal, use CTRL+SHIFT+V.

  • For macOS, use the SHIFT-CMD-V or a middle mouse button.

  • For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable the QuickEdit mode.

  1. Press ENTER after you enter the password.

Result: You can log in to your VM instance if the SSH key is configured correctly.

Create a Data Center

Prerequisites:

— Make sure you have the corresponding permissions to create and manage data centers. By default, contract administrators and owners can create a data center.

To create a data center, use one of the following options:

Option 1: From the left navigation panel

  1. In the DCD, go to Virtual Data Centers > Create new. A drop-down window appears.

  1. Provide the following details:

  • Name: Enter a name to identify the data center uniquely.

  • Region: From the drop-down list, choose the physical location of the data center that hosts your infrastructure.

  1. Select Create to confirm.

Alternatively, you can also create a data center using the following options:

Option 2: From the DCD home page

  • In the DCD, go to the My Virtual Data Centers section and click Create new.

  • Select Create to confirm.

Result: The data center has been created and can be opened in the workspace. Your DCD dashboard displays the newly created VDC in My Virtual Data Centers.

Info: You can log in to the DCD and scale your infrastructure capacity. Alternatively, you can set defaults and create new resources when needed.

Next steps

Associate an SSH key with a VM

To associate an SSH key with a Linux storage image of a VM, follow these steps:

  1. Log in to the DCD with your credentials.

  2. If a VM does not exist, drag a VM element (a Dedicated Core server, a vCPU Server, or a Cube) from the palette onto the workspace based on your needs. Else, you can choose to add storage to an existing VM.

  3. Click + on the VM to attach storage.

  1. Based on the need, either associate an HDD or an SSD storage by choosing one of these options: Create and attach HDD Storage or Create and attach SSD Storage.

  1. Click Create HDD Storage or Create SSD Storage. The option differs based on the storage type you have chosen.

Result: The selected SSH key is associated with your VM.

Network File Storage is now in the General Availability (GA) phase. It offers shared file storage for multiple virtual machines and containerized workloads via the Network File System (NFS) protocol, along with seamless integration of Network File Storage in Kubernetes environments. You can now access the product in all data center locations. For more information, see .

Logging Service now allows the primary account owner to create sub-users and delegate pipeline management responsibilities. Sub-users can only view and manage the pipelines assigned to them by the primary account owner and are not authorized to access pipelines created by other sub-users or the primary account owner. Hence, your credentials and data are secure and not shared with other sub-users. For more information, see .

2023 Releases

The following is a list of releases in 2023:

The Cloud DNS is now in General Availability (GA) phase. You can publish DNS zones of your domains and subdomains on public Name Servers using Cloud DNS. With the Cloud DNS API, you can create DNS zones and DNS records, import and export DNS zones, secure your DNS zones with DNSSEC and create secondary zones. Additionally, you can also set up ExternalDNS for your with Cloud DNS.

You can set the default values for your . Each time you open a new VDC, will place your resources in the preset location, assigning them the same number of cores, memory size, capacity, and reserved . For example, you can specify that all new VDCs must be located in Berlin or that all processors will use the Intel architecture.

Info If you want to extend these resources, contact .

2025 Releases

The following is a list of releases in 2025:

2024 Releases

The following is a list of releases in 2024:

for DNS zones and records management is now also available via the Data Center Designer (DCD) graphical user interface. Leverage the capabilities of either the DCD or the based on your specific needs and use case for DNS management.

The self-restoration of MariaDB clusters from a backup via the has been made possible by enhanced IONOS DBaaS for MariaDB, which minimizes downtime and data loss in unanticipated scenarios. For more information about its use cases, see .

Starting today, the Backup Service management servers will switch to the new IP addresses. We recommend you update the configured firewall rules so that the firewall does not restrict backup agent access and allows the backup agents to communicate effectively. For more information, see .

Logging Service is enhanced to allow sub-users within your contract number to use their IONOS credentials and access Grafana upon meeting the . This enhancement improves accessibility and provides a seamless experience for all users within the Grafana environment.

You can now interact with the via the managed Grafana provided by the Logging Service. It is also compatible with Prometheus specifications. The Telemetry API uses the same authentication as the IONOS Cloud API; hence, you can use the same API token to authenticate with the Telemetry API.

now lists IONOS Cloud as the Crossplane Provider. With Crossplane, you can convert a Kubernetes cluster into a universal control plane.

A new way to from the Data Center Designer (DCD) is introduced.

HDD and ISO images are now accessible through the Data Center Designer (DCD) and the . These latest Debian images are compatible with all IONOS Compute Engine instances, including and .

Internet Protocol version 6 (IPv6) is now a General Availability (GA) feature for all IONOS Compute Engine instances of type and . Applications can now be hosted in the dual stack with connectivity over both IPv6 and IPv4 within virtual data centers and to and from the internet.

Prerequisite: Make sure you have one or more Groups in the User Manager. To create one, see .

Select this option to enter your Credit card information. Each transaction is encrypted using Secure Socket Layer (SSL), and the information is secure. You need to provide the following information:

  • Card number: Enter the valid card number for payment processing.

  • Expires (month): Select the expiration month of your credit card from the drop-down list.

  • Expires (year): Select the expiration year of your credit card from the drop-down list.

  • Card verification code: Enter the security code on your credit card to verify the legitimacy during online transactions.

  • Credit card holder's address: You can provide the billing address associated with the credit card for verification purposes. Select either of the following options:

    • Same address as customer data: Select this option if you want to input the same address as you used in customer data.

    • Different address: Select this option to input a different address and provide the name of the Cardholder, Street and number, City, ZIP code, and Country.

    Once done, select Until further notice, I agree that IONOS will collect all amounts due from the above credit card.

Select this option to enter the SEPA Direct Debit information. The SEPA Direct Debit processing can take up to 24 hours. You need to provide the following information for Authorisation for SEPA Direct Debit.

  • Customer Name/Account Holder: Enter the name of the account holder associated with the bank account.

  • IBAN: Enter the complete International Bank Account Number (IBAN).

    (Optional) Once done, select Third-Party Direct Debit Details to authorize a third party, such as a company or service provider, to give your consent to access your bank account.

    • Select I agree that the amounts due may be debited from the specified account until cancelled.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

To try out embeddings in practice, see .

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

At IONOS, we believe AI is transforming the way we interact with technology and each other. Through our AI Model Hub, we offer a variety of . You can now harness these cutting-edge capabilities to drive innovation in your business.

Adding relevant visuals to text—whether on a website, social media, or marketing materials—boosts engagement and impact. With state-of-the-art , you can generate high-quality images from descriptive text prompts.

Learn how to craft effective prompts for .

For a step-by-step guide, see .

Finding the right document in file storage can be frustrating when you remember the topic but not the exact location. With , AI can help you search smarter by retrieving documents based on their meaning, not just keywords.

To optimize your file searches, check out .

By leveraging these AI-powered solutions, you can streamline workflows, improve efficiency, and unlock new possibilities for your business. Explore more advanced today!

Open the terminal window on your local computer and enter the SSH connection command below. After the @, add the of your VM instance. Next, press ENTER.

— Only users with Create Data Center privilege can create a data center. For more information, see .

Description: (Optional) Add information that describes the .

Create default network security group: Select the checkbox to associate a default security group with the data center. By default, a set of predefined security rules are applied to all Virtual Machines (VMs) created in that respective data center. You can also later and of a default security group.

Provide the details to create a data center. For more information, see Step 2 in .

After you create a Virtual Data Center (VDC) and are familiar with the primary areas of the DCD application, start navigating through the to familiarize yourself with it before you configure the VDC.

Caching feature in API Gateway
Network File Storage General Availability
Features and Benefits
December 2023 Releases
November 2023 Releases
October 2023 Releases
September 2023 Releases
August 2023 Releases
July 2023 Releases
June 2023 Releases
May 2023 Releases
New Object Storage Web Console (Beta)
Cloud DNS General Availability
Managed Kubernetes
Cloud DNS
Virtual Data Centers (VDCs)
DCD
storage
IP addresses
IONOS Cloud Support
ssh -i /path/key-pair-name.pem instance-username@instance-public-dns-name

Identity & Access Management

Manage password policies, users, groups, and token management for secure access control.

Usage

Track cost alerts, usage data, and resource overview for efficient cost management.

Product Renaming FAQs

The following are a few FAQs to provide an insight about renaming the product from Virtual Server(s) to Dedicated Core Server(s).

What is the reason for renaming "Virtual Servers" to "Dedicated Core Servers"?

The name change is part of our ongoing efforts to better reflect the performance and benefits of our Virtual Machines. "Dedicated Core Servers" emphasizes the dedicated nature of the compute resources assigned to each instance, ensuring consistent performance and increased reliability.

Will there be any changes in the features or specifications of the product with this name update?

No, there won't be any changes in the features or specifications of the product. The only update is the product name from "Virtual Servers" to "Dedicated Core Servers".

What is the difference between "Virtual Servers" and "Dedicated Core Servers"?

The underlying technology and capabilities of the Virtual Machines remain the same. The primary difference lies in the name. With "Dedicated Core Servers," you can still expect virtualized environments but with the added emphasis on dedicated resources per instance.

Will the pricing change with this new name?

There will be no changes to the pricing structure due to the name update. The costs and billing for our Virtual Machines, now known as "Dedicated Core Servers," will remain the same as they were for "Virtual Servers."

Are "Dedicated Core Server" instances isolated from each other?

Yes, "Dedicated Core Server" instances are isolated from one another. Each instance operates independently, with dedicated CPU cores, memory, and storage, ensuring a high level of performance and security.

How will this name change affect existing users of "Virtual Servers"?

Existing users of "Virtual Servers" will experience no functional changes or disruptions due to the name update. Your current virtual server instances will be referred to as "Dedicated Core Server" instances from now on.

Can I still use the same APIs and tools to manage Dedicated Core Servers?

Yes, you can continue to use the same APIs and tools that were used to manage regular virtual servers for the newly renamed Dedicated Core Servers.

Are there any actions I need to take as a user after this renaming?

No, as a user, you do not need to take any action. The name change is purely cosmetic, and your existing configurations and access to your instances will remain unchanged.

Will there be any updates to the user interface or API documentation as a result of this name change?

Yes, we will update the user interface and API documentation to reflect the new name "Dedicated Core Servers". Rest assured, the changes will be cosmetic, and the functionality will remain consistent.

Can I still create and manage multiple "Dedicated Core Servers" instances under my account?

Absolutely! You can continue to create and manage multiple "Dedicated Core Server" instances as per your requirements, just as you did with "Virtual Servers."

Where can I find more information or support regarding "Dedicated Core Server" instances?

For more information or support, you can refer to our documentation on the "Dedicated Core Server" product page on our documentation portal. Additionally, our customer support team is available to assist you with any questions or concerns you may have.

April 2025 Releases
March 2025 Releases
February 2025 Releases
January 2025 Releases
December 2024 Releases
November 2024 Releases
October 2024 Releases
August 2024 Releases
July 2024 Releases
June 2024 Releases
May 2024 Releases
April 2024 Releases
March 2024 Releases
February 2024 Releases
January 2024 Releases
DCD Support for Cloud DNS
Cloud DNS
API
IONOS DBaaS for MariaDB
Grafana Access Enhancement for Sub-Users in Logging Service
IONOS Telemetry API for Logging Service
IONOS Telemetry API
IONOS Cloud Crossplane Provider is now available in the official Upbound Crossplane Marketplace
Upbound Crossplane Marketplace
Advisory on Container Escape via runc (CVE-2024-21626)
API/SDK Authentication Token Manager
manage authentication tokens
Advisories reported by Acronis
Advisory on CVE-2023-45247
Advisory on CVE-2023-45248
VM Auto Scaling
Install Acronis Backup Agent on Linux
Debian 12 Images
Debian 12
Cloud API
Dedicated Core Servers
Cloud Cubes
IPv6 General Availability
Dedicated Core Servers
Cloud Cubes
Configure Firewall Rules for IPv6
Flow Logs for IPv6
free
Create your contract
Text Embeddings
free
Create your contract
AI features
Text-to-Image models
Text-to-Image models
Enrich Texts with AI-Generated Images
Retrieval Augmented Generation
Intelligent Document Search with AI
AI features
IP address
Set User Privileges for Data Center
Virtual Data Center (VDC)
customize the rules
members
Data Center Designer
Create a Data Center

February 2025

What's new

February 28

February 26

A new tutorial on using acme.sh with IONOS Cloud DNS to manage SSL/TLS certificates is now available. This tutorial covers the installation, configuration, and automation of certificate renewal.

February 24

February 13

February 3

AI Model Hub supports the models Llama 3.3 (70B) and Teuken (7B). Document collections can now use all supported embedding models, allow for chunking, and support PostgreSQL as an alternative backend.

Documentation updates

February 28

May 2024

What's new

May 30

May 24

IONOS announces the release of our Certbot plugin for Cloud DNS. With this plugin, you can automate the process of obtaining and renewing SSL/TLS certificate. This feature enhances security and simplifies certificate management for your domains.

May 23

Information on the security advisory for CVE-2024-4323 reported by Tenable Research is now available in the documentation portal. The memory corruption vulnerability in Fluent Bit can result in a denial of service, information disclosure, or remote code execution.

May 17

May 13

May 7

Logging Service is enhanced to allow you to configure an unlimited retention period for your logs. With this enhancement, you can store your logs for an indefinite period. The enhancement is available since April 29, 2024.

May 6

Information on the security advisory for four vulnerabilities reported by Acronis is now available in the documentation portal. These vulnerabilities reported in the Cyber Protect Agent cause local privilege escalation and information manipulation without authorization.

November 2023

What's new

November 28

November 23

Information on security advisory for CVE-2023-23583, also known as Escalation of privilege for some Intel processors vulnerability, is available on the documentation portal. This vulnerability is based on an unexpected behavior for some Intel(R) processors that may allow an authenticated user to potentially enable escalation of privilege and information disclosure or denial of service via local access.

November 15

Documentation updates

November 13

November 1

Information on security advisory for CVE-2023-20569, also known as Return Form Procedure (RET) Speculation or Inception is available on the documentation portal. This vulnerability is reported by AMD as a sensitive information disclosure due to speculative side-channel attacks.

August 2023

What's new

August 18

August 18

August 14

IONOS MongoDB database cluster offers MongoDB Enterprise edition supporting versions 5.0 and 6.0 to suit the requirements of enterprise-level deployments. This edition provides advanced capabilities such as sharding database type, enabling the BI Connector, and more resources - CPU cores, RAM size (GB), and storage types to create database clusters. Additionally, the enterprise database clusters facilitate point-in-time recovery and offsite backup features making these clusters highly reliable.

August 10

A vCPU Server is a new virtual machine provisioned and hosted in one of IONOS's physical data centers. It behaves like a physical server and can be used as a standalone product or combined with other IONOS cloud products. To configure a vCPU Server, choose a preset (S, M, L, XL, and XXL) that suits your needs. Presets are a combination of specific vCPU-to-RAM ratios. The number of vCPUs and RAMs differs based on the selected preset. You can also tailor the vCPU-to-RAM ratios to meet your requirements—the Preset automatically changes to Custom when you edit the predefined ratio.

August 8

The documentation for Kubernetes Versions now contains the following details:

  • Managed Kubernetes releases Kubernetes version 1.27; hence, the Available column now mentions the release date.

  • Kubernetes version 1.24 has reached an end-of-life; hence, the Kubernetes end of life column has been updated accordingly.

Documentation updates

Note: The documentation portal URLs are directly affected by the below-mentioned updates. As a result, if you have bookmarked specific pages from the documentation portal, we recommend revisiting the pages and bookmarking the new URLs.

August 10

The following sections have been renamed in the documentation portal:

  • Compute Engine is now called Compute.

  • Virtual Machines is now called Compute Engine.

August 10

Cloud Cubes is no longer under Virtual Machines, but an independent section under Compute.

July 2023

What's new

July 17

Managed Stackable version 23.4 is now newly available and the only version currently supported for creating a new Managed Stackable cluster. Older clusters retain their original version.

July 7

The documentation for Managed Kubernetes has been updated to include information about the maintenance window as well as the cluster and node pool maintenance processes.

July 7

The documentation for Managed Kubernetes has been updated to include information about Kubernetes versions and their availability.

July 5

The Vulnerability Register serves as a comprehensive record detailing security vulnerabilities that impact IONOS Cloud products and services. This report has been developed as an integral component of our continuous commitment to assist you in effectively mitigating security risks and safeguarding the integrity of your systems.

July 3

Application Load Balancer is now in the General Availability (GA) phase. With the Application Load Balancer (ALB), incoming application layer traffic can be routed to targets based on user-defined rules.

July 3

Network Load Balancer is now in the General Availability (GA) phase. With the Network Load Balancer (NLB), you can automatically distribute workloads over several servers, which minimizes disruptions during scaling.

July 3

NAT Gateway is now in the General Availability (GA) phase. With the NAT Gateway, you can enable internet access to virtual machines without exposing them to the internet by a public interface. It acts as an intermediary device that translates IP addresses between the private network and the public internet.

My Customer Data

To view or update your data, such as the organization's name and address or contact details, follow these steps:

  1. In the DCD, go to Your Profile > My Customer Data.

  2. A My customer data window will open up. You can view the Email Address, a Contract Number, Company name, First name, and Last name.

  1. Select Edit to update the Street address, ZIP, and City in the Address section. Select Save to make changes.

  1. Select Edit to update the primary Contact email address, Billing email address and Phone number associated with your account in the Contact section. You can also add other billing addresses by selecting Add another billing email address. Select Save to make changes.

Result: Your Customer Data will be saved.

Usage

With Usage, you can track your resource usage, cost incurred, and cost alerts for your account.

Access Permissions

To access Usage features, select Menu > Management on the top navigation menu of the DCD. You will see the following features in the drop-down menu:

Note: The features are subject to access levels based on the user's role.

Quick Links

Data Handling

As artificial intelligence continues to evolve, it is paramount to ensure that user data is handled responsibly and transparently. This commitment protects user privacy and builds trust in the technology we provide. At IONOS, we strive to uphold the highest standards in data handling while delivering innovative AI solutions through our AI Model Hub.

Data Collection, Usage, and Storage

  • Stateless Service: AI Model Hub operates as a stateless service, meaning it does not retain user prompts or outputs. Each session is independent, ensuring that your interactions are not logged or recorded for future reference or used to train or improve models.

  • Data Collections: Customers can upload their documents to a Vector database. Each collection is dedicated to a customer by design and is securely stored in a database in our Berlin data center, ensuring that user data is subject to strict geographic regulations and protections.

  • Service Logs: We collect standard service logs like any other application. These logs are essential for operational integrity and performance tracking. They are used to:

    • Monitor the overall performance and health of the AI Model Hub service.

    • Identify and troubleshoot any potential issues that may arise.

    • Provide support services effectively when users encounter difficulties.

Data Security

Our infrastructure is hosted in our Berlin data center, designed to meet stringent security standards.

We employ multiple security measures, including:

  • Encryption protocols to protect data both at rest and in transit.

  • The use of API key tokens protects API endpoints.

  • Regular security audits and compliance checks to identify and mitigate potential vulnerabilities.

Privacy Guidelines

Compute Engine

Product Overview

How-Tos

Developer Tools

Frequently Asked Questions (FAQs)

DCD How-Tos

Connect via Remote Console

Prerequisites: Make sure you have the appropriate permissions. Only contract administrators, owners, or users with access rights to the data center can connect to a server. Other user types have read-only access and cannot provision changes.

  1. Start the Remote Console from the server.

  2. Log in to the DCD with your credentials.

  3. In the Workspace, select the server.

  4. In the Inspector pane, choose Console or select Console from the context menu of the server.

  5. Start the Remote Console from the Start Center (contract owners and administrators only).

  1. Open the Start Center by clicking on the Menu Bar > Data Center Designer > Open Start Center.

  1. Open the Details of the required data center. A list of servers in this data center is displayed.

  2. Select the server and click Open Remote Console.

Result: Remote Console version matching your browser opens; you can now log in to the server with the root or administrator password.

Connect to Virtual Machines via SSH

Note: Connecting via SSH is only possible with the Linux operating system, not Windows, because IONOS Windows images do not support SSH key injection.

Establish connection using SSH Keys

With SSH key-based authentication, you can establish secure connections to your Linux VMs. An SSH key is composed of a public-private key pair:

  • A private key: It stays on your local system. Ensure that you do not share your private key.

  • A public key: It is saved on your VM and enables you to access your provisioned VMs.

When you connect to your VM (which has the public key) using an SSH client, the remote VM validates the private key of the client. The client can access the VM only if the client has the correct private key.

Supported SSH Key types

SSH keys are necessary to connect via SSH. The following are the types of SSH keys that can be used for an SSH connection:

Keys from the SSH Keys view

Ad-hoc SSH Keys

SSH keys that you intend to use often, either as default or non-default.

SSH keys that you only use once and do not intend to save in the SSH Keys view for reuse.

Select the Default checkbox in the SSH Keys to set them as default SSH keys.

An Ad-hoc SSH Key cannot be set as default.

Default SSH keys are preselected when you configure storage devices.

An Ad-hoc SSH Key must be specified manually.

Clear the Default checkbox if you do not want to set them as default. However, you can still associate a non-default SSH key while adding storage to a VM element.

You can specify only one Ad-hoc SSH Key when you associate a storage with the VM element.

Workflow

You can connect to the VM via SSH in the following ways:

Manage SSH keys

The DCD's SSH Keys view allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.

Store SSH Keys in the DCD

To save your SSH key in the DCD, follow these steps:

  1. Log in to the DCD with your credentials.

  2. Go to Menu > Management > SSH Keys.

  1. Select + Add Key in the top left corner.

  1. Enter a Name and click Add.

  2. Paste the SSH key from the clipboard into the SSH key field. If you have saved your SSH key in a file, you can upload it by selecting the Choose file button in the Select Key file field.

Note: Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.

  1. (Optional:) Select the Default checkbox to have the SSH key pre-selected when configuring SSH access. Clear the checkbox if you do not want the key to be set as default.

  2. Click Save to save the key.

Result: The SSH key is visible and saved in the SSH Keys view. It can be used for the configuration of SSH accesses.

Delete an SSH key

To delete an existing SSH key, follow these steps:

  1. Log in to the DCD with your credentials.

  2. Go to Menu > Management > SSH Keys.

  3. Select the respective SSH key from the list.

  4. Click Delete Key.

  5. Click OK in the Delete SSH key confirmation dialog box.

Result: The selected SSH key is deleted.

Changes to AMD Opteron Virtual Machines

Note: Starting July 29th, creating new VMs with AMD Opteron CPUs will no longer be possible. Existing VMs can continue to run and will be unaffected by this change. They can also undergo normal power cycles without impacting functionality.

Best practices for provisioning new Opteron VMs

For Terraform Users

Configuration check:

  • Ensure that the cpu_family parameter in your Terraform configuration file (*.tf) is not set to AMD_OPTERON.

Provisioning:

  • Before provisioning new VMs, verify that the Terraform configuration file (*.tf) is updated appropriately.

  • Run terraform plan to confirm the configuration is correct.

  • Provision the VM using terraform apply.

For Crossplane Users

Configuration check:

  • If the specification file has the cpuFamily set to AMD_OPTERON, it should be updated to avoid errors.

  • Failure to update the cpuFamily parameter will result in an error when managing VMs.

Verification:

  • Check your specification files for the cpuFamily parameter.

  • Update the parameter from AMD_OPTERON to the appropriate value according to your needs.

Limitations while creating new VMs with AMD Opteron

These limitations apply when you try to create new VMs:

  • You cannot select AMD Opteron as the CPU architecture for New VMs.

  • You cannot switch a running or deallocated VM's CPU family to AMD Opteron.

Manage SSH keys

The DCD's SSH Keys view allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.

Store SSH Keys in the DCD

To save your SSH key in the DCD, follow these steps:

  1. Log in to the DCD with your credentials.

  2. Go to Menu > Management > SSH Keys.

  1. Select + Add Key in the top left corner.

  1. Enter a Name and click Add.

  2. Paste the SSH key from the clipboard into the SSH key field. If you have saved your SSH key in a file, you can upload it by selecting the Choose file button in the Select Key file field.

Note: Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.

  1. (Optional:) Select the Default checkbox to have the SSH key pre-selected when configuring SSH access. Clear the checkbox if you do not want the key to be set as default.

  2. Click Save to save the key.

Result: The SSH key is visible and saved in the SSH Keys view. It can be used for the configuration of SSH accesses.

Delete an SSH key

To delete an existing SSH key, follow these steps:

  1. Log in to the DCD with your credentials.

  2. Go to Menu > Management > SSH Keys.

  3. Select the respective SSH key from the list.

  4. Click Delete Key.

  5. Click OK in the Delete SSH key confirmation dialog box.

Result: The selected SSH key is deleted.

Generate SSH keys

To generate SSH keys, ensure that you have ssh-keygen command-line tool installed. ssh-keygen is a utility for generating SSH key pairs and storing them in a secure location. With these keys, you can connect to your instances without encountering the login prompt. You can use the SSH keys on a macOS or a Linux using an SSH client.

You can manually generate SSH keys when working with a SSH client using the following:

  1. Enter the following command into the terminal window on your computer and press ENTER.

Result: The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.

  1. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.

If you have previously generated a key pair, you may see the following prompt. If you choose to overwrite the key, you will no longer authenticate with the previous key.

  1. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase) SSH key. However, we recommend that you use a passphrase.

  2. Enter your passphrase once more.

You can copy the public key to your clipboard by running the following command:

 pbcopy < ~/.ssh/id_rsa.pub

DCD How-Tos

October 2024

What's new

October 18

The documentation portal now has information on the security advisory for a critical vulnerability reported in Grafana 11. This vulnerability may allow attackers to execute arbitrary code on affected systems, leading to complete system compromise.

October 15

The documentation portal now has information on the security advisory for vulnerabilities reported in the Kubernetes Image Builder that enables default credentials during the image build process.

October 9

October 8

The documentation portal now has information on the security advisory for vulnerabilities reported in the Linux Common Unix Printing System (CUPS). By chaining these vulnerabilities, an attacker could cause remote code execution.

October 7

Information on the security advisory for three vulnerabilities reported by Redis is now available in the documentation portal. These vulnerabilities, reported by Redis, allow an authenticated remote user to execute arbitrary remote code and perform Denial of Service (DoS) attacks.

October 1

Reverse DNS is now available via the IONOS Data Center Designer (DCD). You can leverage its capabilities to create and efficiently manage Reverse DNS (PTR) records for IPv4 and IPv6 addresses.

October 1

October 1

The IONOS AI Model Hub now supports Llama 405B from Meta.

Documentation updates

October 17

October 15

April 2024

What's new

April 30

April 25

IONOS Object Storage has increased the length of all newly generated Access Keys and Secret Keys to prepare for the upcoming new functionalities on the offering. Access Keys will now be 92 characters long, and Secret Keys will be 64 characters long.

April 22

Managed Kubernetes now supports Regional Control Planes, allowing users to deploy and manage Kubernetes clusters to new geographic regions with ease. You can benefit from optimized performance and reduced latency between the control plane and the nodes of the node pools within the same region.

April 10

April 5

Information on security advisory for CVE-2024-3094 is available on the documentation portal. The vulnerability enables remote system breaches via SSH, and immediate action is required to resolve it.

Documentation updates

April 2

We are thrilled to announce the release of our revamped documentation portal landing page. The enhancement includes significant improvements to the design outlook and website navigation to streamline the user experience and to make accessing information more accessible and more efficient.

Card-based Design: Visually appealing card layouts provide users with concise information and an easier way to engage with the documentation portal.

April 2

To reinforce consistency in the product category and product names across IONOS website and documentation portal, the following changes are made effectively:

— The product categories are renamed, added, and removed.

— Some of the product names in our documentation portal are renamed and reorganized into product categories in a way that it improves easy discoverability of documentation.

Note: The product renaming does not have any impact on its services and functionality. Incorporation of the updated product names across our documentation pages is an ongoing development, and we will be rolling out this update in phases.

Identity & Access Management

Identity and Access Management (IAM) is a framework of policies and technologies used to ensure that the right users (or entities) have the appropriate access to IONOS Cloud resources. It helps you to control your resources securely and authenticate and authorize access users to use resources and your IONOS Cloud account.

Identity management

When you create an account with IONOS Cloud, you become the contract owner and can access your account using your username and password. To begin with, you login with a sign-in identity and will have access to all the services and resources associated with the account. Ensure that your contract owner credentials are safe.

Next, from your contract owner account, you can set up other users and assign them roles and resources they need. For example, an administrators can have additional permissions whereas or sub-users can have limited permissions.

Access management

Once you create sub-users, they can log in to the IONOS Cloud account using their credentials. The credentials are validated before authorizing access to the resources and privileges associated with the respective user account.

By managing identities and their access privileges, IAM helps protect sensitive data and systems, reducing the risk of unauthorized access. You can control who can access specific resources and ensure compliance with security standards and regulations for your organization.

Access Permissions

To access Identity & Access Management features, select Menu > Management on the top navigation menu of the DCD. You will see the following features in the drop-down menu:

Note: The features are subject to access levels based on the user's role.

Quick Links

Advanced Concepts

We introduce several advanced concepts to help you better understand and apply AI technologies.

Concept 1: Embeddings

Embeddings are layers in deep learning models representing data in a lower-dimensional space. Although they do not make the final prediction themselves, embeddings can help identify semantically similar objects — crucial for tasks such as recommendation, clustering, and search.

Key learnings

  • Understand the basic idea behind embeddings.

  • Learn how to use embeddings to measure semantic similarity.

Concept 2: Tool Calling

Tool calling allows a model to access external tools—such as APIs, databases, or custom functions—at runtime. Developers define the available tools in the model's prompt, and the model learns to decide when to use a tool versus when to answer based on its internal knowledge. This enables language models to work with up-to-date, private, or computational information they couldn't otherwise access.

Key learnings

  • Understand how tool calling extends a model’s functionality beyond its training data.

  • Learn what tool calling enables and where its limitations lie.

FAQs

The AI Model Hub is focused on offering an API. While this is great in terms of integrating the solution into your existing code , it has a downside: Errors and problems that arise are often not obvious enough to fix. This FAQ gathers the most important issues:

How do I fix an unauthorized, incorrect, or no API key error?

  • IONOS_API_TOKEN is not set: Check whether your system's environment variable is set. The simplest way to do this is by adding the line

    to your code. If nothing is shown, the environment variable is not set. Please set it.

How do I fix a 404 Not Found error?

Communication with the AI Model Hub is by API endpoints. These endpoints often contain IDs, like the Collection ID, a Model ID or some similar ID. One typical example of such an API endpoint is the endpoint to see all uploaded documents in a specific document collection:

Notice that the variable COLLECTION_ID is part of the API endpoint URL. If you, for example, have previously deleted this endpoint, a request to it will return a '404 Not Found' error.

To ensure the ID exists, invoke the higher-level endpoint with a get request. This will return a list of all entries, and you can choose one of the existing IDs. In the above example, the Python command could be:

An entry item exists in the resulting JSON document, which gathers all available document collections.

How do I fix a 500 Internal Server error?

Generate SSH keys

To generate SSH keys, ensure that you have ssh-keygen command-line tool installed. ssh-keygen is a utility for generating SSH key pairs and storing them in a secure location. With these keys, you can connect to your instances without encountering the login prompt. You can use the SSH keys on a macOS or a Linux using an SSH client.

You can manually generate SSH keys when working with a SSH client using the following:

  1. Enter the following command into the terminal window on your computer and press ENTER.

Result: The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.

  1. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.

If you have previously generated a key pair, you may see the following prompt. If you choose to overwrite the key, you will no longer authenticate with the previous key.

  1. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase) SSH key. However, we recommend that you use a passphrase.

  2. Enter your passphrase once more.

You can copy the public key to your clipboard by running the following command:

Migrate from AMD Opteron Servers in Frankfurt (de/fra)

As we prepare to phase out the AMD Opteron servers in Frankfurt (de/fra), this article serves as a detailed guide to help you transition your AMD Opteron-based Compute Engine workloads to other server options within the Frankfurt location.

Important: You should perform the necessary changes from April 1, 2025, until May 13, 2025. After that period, we will change the CPU architecture of the remaining servers to AMD Epyc, ensuring continued operation, as we will be decommissioning the AMD Opteron physical hardware from this location.

Migration options and instructions

Important notice regarding software licensing

As you plan to migrate your Virtual Machines (VMs) from Opteron-based processors to newer options like Dedicated Core - AMD Epyc or vCPU Servers, please be aware of potential licensing implications for software running on your VMs.

Key points

Licensing on logical processors

Specific software licenses are explicitly tied to the number of logical processors recognized by the operating system. Opteron processors utilize a one-core, one-thread configuration. In contrast, newer processors like EPYC or those used in vCPU Servers use hyper-threading, where each core has two threads and is recognized as two separate logical processors.

Impact of migration

When migrating to hyper-threaded CPUs, a VM configured for a single logical processor on Opteron will appear to have precisely two logical processors on newer CPUs. It could impact your software licenses, as they may not authorize the additional logical processor, potentially leading to compliance issues and operational disruptions.

Recommendation

Review your software licensing agreements before migration and ensure compliance with the license terms when configuring VMs on hyper-threaded CPUs.

Cubes

Cubes are virtual private service instances with shared resources. Refer to our user guides, reference documentation, and FAQs to support your hosting needs.

Product Overview

How-Tos

Developer Tools

Frequently Asked Questions (FAQs)

Enable IPv6

You can enable IPv6 on Cubes when you create them or after you create them.

Set up IPv6

You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Cubes, you can ensure that they are accessible to IPv6-enabled networks and clients.

Prerequisites:

  • Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract administrators, owners, or users with the Create VDC privilege.

Note:

  • The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.

  • IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.

  • You can create a maximum of 256 IPv6-enabled LANs per VDC.

  1. Log in to DCD with your username and password.

  2. Select the Network option on the right pane for the specific Cube and enter the following:

  • Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).

  • MAC: This field is automatically populated.

  • LAN: Select an IPv6 enabled Local Area Network (LAN).

  • Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.

  • Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.

  • IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.

  • IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down list in Add IP.

  1. Click PROVISION CHANGES.

API

A step ahead in the AI Model Hub: Along with our , you can now use AI Model Hub via the to test the most critical endpoints. Additionally, we will extend the free service for another three months. We offer a set of applications and code projects you can use to get your AI journey started. For more information, see .

DBaaS now supports MongoDB 7.0. The creation of MongoDB 5.0 clusters is discontinued. Existing clusters are not affected; they can be to a higher major version.

IONOS now supports Windows Server 2025 images, both and , via the DCD and the API in all server locations.

We have introduced a Tutorials section in the documentation to enhance the user experience and simplify setup processes. This section provides step-by-step instructions and best practices for configuring and managing VPN Gateways. The guides you through creating an IPSec tunnel between a Virtual Data Center (VDC) and an on-premises gateway, offering clear guidance for a smooth setup.

IONOS Object Storage introduces contract-owned buckets in a new region eu-central-3. Users within a single organization can benefit from our Object Storage using contract-owned buckets. Users can now create this bucket type from within the . The earlier bucket-type functionality presented within the Object Storage continues to be supported and is now referred to as user-owned buckets. For the list of operations supported in contract-owned buckets, see .

This detailed will help you get started with the Certbot plugin for Cloud DNS, which provides step-by-step instructions on how to set up and use the plugin effectively.

IONOS has introduced self-service functionality features via the DCD to improve the customer experience by giving users control over certain features. provides additional control and flexibility to your account. With the module, you can add new payment methods. This feature has enhanced security to provide seamless yet strong customer authentication.

You can now leverage the IONOS Cloud DNS API service to create and manage Reverse DNS (PTR) records for IPv4 and IPv6 addresses. This enhancement enables you to efficiently manage your DNS configurations and network settings and enhance .

and now support Proxy Protocol versions to send additional connection information, such as the source and destination. The Targets associated with your ALB and NLB can now be configured to accept incoming traffic using the Proxy Protocol.

Logging Service is now in the General Availability (GA) phase. You can create logging pipeline instances on the available locations to gather logs from multiple sources. You may also programmatically manage your logging pipelines via the API. To learn more about what changed during the transition from the phase to the GA phase, see .

Cross Connect is now available as an feature on a restricted early access basis. To access this feature, please contact your sales representative or . With the enhanced feature, you can connect multiple seamlessly in the same region and under the same contract. Connections can be established via a private LAN only, thus enabling consistent and reliable data transfer and ensuring seamless connections, reduced latency, and minimized addressing discrepancies. Cross Connects are flexible, meaning you can easily modify the existing setup by effortlessly adding or deleting existing data centers or modifying the associated data centers.

This is solely for informational purpose and does not require any action from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .

Added information on security advisory for CVE-2022-40982, also known as “Gather Data Sampling” (GDS) or “Downfall” .

Info: If you want to make any changes, contact .

Info: If you want to update the Country, contact .

Menu item

Contract Owner

Administrator

User

+

+

+

+

+

+

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

GDPR compliance: AI Model Hub is designed to comply with the General Data Protection Regulation (GDPR), ensuring that we respect and uphold user rights regarding personal data. For more information, please check our .

With IONOS Cloud , you can quickly provision Dedicated Core servers and vCPU Servers. Leverage our user guides, reference documentation, and FAQs to support your hosting needs.

Prerequisites: Prior to setting up a virtual machine, please make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have read-only access and can't provision changes.

Learn how to create and configure a Dedicated Core inside of the DCD.

Learn how to create and configure a vCPU Server inside of the DCD.

Enable IPv6 support for Dedicated Core Servers and vCPU Servers.

Use the Remote Console to connect to Server instances without SSH.

Use Putty or OpenSSH to connect to Server instances.

Automate the creation of virtual instances with the cloud-init package.

The is used to connect to a when, for example, is not available. You must have the root or administrator password for this type of log-in to the server.

Open the containing the required server.

Note: — Use the Send Key Combo button on the top right of the Remote Console window to send shortcut key combinations (such as CTRL+ALT+DEL). — Launch the Remote Console window again with one click by bookmarking its URL address in your browser. — For security reasons, remember to close the browser used to connect to the with this bookmark once your session is complete.

When creating based on IONOS Linux images, you can inject into your . You can access your VMs safely on the IONOS Cloud, which uses SSH keys for authentication and secure communication. SSH keys that you intend to use more often can be saved in the view.

.

in the SSH Keys view for reuse. This is not applicable for an Ad-hoc SSH key.

with a VM and associate either a key saved in DCD SSH keys view or an Ad-hoc SSH key with it. You can choose an appropriate SSH key by selecting the respective checkbox. An Ad-hoc SSH key must be entered manually.

of your choice. An SSH client is a collection of tools for establishing SSH connections to remote servers. Example: OpenSSH, PUTTY, etc.

In addition to the SSH keys stored in the SSH Keys view, the IONOS SSH key concept supports for Dedicated Core servers, vCPU Servers, and Cubes.

The cpu_family parameter is optional, but if it is set to AMD_OPTERON, it must be updated or removed to avoid errors. For more information about the available options, see .

For further assistance or questions, contact .

In addition to the SSH keys stored in the SSH Keys view, the IONOS SSH key concept supports for Dedicated Core servers, vCPU Servers, and Cubes.

Result: After you confirm the passphrase, the public and private keys are generated and saved in the specified location. — The public key is saved in the id_rsa.pub file. Remember to upload this key to your account. — Your private key is saved in the id_rsa file in the .ssh directory and is used to verify if the public key you use belongs to the same DCD account. You will receive a similar confirmation message:

Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract administrators, owners, or users with the Create Data Center privilege can set up a . Other user types have a read-only access and cannot provision changes.

Learn how to create and configure a Cube within the DCD.

Enable IPv6 support for Cubes.

Use the Remote Console to connect to Server instances without SSH.

Use Putty or OpenSSH to connect to Server instances.

Automate the creation of virtual instances with the cloud-init package.

Learn how to suspend a Cube from within the DCD.

Learn how to resume a suspended Cube.

Cost Alert notification is essential for effective cloud cost management. These notifications act as alerts for spending thresholds, helping you control your budget, optimize resource usage, and make informed decisions about your cloud infrastructure. It is configurable via the DCD and the . Configuring a cost alert is solely within the authority of contract owners and users with administrator access rights. For more information, see .

Effective October 1st, we have updated our Cubes configuration templates to include more tailored options. We now offer nine template sizes, each varying by processor, memory, and storage capacities. The templates are divided into two categories: one for Basic Cubes and the other for Memory Cubes. To understand the detailed breakdown of resources for each template, see .

With a consistent approach to improve the user's experience with IONOS Cloud documentation, the Get Started section in the documentation portal is restructured to provide a simple, step-by-step guide that helps users onboard with setting up , managing user and account settings, and explore advanced product feature configurations. All these guides are categorized under the documentation portal's new section Set Up IONOS Cloud.

The IONOS Cloud products that are currently available only on a request basis are now shown with a label on the . Users can now scan through the page and easily identify such products and contact sales representative or to acess them. The products currently with this label are Event Streams for Apache Kafka, CDN, VPN Gateway, and Network File Storage.

IONOS DBaaS for MariaDB is now available across all IONOS Cloud locations. You can choose any location of your preference from the DCD when you your MariaDB cluster or perform the same actions via the . For a list of region-specific API endpoints, see .

For more information, see .

Starting in May, our Backup Service servers will use an additional IP subnet: 85.215.126.0/24. We recommend you update the configured firewall rules in advance so that the firewall does not restrict backup agent access and allows the backup agents to communicate effectively. For more information, see .

Website Navigation: Find the specific product documentation easily with a familiar navigational structure that rearranges the products in the in an alphabetical sequence.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

At IONOS, we believe AI is transforming the way we interact with technology and each other. Through our AI Model Hub, we offer a variety of and to help you get started quickly.

For more information, see .

Large Language Models are trained on historical data, so their built-in knowledge ends at a specific cutoff point. To extend their capabilities, you can use a technique called .

For more information, see .

If you want to see our AI Model Hub in action, use our or !

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

Our and documentation assume you have an environment variable called IONOS_API_TOKEN. The value of this environment variable needs to be a valid Authentication Token. If you get the described error, two reasons are possible:

Your Authentication Token is not valid: If the IONOS_API_TOKEN environment variable is set, but you still see this error, your authentication token might not be valid. Create a new Authentication Token as described in our tutorial.

We do our best to ensure our service is operational 24 hours, 7 days a week. If 500 Internal Server errors occur, it may be due to too much traffic on the AI Model Hub or an urgent infrastructure fix. Please retry your request. If the problem persists, contact .

Result: After you confirm the passphrase, the public and private keys are generated and saved in the specified location. — The public key is saved in the id_rsa.pub file. Remember to upload this key to your account. — Your private key is saved in the id_rsa file in the .ssh directory and is used to verify if the public key you use belongs to the same DCD account. You will receive a similar confirmation message:

You may choose between maintaining your servers and changing their CPU architecture or moving your workloads to .

As an option, you can upgrade your existing AMD Opteron-based Dedicated Core servers by simply updating their CPU Architecture to AMD Epyc. To do so: 1. Log in to your DCD, select the Dedicated Core server element in the workspace. 2. From the Inspector pane on the right, select AMD Epyc as the CPU Architecture in the Settings tab.

This switch ensures minimal downtime, and your current network configurations will remain unchanged. With AMD Epyc CPUs, you can experience up to four times the performance of an AMD Opteron CPU at a competitive rate. For more information, see server.

Note: As you update the CPU architecture from Opteron to EPYC, remember that this change involves a switch in the emulated hardware environment. On Windows virtual machines with manual network configurations, this transition may trigger the re-initialization of certain devices, including Network Interface Cards (NICs). We advise you to review and reapply your NIC settings as needed to ensure a smooth migration and maintain optimal network performance.

Alternatively, you can migrate your workloads to vCPU servers. This option requires:

  • provisioning new machines,

  • manually moving storage volumes, and

  • reconfiguring network settings.

Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have a read-only access and cannot provision changes.

To enable IPv6 for Cubes, connect it to an IPv6-enabled using the following:

This will incur some downtime during the transition. With vCPU servers, you will still experience approximately 80% of the performance of an Opteron core while benefiting from an exceptionally attractive price point. For more information, see .

AI Model Hub Use Cases
Tutorials
DCD
Use Cases
acme.sh Tutorial
MongoDB supported versions updated
upgraded
Windows Server 2025 Image Availability
public
private
AI Model Hub supports Llama 3.3 70B and Teuken
Introducing Tutorials section in VPN Gateway
VPN Gateway
new tutorial
Contract-Owned Buckets in IONOS Object Storage
Certbot Plugin for Cloud DNS
tutorial
Advisory on CVE-2024-4323
Enhancements in Self Service Functionality Feature
Customer data
Payment details
Reverse DNS (PTR) Record Management for IPv4 and IPv6 addresses
email deliverability
Unlimited Log Retention with the Logging Service
Advisory on Acronis Vulnerabilities
Advisory on Escalation of Privilege for Some Intel Processors (CVE-2023-23583)
Logging Service General Availability
Cross Connect
Early Access (EA)
customer support
Virtual Data Centers (VDCs)
Advisory on AMD Disclosed Vulnerability (CVE-2023-20569)
Renamed Virtual Server to Dedicated Core Server
Product Renaming FAQs
Advisory on Downfall: Information Disclosure in Intel Processors (CVE-2022-40982)
here
MongoDB for Enterprise
vCPU Servers
Renamed Certain Sections in the Documentation Portal
Cloud Cubes is a Separate Section
Managed Stackable new version
Managed Kubernetes Maintenance Window
Manage security risks with Vulnerability Register
Application Load Balancer General Availability
Network Load Balancer General Availability
NAT Gateway General Availability
IONOS Cloud Support
IONOS Cloud Support

Cost & Usage

Get a detailed view of cloud costs and consumption statistics.

Cost Alert

Set spending thresholds and receive alerts on cloud costs.

Resource Overview

View usage summaries and status of your cloud resources.

free
Create your contract
Data Processing Agreement
Compute Engine

Dedicated Core servers

Dedicated Core servers feature a dedicated physical core with two hyper-threads, ideal for performance-intensive tasks such as data processing, real-time analyses, etc.

vCPU Servers

vCPU servers provide cost-effective performance and scalability at an affordable price, ideal for databases, development and test environments, essential software services, etc.

Set Up a Dedicated Core server

Learn how to create and configure a Dedicated Core server within the DCD.

Set Up a vCPU Server

Learn how to create and configure a vCPU Server within the DCD.

Connect via Remote Console

Use the Remote Console to connect to server instances without SSH.

Connect via SSH

Use Putty or OpenSSH to connect to server instances.

Boot with cloud-init

Automate the creation of virtual instances with the cloud-init package.

Cloud API

Cloud API documentation for Dedicated Core servers and vCPU Servers.

Compute SDKs

SDK documentation for Dedicated Core servers and vCPU Servers.

Config Management Tools

Config Management Tools for Dedicated Core servers and vCPU Servers.

FAQs

Get answers to the most commonly encountered questions about Dedicated Core servers and vCPU Servers.

Remote Console
server
SSH
Virtual Data Center (VDC)
VM
storages
SSH keys
VM
DCD's
SSH Keys
Generate an SSH key
Store the default SSH key
Attach a Linux storage image
Connect to your VM (Linux) instance via an SSH client
Data centers
IONOS Cloud Support
DCD
VDC
Ad-hoc SSH keys
import os
print(os.environ.get("IONOS_API_TOKEN"))
f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}/documents"
import requests
HEADERS = {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {IONOS_API_TOKEN}',
}
print(requests.get(f"https://inference.de-txl.ionos.com/collections", headers=HEADERS).json())
 pbcopy < ~/.ssh/id_rsa.pub

Users & Groups

Set user privileges; limit or extend access to chosen roles.

Token Manager

Create, manage, and delete an authentication token using the API/SDK Authentication Token Manager.

Password Policy Management

Create and manage password policy to secure user accounts.

Cubes

Learn about its configuration templates, storage options, resource usage, and data security.

DCD How-Tos

Create, configure, and manage Cubes within the DCD.

API How-Tos

Create, configure, and manage Cubes via the API.

Cloud API

Cloud API documentation for Cubes.

Cubes SDKs

SDK documentation for Cubes.

Config Management Tools

Config Management Tools for Cubes.

FAQs

Get answers to the most commonly encountered questions about Cubes.

Cost and Usage
Cost Alert
Resource Overview
Set Up a Dedicated Core Server
Set Up a vCPU Server
Enable IPv6
Connect via Remote Console
Connect via SSH
Boot with cloud-init
Set Up a Cube
Enable IPv6
Connect via Remote Console
Connect via SSH
Boot with cloud-init
Suspend a Cube
Resume a Cube
Advisory on CVE-2024-9264
Advisory on Kubernetes Image Builder Vulnerabilities
Cost Alert notification
Advisory on Linux CUPS Vulnerabilities
Advisory on Redis Vulnerabilities
DCD support for Reverse DNS (PTR) record management
Updated Cubes Configuration Templates
Llama 405B added to AI Model Hub
Restructured Get Started Documentation
Data Center Designer
Available on request label
DBaaS for MariaDB is available in all IONOS Cloud locations
Managed Kubernetes - Regional Control Planes
Set Up a Cluster
Critical Backdoor in XZ Utils for Linux (CVE-2024-3094)
Redesigned Documentation Portal Landing Page
free
Create your contract
AI features
use case documentation
Embeddings
Tool Calling
Tool Calling
Tutorials
Use Cases
free
Create your contract
Tutorials
Use Case
Access Management
IONOS Cloud Support
DCD
Dedicated Core
vCPU Servers
vCPU Server
VDC
Local Area Network (LAN)
Ad-hoc SSH keys
ssh [email protected]
[email protected]'s password:
ssh-keygen
Enter file in which to save the key (/home/username/.ssh/id_rsa):
/home/username/.ssh/id_rsa already exists.
Overwrite (y/n)?
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AcP/ieiAOoD7MjrKepXks/qHAhrRasGOysiaIR94Quk [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|     .o          |
|      .o         |
|..     ..        |
|.oo .   ..       |
|+=.+ . .So .     |
|X+. * . . o      |
|&Eo. *           |
|&Oo.o o          |
|@O++..           |
+----[SHA256]-----+
ssh-keygen
Enter file in which to save the key (/home/username/.ssh/id_rsa):
/home/username/.ssh/id_rsa already exists.
Overwrite (y/n)?
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AcP/ieiAOoD7MjrKepXks/qHAhrRasGOysiaIR94Quk [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|     .o          |
|      .o         |
|..     ..        |
|.oo .   ..       |
|+=.+ . .So .     |
|X+. * . . o      |
|&Eo. *           |
|&Oo.o o          |
|@O++..           |
+----[SHA256]-----+

Menu item

Contract Owner

Administrator

User

+

+

+

+

+ (read-only)

+

+

+

Previous Releases

Welcome to the previous releases section of our documentation portal for IONOS Cloud. This section is dedicated to archiving previous release notes for the year(s), excluding the latest release.

March 2025

What's new

March 25 The Cost & Usage view has been revamped with a fresh and intuitive design. It provides:

  • A comprehensive summary of your account's cost for the past six months, including the current month.

  • A monthly report with detailed insights into all costs associated with using Virtual Data Centers (VDCs) and consuming other products and services.

  • Transparency about usage patterns and costs across product categories by displaying the total units consumed, cost per unit, and total cost incurred.

March 25

March 13

March 6

Network Security Groups are now available via the Data Center Designer (DCD) graphical user interface. To secure your network, you can create rules based on your use case and leverage the capabilities of either the DCD or the API.

Documentation updates

March 25

A new tutorial on managing TLS certificates using the IONOS Cloud DNS Webhook for cert-manager is now available. This tutorial covers the installation, configuration, and automation of certificate management for your Kubernetes cluster workloads. By following the steps, you can secure your applications with valid TLS certificates that are automatically renewed before they expire.

March 24

March 18

July 2024

What's new

July 31

IONOS releases the AI Model Hub platform, which features foundational models and vector databases as a service. Using these services, you can also implement retrieval augmented generation use cases.

We have added documentation support to help you use our new AI Model Hub. The key topics include:

— Guided steps for using our foundation models.

— Instructions for managing our vector database as a service.

— Steps to conduct retrieval augmented generation.

July 29

The Data Center Designer (DCD) now features a new dedicated Network menu aimed at consolidating all network-related products for easier access and streamlining product management within the DCD. The products now grouped under this menu include Connectivity, Load Balancing, Edge Networking, and Security products. The IP Management, Cross Connect, Target Groups, Cloud DNS, and SSL Certificate Manager products listed earlier under the Management menu have been moved to the Network menu.

July 29

IONOS releases Network File Storage, a managed service that offers shared file storage for multiple virtual machines and containerized workloads via the NFS protocol. The product is currently available on a request basis, will initially be available only in the German data centers (Frankfurt & Berlin), and will be gradually rolled out to all locations.

July 29

July 8

July 4

Information on the security advisory for CVE-2024-6387, announced by OpenSSH, is now available on the documentation portal. This advisory addresses a signal handler race condition in OpenSSH that affects sshd in its default configuration.

July 3

AMD Opteron CPUs will be phased out for Kubernetes node pools and new Opteron-based VMs. We recommend updating your Terraform and Crossplane configurations to reflect the new CPU type to avoid errors.

Documentation updates

July 31

We have updated the Backup Service documentation. The key topics include:

July 30

The Network Services product category now includes a new Certificate Manager section. This update relocates the Manage SSL Certificates documentation from the Managed Application Load Balancer product to the new section. Additional documentation on certificate management will be added shortly.

July 18

We have added documentation support to help you configure Veeam Backup & Replication with the new eu-central-3 Object Storage region. The key topics include:

— Guided steps for adding a new Object Storage repository.

— Instructions for creating backup jobs with performance-optimized settings.

— Steps to migrate your backup repository to the eu-central-3 region.

— Recommended settings to apply 8 MB blocks in storage optimization.

December 2023

What's new

December 20

IONOS now supports RHEL 8 images as part of our ongoing commitment to offering RHEL support to our users. As a result, RHEL 8 images are now compatible with the IONOS public cloud architecture.

December 18

IONOS is a certified partner of Red Hat and is authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This applies to public RHEL 9 images supplied by IONOS.

December 15

Managed Kubernetes now supports Private Node Pools, providing enhanced security, isolation, and flexibility to manage your Kubernetes workloads. You can create Private Node Pools within your Managed Kubernetes clusters to ensure your critical workloads remain secure and protected.

December 15

Now you can enable advanced features to boost the protection of your workloads:

  • Advanced Backup ensures continuous protection of your data, capturing even the most recent updates to prevent loss.

  • Advanced Security offers comprehensive, continuous malware threat mitigation for your data environments.

  • Advanced Management facilitates the patching of vulnerabilities within your protected data scope.

December 15

December 14

IONOS offers a revamped DCD interface for IONOS Object Storage in the General Availability (GA) phase. It is an enhanced version of the old DCD interface, providing improved user experience and performance, intuitive design, contextual help, and faster responsiveness. The user interface navigation label is renamed to IONOS Object Storage in the DCD.

December 14

December 13

December 13

December 4

IONOS is a certified partner of Red Hat and are authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This is applicable to both public RHEL images supplied by IONOS and user-uploaded private RHEL images.

Documentation updates

December 18

December 4

Get Started

This section covers the first steps to working with the IONOS Cloud DCD and explores helpful advanced guides for fully configuring and managing various IONOS Cloud solutions.

First steps

Access the DCD to create and configure your first data center with IONOS Cloud.

Explore advanced guides

Dive deeper with advanced and commonly referred user guides to continue your learning.

Account Security

To protect your IONOS Cloud account from unauthorized access, each account comes with the following security features:

Change Password

To change the password, follow these steps:

  1. In the DCD, go to Menu > Your Profile > Password & Security.

  2. In the Change Password view, enter your Current Password, New Password and then Repeat New Password.

  3. Select Change Password.

Result: The password is changed and becomes effective with the next login.

Set up 2-Factor Authentication

You can set up 2-Factor Authentication in addition to your login credentials. This authentication method requires an app-generated security code. Once 2-Factor Authentication has been activated, you can only access your account by entering the authentication code you receive from the Authenticator App. This method can be extended to hide specific data centers and snapshots from users, even if they belong to an authorized group. This feature is only available in DCD.

Prerequisites:

  • Based on your device, install any Authenticator App of your choice.

  • The Authenticator App must be able to access your camera, and the time on the mobile device needs to be set automatically.

You can turn on 2-Factor Authentication for your accounts.

Note: An administrator or a contract owner can enforce 2-Factor Authentication for subuser accounts but cannot enable it for those accounts. Only account users can enable 2-Factor Authentication for their accounts. Once you enable it, the DCD application will prompt you for 2-Factor Authentication during your next login.

To activate 2FA for your account, follow these steps:

  1. In the DCD, go to Menu > Your Profile > Password & Security.

  2. In 2-Factor Authentication section, select the Enable 2-Factor Authentication option. The 2-Factor Authentication Setup Assistant will open.

  1. Proceed through each step by selecting Next.

    • Scan the QR code using the Authenticator app on your smartphone.

    • Enter the Security Token.

    • Select Done to exit the 2-Factor Authentication window.

An administrator or a contract owner can enforce 2-Factor Authentication for subuser accounts but cannot enable it for those accounts. Only account users can enable 2-Factor Authentication for their accounts.

To activate 2FA for another user account, follow these steps:

  1. In the DCD, go to Menu > Management > Users & Groups.

  2. Select the required user in the User Manager window.

  3. In the Meta Data tab, select the Force 2-Factor Auth option.

  4. Select Save.

Result: The 2-Factor Authentication is enforced to your login workflow and becomes mandatory from your next login if you enable 2-Factor Authentication. You must provide a verification code each time you log in to the DCD.

Set Support PIN

To ensure that the support calls are made by authorized users, you are asked for the support PIN to verify the account. You can set your support PIN in the DCD and change it at any time.

To set or change your support PIN, follow these steps:

  1. In the DCD, go to Menu > Your Profile > Password & Security.

  2. In the Set Support PIN section, enter your support PIN in the PIN field to confirm your identity.

  3. Select Set Support PIN.

Password Policy

The Password Policy feature in IONOS Cloud helps organizations enforce password security by defining a set of rules that must be followed when creating and updating passwords. This feature is crucial for safeguarding accounts and ensuring adherence to security standards. Always ensure that your policies are in line with industry best practices to safeguard your data effectively.

Note: Only contract owners can define the password policy applicable to the sub-users in the contract.

Features

  • Customizable Rules: The password rule can be customized to your needs such as recommendations to have complex passwords to improve the security of user accounts. You can define criteria on the length of the password, whether or not to include lowercase and uppercase letters, numbers, and special characters in the password and the minimum quantity of each of these character types.

  • Flexibility: Create, retrieve, update, or delete a password policy as needed. It is recommended to keep your policies reasonable to promote user compliance. On deleting a password policy, the IONOS standard applies for password management.

Info: The IONOS standard password policy requires a minimum of five characters and recommends including a combination of uppercase and lowercase letters, at least one number, and special characters if needed.

API endpoint

Password Policy Manager in the DCD

Create a password policy

To create a password policy, follow these steps:

1. In the DCD, go to Menu > Management > Password Policy.

2. Click Create password policy in the Password Policy Manager.

3. Enter the following details to configure a password policy:

  • Description: Add a detailed description that explains the password policy. The length of the description must not exceed 1024 characters.

  • Password length: Enter or use arrow keys to select the maximum password length. You cannot set a password policy that is less than 5 characters in length. For example, if the defined length is 9, the password must be a minimum of nine characters in length.

  • Must contain uppercase letters [A—Z]: Select the checkbox if the password policy must contain any uppercase letters from A—Z.

    • Minimum quantity: Enter or use arrow keys to specify the allowed count of uppercase characters in the password. For example, if 4 is the quantity chosen, the password must contain a minimum of four uppercase characters.

  • Must contain lowercase letters [a—z]: Select the checkbox if the password policy must contain any lowercase letters from a—z.

    • Minimum quantity: Enter or use arrow keys to specify the allowed count of lowercase characters in the password. For example, if 4 is the quantity chosen, the password must contain a minimum of four lowercase characters.

  • Must contain numerics [0-9]: Select the checkbox if the password policy must contain numbers from 0 to 9.

    • Minimum quantity: Specify the minimum allowed count of numerics in the password.

  • Must contain special characters [@, #, $, %, etc.]: Select the checkbox if the password policy must contain special characters. Any character apart from a—z,A—Z, and 0 to 9 is referred to as a special character.

    • Minimum quantity: Specify the minimum allowed count of special characters in the password.

Note:

— There are no maximum limits defined for the password length, number of lowercase, uppercase, numerics, and special characters. The quantity specified in the password policy refers to the minimum allowed values.

— When the checkbox for a specific character type to be allowed is selected, then their Minimum quantity allowed value cannot be zero.

4. Click Save password policy.

Result: The password policy is successfully created.

Note:

— The created password policy is enforced only on new users setting up the password. Existing user accounts continue to work on the password policy previously used.

— You can create only one password policy for your contract.

Update a password policy

To update an existing password policy, follow these steps:

1. In the DCD, go to Menu > Management > Password Policy.

2. Click Edit to update the description or password policy details such as the length of the password or characters allowed in the password policy.

3. Click Save to reflect the changes made to the password policy.

Result: The password policy is successfully updated and these changes apply to new users setting up the password. Existing user accounts continue to work on the password policy previously used.

Delete a password policy

If you no longer need a password policy, you can delete it permanently. To delete an existing password policy, follow these steps:

1. In the DCD, go to Menu > Management > Password Policy.

2. Click Delete and confirm the deletion again by selecting Delete and use IONOS Standard.

Info: The IONOS standard password policy requires a minimum of five characters and recommends including a combination of uppercase and lowercase letters, at least one number, and special characters if needed.

Result: The password policy is successfully deleted and the IONOS standard applies for password management.

Token Manager

This tutorial guides you through generating and managing authentication tokens in the Data Center Designer (DCD).

Note: The API/SDK Authentication Token Manager can be used by any user but is mandatory for 2FA enabled and forced accounts.

Generate authentication token

In the DCD, you can now generate the authentication token to securely access IONOS Cloud APIs and SDKs by using the API/SDK Authentication Token Manager. Along with improved user security, the Token Manager offers a seamless user experience to generate tokens in a simplified way and use the token several times to access the APIs and SDKs. You can generate up to 100 authentication tokens and use any of these token values for authorizing access to APIs and SDKs.

To create a secure authentication token for authorizing to use APIs and SDKs, follow these steps:

  1. In the DCD, go to Menu > Management > Token Manager.

  1. In the API/SDK Authentication Token Manager, select Generate Token.

  2. Copy the Token ID and Close the token-generated window.

Warning: You must save the token value for future uses. You will not be able to see the token value again due to security reasons.

Note: You can download the token value as a text file for future uses by selecting the Download option next to the Token Value.

Result: An authentication token is generated and listed in the API/SDK Authentication Token Manager screen.

Authentication token attributes

  • Each token has a Time To Live (TTL), which is the duration for which a token is valid before it expires and becomes inactive. Select a TTL value from the drop-down list. The following are the possible values:

    • 1 Hour

    • 4 Hours

    • 1 Day

    • 7 Days

    • 30 Days

    • 60 Days

    • 90 Days

    • 180 Days

    • 365 Days

  • Each token consists of:

    • Creation Date: The date and time stamp of the token.

    • Expiration Date: The date and time stamp when the token becomes invalid depending on the defined TTL at the time of token generation.

  • The generated token is listed in the API/SDK Authentication Token Manager screen.

  • The Token Value is displayed only once upon generation, and you must save this value for future use.

  • The token is valid based on the defined TTL field at the time of token generation.

Delete an authentication token

Note: The deletion of a token in the Authentication Token Manager will result in the deactivation of the token even when it has not expired. It becomes invalid immediately.

To delete an authentication token, follow these steps:

  1. In the DCD, go to Menu > Management > Token Manager.

  2. In the API/SDK Authentication Token Manager, select the authentication token to delete and select the Delete option.

  3. Select Delete to confirm.

Result: The authentication token is successfully deleted and removed from the tokens list in the API/SDK Authentication Token Manager.

Enable IPv6

You can enable IPv6 on Dedicated Core servers and vCPU Servers when you create them or after you create them.

Set up IPv6

You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Dedicated Core servers and vCPU Servers, you can ensure that they are accessible to IPv6-enabled networks and clients.

Prerequisites: Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract owners, admins, or users with create VDC privilege. The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.

Note:

  • IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.

  • You can create a maximum of 256 IPv6-enabled LANs per VDC.

Connect to Virtual Machines via SSH

Note: Connecting via SSH is only possible with the Linux operating system, not Windows, because IONOS Windows images do not support SSH key injection.

Establish connection using SSH Keys

With SSH key-based authentication, you can establish secure connections to your Linux VMs. An SSH key is composed of a public-private key pair:

  • A private key: It stays on your local system. Ensure that you do not share your private key.

  • A public key: It is saved on your VM and enables you to access your provisioned VMs.

When you connect to your VM (which has the public key) using an SSH client, the remote VM validates the private key of the client. The client can access the VM only if the client has the correct private key.

Supported SSH Key types

SSH keys are necessary to connect via SSH. The following are the types of SSH keys that can be used for an SSH connection:

Keys from the SSH Keys view

Ad-hoc SSH Keys

SSH keys that you intend to use often, either as default or non-default.

SSH keys that you only use once and do not intend to save in the SSH Keys view for reuse.

Select the Default checkbox in the SSH Keys to set them as default SSH keys.

An Ad-hoc SSH Key cannot be set as default.

Default SSH keys are preselected when you configure storage devices.

An Ad-hoc SSH Key must be specified manually.

Clear the Default checkbox if you do not want to set them as default. However, you can still associate a non-default SSH key while adding storage to a VM element.

You can specify only one Ad-hoc SSH Key when you associate a storage with the VM element.

Workflow

You can connect to the VM via SSH in the following ways:

Connect to your VM (Linux) instance via an SSH client

You can connect to your VM instance using an SSH client. However, it varies depending on your operating system.

  • Linux: Search Terminal or press CTRL+ALT+T.

  • macOS: Search Terminal.

  • Windows: Search Bash. If you do not have it installed, use PuTTY instead.

Follow these steps to connect to your VM:

ssh [email protected]

For a private key, ensure that you have the location of the private key (.pem file), the username, and the public DNS name. Enter the following command:

ssh -i /path/key-pair-name.pem instance-username@instance-public-dns-name

Note: — When you log in for the first time, your local machine does not recognize the server, so you will be prompted to continue the connection. You can type yes and then press ENTER.

  1. Authentication is the next step in the connection process. You will be able to connect to the VM immediately if you have added the SSH keys or after entering your key pair's passphrase.

If you have not already added SSH keys, you will be prompted for your password:

[email protected]'s password:

The terminal remains empty for you to paste the initial password into. Pasting into text-based terminals is different from desktop applications. It is also different from one window manager to another:

  • For Linux Gnome Terminal, use CTRL+SHIFT+V.

  • For macOS, use the SHIFT-CMD-V or a middle mouse button.

  • For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable the QuickEdit mode.

  1. Press ENTER after you enter the password.

Result: You can log in to your VM instance if the SSH key is configured correctly.

April 2025

What's new

April 30

  • Simplified navigation: Easy access to the product categories and groupings.

  • Better organization: Better and logical product groupings that make browsing and discovering them and associated services easier.

  • Improved user experience: Whether you are a first-time visitor or a returning user, the new interface ensures a smoother, more enjoyable journey.

  • Consistency: A consistent look and feel across all sections and optimized for all devices. This update is part of our ongoing commitment to providing a user-friendly experience that helps you easily find the right products. As a result, you can also see that we have already updated the images in certain sections of the documentation portal, while the rest are still in progress.

April 30

Event Streams for Apache Kafka service will now support Kafka version 3.8.0 starting 30 April 2025. In this context, we will mark version 3.7.0 as deprecated.

Starting 28 May 2025, creating new Kafka instances in version 3.7.0 will no longer be possible. We will then migrate existing instances from version 3.7.0 to version 3.8.0 without requiring any action from you or service interruption.

April 16

  • MSSQL-2019 (All Editions) on Windows-2019

  • MSSQL-2022 (All Editions) on Windows-2022

April 15

We are excited to announce the launch of Event Streams for Apache Kafka in our Las Vegas, United States (us-las), France, Paris (fr-par), and Spain, Logroño (es-vit) data centers in addition to the existing location support in Germany, United Kingdom, and the United States. Supporting these new locations ensures we can offer a co-located Managed Kafka at any of our existing data centers. The new endpoints are kafka.us-las, kafka.fr-par, and kafka.es-vit.

April 2

At IONOS, we are excited to announce the integration of Key Management Service (KMS) for seamless activation and management of Microsoft Windows operating systems within our cloud infrastructure. While the activation process for new Windows instances will continue to occur automatically, this enhancement will facilitate the reactivation and management of existing Windows instances.

April 1

April 1 IONOS announces the upcoming phasing out of AMD Opteron servers in the Frankfurt (de/fra) data center. This decision is part of our ongoing efforts to improve the product and align it with more efficient and future-proof solutions.

Account Management

An IONOS Cloud account represents your individual accounts associated with IONOS. Based on the user's roles, an account can be further categorized as the contract owner's account, administrator's account, or user account.

You can add cloud resources and manage the resources and your data on the cloud via your account. Each account is given a unique ID called the Contract ID during creation.

Features

  • Centralized customer profile management: It provides a unified view of your data, including contact information and organization details, keeping it consistent and up-to-date.

  • Secure payment and billing integration: It enables you to manage your payment methods with automated invoicing for timely payments, enhancing financial transparency while reducing the risk of billing discrepancies.

Access Permissions

To access your account, select Menu and click your initials on the top navigation menu of the DCD. You will see your user name, email address, contract number, and the following features in the drop-down menu:

Note: The features are subject to access levels based on the user's role.

Quick Links

Cost & Usage

The Cost & Usage view provides a more detailed and intuitive view of cloud costs and consumption statistics. The view gives you the ability to explore the usage of all services with the currently applicable list prices, excluding any discounts and VAT. It provides a clear breakdown of service usage and pricing, allowing for better visibility into your consumption patterns. It compares estimated costs and usage across various product categories, which are subdivided into specific line items. The page outlines the services or features used, the total units consumed, and the corresponding costs incurred.

The granular level of detail ensures you clearly understand where your resources are being utilized and how they contribute to overall spending. You can view relevant data that helps make informed decisions about your cloud resources.

Prerequisites: You must be one of the following to access the Cost & Usage view:

Note:

  • Billing is based on product usage, with charges computed according to the listed prices. Hence, it should be viewed as an estimate and may not match the final invoice details.

  • This page does not reflect special pricing or discounts, meaning the figures shown may not align with any custom agreements or promotional rates in place.

Access Cost & Usage

To view the services and products cost and usage for your account, follow these steps:

1. In the DCD, go to Menu > Management > Cost & Usage.

2. Select a Period from the drop-down list to generate a detailed report for the specified time frame. By default, the current month and its breakdown are displayed. Additionally, you have the option to generate a report for the past six months, starting from the current month.

Result: The report displays the following information:

  • Period: The current period is displayed by default. You may notice that the cost computation for the period starts from the beginning of the month. However, if you choose:  — Current month: The report is generated from the first of the month until the date of report generation.  — Previous months: The report is generated from the first of the month until the end of the month. You can generate the report only for the last six months of the contract.

  • Current total amount for this period: Displays the total cost incurred for the respective month due to the services and product usage.

Detailed breakdown

The table displays the following information:

  • Item: Displays the product item description including the description of the calculation unit of the product item. Example: 1h per GB RAM. If aggregate costs are displayed, like in VDCs, click on it to view a detailed service or product consumption breakdown.

  • Price per unit: Displays the cost per unit for the service or product used.

  • Usage: Displays the number of units consumed. It indicates the number of units consumed by each product item.

  • Total: Displays the total cost incurred for the amount of units of the respective product item. It is calculated as price per unit * amount of usage.

Cost Alert

Overview

The Cost Alert Notification feature helps you to monitor and manage the cloud infrastructure costs. This feature allows you to set up alerts that notify you when your spending reaches predefined thresholds. Once the set threshold is exceeded, you will receive a notification via email, providing immediate awareness of cost overruns. The Cost Alert Notification feature is available for contract owners and administrators.

This documentation covers how to create, edit, and delete the cost alert notification.

Mechanism

The Cost Alert Notification is a real-time notification. IONOS runs billing calculations periodically due to the data aggregation of billing events. It does not run the invoice calculation permanently. Therefore, an offset to the configured amount may be expected. The first time the invoice amount calculated is above or equal to the threshold value, an e-mail will be sent to the e-mail address defined in the configuration. This notification is sent only once and not repeated with every following invoice calculation.

The Cost Alert Notification will be based on the net amount of the contract invoice (excl. VAT).

Furthermore, the Cost Alert Notification feature does not execute any other operation - especially no changes to any service.

API endpoint

DCD How-Tos

The Cost Alert Notification feature is part of the Account Settings at the top right of the menu bar.

Create a cost alert

To create a cost alert for your account, follow these steps:

  1. In the DCD, go to Menu > Management > Cost alert.

  2. In the Cost alert window choose Create cost alert.

  1. Enter the amount you need and your email address in the window.

  2. Choose Create cost alert.

Result: The cost alert is successfully created.

Edit a cost alert

You can edit the cost alert after creating it.

  1. In the Menu go to Management > Cost alert.

  2. In the Cost alert window choose Edit.

  1. Edit the amount and the email in the corresponding fields.

  2. Click Save to save changes.

Regularly check your email for updates regarding your spending. Based on the alerts you receive, make adjustments as necessary.

Delete a cost alert

  1. In the Menu go to Management > Cost alert.

  2. In the Cost alert window choose Delete.

Result: You will receive a notification that the cost alert was successfully deleted.

Feature permission

The configuration of a cost alert can be managed by contract owners and users in the role of administrators only. Other contract members with the user role cannot access the feature. Within the IONOS multi-tenant model, access to the feature is also restricted to users in the role of administrators. It is only accessible to the contract owner of the respective multi-tenant contract.

AI Model Hub

The IONOS AI Model Hub is a fully managed platform that makes it easy to build powerful, AI-driven applications. Leverage foundation models, vector databases, and Retrieval-Augmented Generation (RAG) capabilities—all while ensuring robust data privacy, security, and compliance.

Whether generating content, building chatbots, enriching applications with AI-generated images, or implementing semantic search — AI Model Hub gives you the tools to bring your ideas to life.

Product Overview

Get started with the foundational concepts and platform features.

Advanced Concepts

Deepen your understanding of the AI Model Hub’s technical capabilities.

Use Cases

Explore practical AI applications powered by the IONOS AI Model Hub.

Tutorials

Step-by-step guides to help you integrate and scale AI in your projects.

Developer Tools

Explore the available APIs to programmatically interact with the AI Model Hub.

Tool Calling

Note: The older term "function calling" is now deprecated in favor of "tool calling" in modern AI APIs. This tutorial uses the current standard terminology. However, "function calling" and "tool calling" stand for the same concept.

In typical conversational use cases, users often want a Large Language Model (LLM) to enrich responses with information from external tools or APIs. Imagine a chatbot that, among other features, answers questions about the current weather. Since LLMs are trained once and not updated daily, they cannot answer such real-time queries independently.

One possible workaround is to use vector databases, which store documents that can be retrieved during inference. But this is not always ideal:

  1. Rapidly changing data like weather — Consider a chatbot that should tell users the current weather. Since weather conditions can change multiple times a day, constantly uploading fresh data to a vector database is inefficient and impractical. You need a way to fetch this information in real time, based on the user's question.

  2. Structured tasks like meeting scheduling — Imagine a chatbot that helps users schedule meetings. You would not upload everyone's calendar into a vector database. Instead, you would want the model to collect necessary information (like time, participants, and topic) and pass it to a scheduling tool. It is a perfect use case for tool calling, where the LLM provides structured input to trigger an external action.

These use cases are better handled through tool calling.

Tool calling extends the capabilities of LLMs by enabling them to:

  1. Recognize when external data or actions are required,

  2. Ask the user for parameters needed to perform those actions, and

  3. Respond in a structured, machine-readable format to initiate the tool execution.

This creates a seamless user experience where the LLM can fetch real-time data or perform actions outside its built-in capabilities.

Running example

Let us walk through an example where a tool retrieves the current weather. The tool requires two inputs:

  • The city name

  • The temperature unit (Celsius or Fahrenheit)

Tool definition

To use this tool, you define a tool definition using a JSON schema. The description of the tool includes the tool name, a tool description, relevant parameters, and their types:

This definition is sent to the LLM with the user prompt. It tells the model:

  • Which tools are available

  • What parameters each tool expects

  • When to consider using a tool instead of generating a static response

Multiple Tools: You can pass a list of multiple tool definitions to the model. This allows the LLM to choose the appropriate tool for a given query.

Tool calls

The LLM may respond with a tool call when tool definitions are included in the prompt. A tool call appears as follows:

The critical part is the function field, which includes:

  • The name of the function (get_weather)

  • The arguments with values the function should receive

In this example:

  • city is "Berlin" (a string)

  • unit is "celsius" (one of the allowed enum values)

This process is powerful because:

  • The tool call matches the tool definition

  • The values are either inferred by the model or collected from the user

Tool execution

At this point, the LLM’s job is done. It doesn’t execute the tool itself. That responsibility falls to your application:

  1. Parse the model’s tool call response

  2. Trigger the corresponding tool/API

  3. Integrate the result into the ongoing conversation

Notice: Like all LLM outputs, tool calls are probabilistic. The model sometimes misunderstands required parameters or omits a tool call even when one is appropriate. Always validate tool calls and their parameters before executing actions on behalf of the user.

Explore further

Tutorials

The IONOS AI Model Hub offers powerful AI capabilities to meet various needs. Here are six pivotal tutorials on how you can implement the features of this service:

Prerequisite: Authentication Tokens

Before using the IONOS AI Model Hub, you must authenticate your requests using an authentication token. These tokens ensure secure access and help manage user permissions, ensuring that only authorized users can interact with the service.

Key Features

  • Tokens are associated with specific IONOS Public Cloud users and grant access to the AI Model Hub.

  • Usage and billing are tied to the IONOS Public Cloud contract owner, who is responsible for the associated users.

Tutorial 1: Text Generation

Text generation models enable advanced language processing tasks, such as content creation, summarization, conversational responses, and question-answering. These models are pre-trained on extensive datasets, enabling high-quality text generation with minimal setup.

Key features

  • Access open-source Large Language Models (LLMs) through an OpenAI-compatible API.

  • Ensure data privacy with processing confined within Germany.

Tutorial 2: Image Generation

Image generation models allow you to create high-quality, detailed images from descriptive text prompts. These models can be used for applications in creative design, marketing visuals, and more.

Key features

  • Generate photorealistic or stylized images based on specific prompts.

  • Choose from models optimized for authenticity or creative and artistic outputs.

Tutorial 3: Text Embeddings

Embedding models allow you to create numerical representations of texts, which are similar if the texts are semantically similar. These models are ideal for applications like text retrieval, comparison, ranking, and so on.

Key features

  • Identify texts that answer a query based on semantic similarity between the query and the potential answer.

  • Compare texts to determine their semantic closeness or difference.

Tutorial 4: Document Collections

Vector databases enable you to store and query large collections of documents based on semantic similarity. Converting documents into embeddings allows you to perform effective similarity searches, making it ideal for applications like document retrieval and recommendation systems.

Key features

  • Persist documents and search for semantically similar content.

  • Manage document collections through simple API endpoints.

Tutorial 5: Retrieval Augmented Generation (RAG)

RAG combines the strengths of foundation models and vector databases. It retrieves the most relevant documents from the database and uses them to augment the output of a foundation model. This approach enriches the responses, making them more accurate and context-aware.

Key features

  • Combine foundation models with more context retrieved from document collections.

  • Enhance response accuracy and relevance for user queries.

Tutorial 6: Tool Integration

The IONOS AI Model Hub can be integrated into third-party tools that support OpenAI-compatible APIs. This enables you to use hosted foundation models for both language and image tasks within existing platforms — without managing infrastructure or model hosting.

Key features

  • Connect to frontend and development tools using the OpenAI-compatible API.

  • Leverage hosted Large Language and text-to-image models in external applications.

  • Integrate seamlessly with tools like AnythingLLM to power chat interfaces, document Q&A, and more.

Tutorial 7: Tool Calling

Tool calling enables AI models to interact with external services and APIs by recognizing when more data or actions are required. This feature allows models to fetch external information or trigger actions through structured requests, helping to extend the model’s capabilities beyond its initial training data.

Key Features

  • Enable AI models to make calls to external tools and services in response to user queries.

  • Use JSON schemas to define and structure the tool requests, ensuring precise parameters.

  • Seamlessly integrate external APIs for enhanced functionality, such as retrieving real-time data or performing system actions.

Explore further

These tutorials will guide you through the basic functionality of the AI Model Hub, providing clear and actionable steps to integrate advanced AI capabilities into your applications.

Image Generation

The IONOS AI Model Hub provides an OpenAI-compatible API that enables high-quality image generation using state-of-the-art foundation models. By inserting descriptive prompts, users can create detailed images directly through the API without the need for managing underlying hardware, or infrastructure.

Supported Image Generation Models

The following models are available for image generation, each suited to different types of visual outputs:

Overview

In this tutorial, you will learn how to generate images using foundation models through the IONOS API. This tutorial is intended for developers with basic knowledge of:

  • REST APIs

  • A programming language for handling REST API endpoints (Python and Bash examples are provided)

By the end, you will be able to:

  1. Retrieve a list of available image generation models in the IONOS AI Model Hub.

  2. Use prompts to generate images with these models.

Getting Started with Image Generation

To use image generation models, first set up your environment and authenticate using the OpenAI-compatible API endpoints.

Download the respective code files to easily access image generation-specific scripts and examples and generate the intended output:

Download this Python Notebook file to easily access image generation-specific scripts and examples and generate the intended output.

Download this Python code file to easily access image generation-specific scripts and examples and generate the intended output.

Download this Bash code file to easily access image generation-specific scripts and examples and generate the intended output.

Step 1: Retrieve Available Models

Fetch a list of models to see which are available for your use case:

This query returns a JSON document listing each model's name, which you’ll use to specify a model for image generation in later steps.

Step 2: Generate an Image with Your Prompt

To generate an image, send a prompt to the /images/generations endpoint. Customize parameters like size for the resolution of the output image.

Step 3: Extract and Interpret the Result

The returned JSON includes several key fields, most importantly:

  • data.[].b64_json: The generated image in base64 format.

  • usage.prompt_tokens: Token count for the input prompt.

  • usage.total_tokens: Token count for the entire process (usually zero for image generation, as billing is per image).

Summary

In this tutorial, you learned how to:

  1. Access available image generation models.

  2. Use descriptive prompts to generate high-quality images, ideal for applications in design, creative work, and more.

Tool Integration

By the end of this tutorial, you will be able to configure AnythingLLM to use the IONOS AI Model Hub as its backend for AI-powered responses.

Step 1: Get an Authentication Token

Save this token in a secure place, as you must enter it into AnythingLLM during setup.

Step 2: Select a Language Model

The IONOS AI Model Hub offers a variety of Large Language Models to suit different needs. Choose the model that best fits your use case from the table below:

During setup, you’ll enter the model’s "Model Name" value into AnythingLLM’s configuration.

Step 3: Obtain the Base URL

For connecting to the IONOS AI Model Hub, use the following Base URL for the OpenAI-compatible API:

You will enter this URL in the configuration settings of AnythingLLM.

Step 4: Configure AnythingLLM

With your authentication token, selected model name, and base URL in hand, you’re ready to set up AnythingLLM:

  1. Open AnythingLLM and go to the configuration page for the Large Language Model (LLM) settings.

    • In AnythingLLM, this can be accessed by clicking the wrench icon in the lower left corner, then navigating to AI Providers -> LLM.

  2. Choose Generic OpenAI as the provider.

  3. Enter the following information in the respective fields:

    • API Key: Your IONOS authentication token.

    • Model Name: The name of the model you selected from the table (e.g., meta-llama/Meta-Llama-3.1-8B-Instruct).

    • Base URL: https://openai.inference.de-txl.ionos.com/v1

Your screen will look similar to the image below:

  1. Click Save Changes to apply the settings.

From now on, AnythingLLM will use the IONOS AI Model Hub as its backend, enabling AI-powered functionality based on your chosen Large Language Model.

Summary

This guide provides a straightforward path for integrating the IONOS AI Model Hub into third-party frontend tools using the OpenAI-compatible API. For other tools and more advanced configurations, the steps will be similar: generate an API key, select a model, and configure the tool’s API settings.

Dedicated Core Servers

Availability Zones

Assigning different Availability Zones ensures that servers or storage devices reside on separate physical resources at IONOS.

For example, a server or a storage device assigned to Availability Zone 1 resides on a different resource than a server or storage device assigned to Availability Zone 2.

You have the following Availability Zone options:

  • Zone 1

  • Zone 2

  • A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)

Live Vertical Scaling (LVS)

Warning: RAM hotplugging for a VM is automatically disabled when the RAM size exceeds 240 GB. This leads to the VM restarting every time the RAM is increased beyond this limit, disabling live vertical scaling.

After uploading, you can define the properties of your images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the server.

For IONOS images, the supported properties are already preset. Without restarting the Dedicated Core Server, its resources can be scaled as follows:

  • Upscaling: CPU, RAM, NICs, storage volumes

  • Downscaling: NICs, storage volumes

Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, irrespective of whether you have used the scaling-up approach. Without restarting the Dedicated Core Server, only upscaling is possible.

Limitations

CPU Types: Dedicated Core Server configurations are subject to the following limitations, by CPU type:

AMD CPU

Intel® CPU

A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Server as two distinct "logical cores", which process separate threads.

RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.

Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.

Set Up a Cube

You can create a Cube, configure storage, connect a Cube to the internet, and provision changes to procure IONOS's resources and make the most efficient use of Cubes to maximize profit.

Create a Cube

1. Drag the Cube element from the Palette into the Workspace.

2. Click the Cube element to highlight it. The Inspector pane will appear on the right.

3. In the Inspector pane, configure your Cube from the Settings tab.

  • Template: choose the appropriate configuration template.

  • vCPUs: set automatically when a Template is chosen.

  • RAM in GB: set automatically when a Template is chosen.

  • Storage in GB: set automatically when a Template is chosen.

  • Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).

  • Size in GB: Specify the required storage capacity.

  • Image: You can select one of IONOS' images or use your own.

  • Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.

  • Backup Unit: Backs up all data with version history to local storage or your private cloud storage.

Increase Cube Storage

1. Drop a Storage element from the Palette onto a Cube in the Workspace to connect both.

2. In the Inspector pane, configure your Storage device in the Settings tab.

  • Name: Specify a name unique to this Virtual Data Center (VDC).

  • Availability Zone: Select a zone where you wish to host the Storage device.

  • Performance: Depends on the size of the SSD.

  • Image: You can select one of IONOS' images or use your own.

  • Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.

  • Backup Unit: Backs up all data with version history to local storage or your private cloud storage.

Connect a Cube to the Internet

1. Each compute instance has a NIC, which is activated via the Autoport symbol. Connect the Cube to the Internet by dragging a line from the Cube's Autoport to the internet's NIC.

2. In the Inspector pane, configure your LAN device in the Network tab.

  • Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).

  • MAC: The MAC address will be assigned automatically upon provisioning.

  • Failover: If you have an HA setup including a failover configuration on your VMs, you can create and manage IP failover groups that support your HA setup.

  • Firewall: Configure a firewall.

  • Network Security Groups: Select one or more network security groups from the drop-down list to associate them with the Cube. You can choose from any of the default or custom groups.

  • DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g. PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this checkbox so that your IPs are not reassigned by the IONOS DHCP server.

  • Additional IPs: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.

Provision Changes

1. Start the provisioning process by clicking PROVISION CHANGES in the Inspector pane.

2. The Provision Data Center dialog opens. Review your changes in the Validation tab.

3. Confirm changes with your password. Resolve outstanding errors without a password.

4. Once ready, click Provision Now to start provisioning resources.

Result: The data center is now provisioned with the new Cube. The DCD will display a Provisioning Complete notification once your cloud infrastructure is ready.

DCD
Early Access (EA)
Billing API
IONOS Cloud Support
create
API
Dedicated Core
My Settings lets you set defaults for any infrastructure created in subsequent data centers
Resource overview window

2025 Releases
2024 Releases
2023 Releases

As a result, the Cost & Usage documentation has been revamped to align with the new view and is now categorized as a in the documentation portal.

You can now manage TLS certificates for Kubernetes and OpenShift workloads using the IONOS Cloud DNS Webhook with . It enables you to secure your applications with valid TLS certificates that are automatically renewed before they expire. For more information, see the tutorial.

IONOS offers a redesigned user interface for the Certificate Manager via the Data Center Designer (DCD). Using this interface, you can seamlessly upload and manage TLS Certificates to integrate key products such as the , , and .

It also offers additional capabilities such as automatic certificate renewal through integration with Automated Certificate Management Environment (ACME) Providers and , allowing you to generate and renew TLS certificates automatically, thus simplifying security management and ensuring that your applications remain secure with minimal manual intervention.

The guides you through connecting a WireGuard peer between an IONOS Virtual Data Center (VDC) and an on-premises gateway, offering clear guidance and a smooth setup. As an enhancement to the user interface, the VPN Gateway Manager in the DCD also lists all tutorials, enabling you to configure your use case effectively.

The guides you through creating an IPSec tunnel between IONOS Cloud Virtual Data Centers (VDCs), offering clear guidance for a smooth setup.

It is currently available on a request basis. To access this product, please contact your sales representative or .

This release introduces additional capabilities, enabling you to connect all Virtual Data Centers (VDCs) in the Frankfurt region via private LANs. We recommend upgrading your existing Cross Connect to the latest version. For more information, see .

Managed Kubernetes is releasing Kubernetes version 1.30. For more information about the schedule timeline, see .

— Step-by-step instructions for configuring backup encryption in .

— Detailed information on encryption at rest, encryption in transit, and secure data deletion practices in .

IONOS has renamed Managed Backup to Backup Service to standardize the product terminology. Earlier, Managed Backup was also referred to as Backup as a Service or Backup by Acronis across different platforms. The new unified name ensures consistency in our communications and branding. This change does not impact the product's functionality, and the service remains unchanged. The documentation portal now reflects the product name changes. For more information, see .

IONOS Object Storage offers the Bucket Policy, view object versions and metadata, and Object Lock features in the General Availability (GA) phase. Using , overarching access policies for a bucket can be set to control data access and usage. With , data can be secured by implementing retention policies or legal holds; and with object , object retrieval is easier for large volumes of unstructured data. These new features overall improve the access and data management in the Object Storage.

IONOS offers the new Container Registry Vulnerability Scanning feature in General Availability (GA) phase. Software development is constantly evolving, and security is our top priority. The Container Registry Vulnerability Scanning feature is specifically designed to enhance the security of your containerized applications by proactively identifying potential vulnerabilities present in your artifacts. Scans occur each time an artifact is pushed to the registry and when new vulnerability definitions are published. It quickly detects any security weaknesses in container dependencies and libraries, allowing you to react immediately to prevent exploitation. For more information about reviewing the vulnerability scan results, see .

This feature will be available when creating new container registries, and you can also enable it for existing registries. For more information, see .

IONOS offers the New Container Registry Web Console, an enhanced version of the existing Container Registry Web Console, providing improved user experience and performance, intuitive design, faster responsiveness and additional features than the existing Container Registry Web Console. For more information, see .

The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .

The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .

IONOS Cloud is a robust and flexible platform that helps users build and manage their cloud infrastructure smoothly. The platform offers user-friendly cloud solutions that can be managed via the or .

You can provide the password for your IONOS account during registration. Use the feature to enforce secure password practices by defining rules for password creation and modification that apply to all users within the contract.

If you forget your password, then you can reset it. For more information, see .

Install the Authenticator app from the or from based on your device.

Result: The support PIN is now saved. You can use it to verify your account with .

Ease of Use: Using the or the , contract owners can manage password policies easily.

The Password Policy Manager feature is part of the Identity Management API and can be managed using the/{passwordPolicyId}/ endpoint. Further documentation can be found in the respective .

Note: All Create, Read, Update, and Delete (CRUD) operations that can be performed using the Password Policy Manager in the can also be accomplished via the API.

To access this API, you must authenticate requests using your Bearer token, which enables requests to authenticate using a JSON Web Token (JWT). From the DCD, .

Using the , you can create, update, or delete a password policy as needed.

ID: This is the ID of the token which you can use in the . For example, to by ID.

To enable IPv6 for Dedicated Core servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:

  • Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).

  • MAC: This field is automatically populated.

  • LAN: Select an IPv6 enabled LAN.

  • Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.

  • Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.

  • IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.

  • IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.

To enable IPv6 for vCPU Servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:

  • Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).

  • MAC: This field is automatically populated.

  • LAN: Select an IPv6 enabled LAN.

  • Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create Flow Logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create Flow Logs for all traffic.

  • Flow Log: Select + to add a new Flow Log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.

  • IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the vCPU Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.

  • IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.

When creating based on IONOS Linux images, you can inject into your . You can access your VMs safely on the IONOS Cloud, which uses SSH keys for authentication and secure communication. SSH keys that you intend to use more often can be saved in the view.

.

in the SSH Keys view for reuse. This is not applicable for an Ad-hoc SSH key.

with a VM and associate either a key saved in DCD SSH keys view or an Ad-hoc SSH key with it. You can choose an appropriate SSH key by selecting the respective checkbox. An Ad-hoc SSH key must be entered manually.

of your choice. An SSH client is a collection of tools for establishing SSH connections to remote servers. Example: OpenSSH, PUTTY, etc.

Open the terminal window on your local computer and enter the SSH connection command below. After the @, add the of your VM instance. Next, press ENTER.

At IONOS, we are excited to announce the launch of our new and improved interface, designed with users in mind. The DCD application interface features a redesigned , a , and a , providing the following advantages:

now supports using Microsoft SQL Server Images to configure . The following combinations are available:

These images are available through both the and the . The are available only on contacting .

IONOS offers greater flexibility and simplicity for users to choose the server type as either Dedicated Core or vCPU for their Managed Kubernetes nodes. You can also choose to update the server type even after the node pool creation. This capability is supported both through the DCD and the . To support this function, in the DCD, you see the new field Server type in the Node Template section while creating a Kubernetes node pool.

Alternative options: For continued functionality, you can transition to server with AMD Epyc CPU architecture or to a . You can manually change to one of these options from April 1, 2025, until May 13, 2025. Starting on May 13, 2025, eligible systems running AMD Opteron-based Compute Engine workloads will automatically begin transitioning to AMD Epyc processors within the Frankfurt location.

Advanced account security controls: Features such as and support pin configuration protect sensitive data and minimize unauthorized access. They help organizations meet compliance standards and safeguard user trust.

Personalized account settings and preferences: Set the default settings for your .

Contract Type
Contract Users
Accessible?

The cost calculation depends on the aggregated usage of all resources consumed during the selected period. Because usage data is updated periodically (at least once a day) depending on the product, the usage for the current period may be offset by up to 24 hours. Thus, the report ensures you have the required information for monitoring consumptions and accommodating the update intervals of various services to give you a cost report for services and product usage in your cloud environment. For more information on pricing, see .

In addition to the Cost & Usage view on the DCD, you can retrieve detailed invoice data and a granular resource-allocated usage distribution through the . It provides a powerful and flexible way to access comprehensive billing information, enabling you to track and analyze your usage at a granular level programmatically. By leveraging the Billing API, you can integrate billing data into your internal systems, automate reporting processes, and gain deeper insights into resource consumption across various services. We recommend you explore and utilize this API to streamline your billing workflows and enhance cost management capabilities.

The Cost & Usage view, in combination with the feature, provides an enhanced way for you to proactively manage your cloud expenditures. When setting up a cost alert you will receive a notification as soon as the cost of your contract reaches the predefined threshold, allowing you to analyze your usage. The integration offers greater control and visibility over usage patterns and associated costs, helping avoid unexpected charges.

Product categories: The product categories on the left frame display the total cost for using individual products or services from the respective product category. Click on it for a . Products or services that do not have a product mapping are listed in Others.

Price category: Displays the total price associated with the products or services consumed in the respective product category. It is a summary of the product or service usage that helps identify the total cost of this category, meaning costs are grouped per consumed product, independent of whether a single instance or multiple services caused the usage. In some cases, like for Virtual Data Centers (VDCs), the total cost is by each VDC. The price category shows one of the following based on the usage:  — —: No service or product was used from the respective product category during the chosen period.  — 0.00: The free quota covered the services or products that were used.  — Total cost: Services or products from the respective product category were used. Click on it for a .

The Cost Alert Notification feature is part of the Billing API. It can be managed using the /{contractId}/ usage-alert endpoints. Further documentation can be found in the respective .

To access the Billing API, you must authenticate requests using your basic authentication credentials or a Bearer token (required for Multi-Factor Authentication accounts). The Bearer token must be retrieved through the in the DCD.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

Prerequisite: An is necessary to access and use the AI Model Hub. If you have no Authentication Token yet, you can generate one using the .

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

To see tool calling in action, visit our tutorial.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

For detailed instructions on how to generate an IONOS Public Cloud contract, create users, and generate authentication tokens, see tutorial.

For step-by-step instructions on text generation, see the tutorial.

To learn how to implement image generation, see the tutorial.

To learn how to derive embeddings and calculate the similarity of texts, see the tutorial.

For detailed instructions, see tutorial.

To learn how to implement Retrieval Augmented Generation, see the tutorial.

For detailed guidance on integrating with tools, see the tutorial.

For a detailed walkthrough, including an example with a weather application, see the tutorial.

To understand how real-world solutions are built with the IONOS AI Model Hub, see .

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

Model Provider
Model Name
Purpose

For information on text generation, see our dedicated tutorial on models.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

The IONOS AI Model Hub provides an OpenAI-compatible API, allowing seamless integration with various frontend tools that use Large Language Models (LLMs). This guide walks you through the setup process, using as an example tool.

You will need an authentication token to access the IONOS AI Model Hub. For more information about how to generate your token in the IONOS DCD, see .

Foundation Model
Model Name
Purpose

Dedicated Core Servers that you create in the are provisioned and hosted in one of IONOS' physical data centers. Dedicated Core Servers behave exactly like physical . They can be configured and managed with your choice of the operating system. For more information, see .

Boot options: For each server, you can select to boot from a virtual CD-ROM/DVD drive or a storage device ( or ) using any operating system on the platform. The only requirement is the use of KVM . IONOS provides a number of with multiple versions of Microsoft Windows and different Linux distributions, including Red Hat Enterprise Linux.

Secure your data, enhance reliability, and set up high-availability scenarios by deploying your Dedicated Core Servers and storage devices across multiple .

If the capacity of your Virtual Data Center no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a Dedicated Core Server without restarting it, permitting you to add RAM or ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.

The types of resources that you can scale without rebooting will depend on the operating system of your . Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. drivers are optimized for virtual environments and provide direct access to underlying hardware.

Components
Minimum
Maximum
Components
Minimum
Maximum

Note: Additional RAM sizes are available on request. To increase the RAM size, contact your sales representative or .

Name: Your choice is recommended to be unique to this .

4. You will also notice that the Cube comes with an Unnamed Direct Attached Storage. Click on the device and rename it in the Inspector pane.

Size in GB: Specify the required storage capacity for the .

Primary IP: The primary is automatically assigned by the IONOS DHCP . You can, however, enter an IP address for manual assignment by selecting one of the reserved IPs from the drop-down menu. Private IP addresses should be entered manually. The has to be connected to the Internet.

Users & Groups
Password Policy
Token Manager
April 2025 Releases
March 2025 Releases
February 2025 Releases
January 2025 Releases
December 2024 Releases
November 2024 Releases
October 2024 Releases
August 2024 Releases
July 2024 Releases
June 2024 Releases
May 2024 Releases
April 2024 Releases
March 2024 Releases
February 2024 Releases
January 2024 Releases
December 2023 Releases
November 2023 Releases
October 2023 Releases
September 2023 Releases
August 2023 Releases
July 2023 Releases
June 2023 Releases
May 2023 Releases
Revamped Cost & Usage in the DCD
separate topic
IONOS Cloud DNS Webhook for cert-manager
cert-manager
Manage TLS Certificates using IONOS Cloud DNS Webhook for cert-manager
Redesigned Certificate Manager with ACME-Based Auto Certificate Support
Managed Application Load Balancer
API Gateway
CDN
Cloud DNS
DCD Availability for Network Security Groups
New tutorial available for managing TLS Certificates using IONOS Cloud DNS Webhook for cert-manager
New tutorial available for WireGuard VDC to on-premises gateway connectivity
new tutorial
New tutorial available for IPSec VDC to VDC connectivity
new tutorial
AI Model Hub
New Network menu in the DCD
Network File Storage
IONOS Cloud Support
Cross Connect General Availability in the Frankfurt Region
Upgrade Cross Connect to the Latest Version
Managed Kubernetes Versions
Release Schedule
Advisory on CVE-2024-6387
Changes to AMD Opteron Node Pools
Changes to Backup Service
Apply Backup Encryption
Data Security
Certificate Manager
Veeam Backup & Replication settings for Object Storage
Red Hat Enterprise Linux (RHEL) 8 Images
Red Hat Enterprise Linux (RHEL) 9 Images
Private Node Pools
Enhanced Features Released for Backup Service
Renamed Managed Backup to Backup Service
FAQs
Revamped IONOS Object Storage DCD Interface
New Feature Set in IONOS Object Storage
Container Registry Vulnerability Scanning General Availability
View Vulnerability Scan Results
Enable Vulnerability Scanning
New Container Registry Web Console
DCD How-Tos
Red Hat Enterprise Linux (RHEL) Images
Reorganized subtopics in Block Storage
IONOS Public Images
Private Images
Images & Snapshots
Reorganized subtopics in Block Storage
Public Images
Private Images
Images & Snapshots
Data Center Designer (DCD)
API

Log in to the Data Center Designer

Log in to the DCD and explore the dashboard and menu options.

Create a Data Center

Create a data center and learn about individual User Interface (UI) elements.

Configure a Data Center

Configure a dedicated core server, add storage and a network, and provision the changes.

Set User Privileges for Data Center

Learn how to create subusers and assign them relevant privileges to access data center.

Data Center Designer

Learn about IONOS DCD, access the core cloud services intuitively via the DCD UI, and configure and manage them.

Set Up a Dedicated Core Server

Set up and manage a dedicated core server.

Set Up a Network Load Balancer

Distribute incoming traffic efficiently with a network load balancer.

Set Up a PostgreSQL Database Cluster

Set up a high-availability, scalable PostgreSQL database cluster for your applications.

Set Up Block Storage

Configure and manage reliable block storage for your data needs.

Configure a NAT Gateway

Establish a secure NAT gateway for private network internet access.

Configure a Network on your VDC

Manage and configure networks within your Virtual Data Center (VDC).

Set Up Object Storage Access

Set up and access scalable S3-compatible Object Storage.

Connect to Virtual Machines via SSH

Establish secure SSH connections to your remote servers.

Set Up Backup Units

Configure and manage backup units to safeguard your data.

Configure Flow Logs

Set up flow logs to monitor and analyze network traffic.

Set Up a Kubernetes Cluster

Deploy and manage a Kubernetes cluster for container orchestration.

Create Alarms and Actions

Set up monitoring alerts and actions for your infrastructure.

Password Policy
Resetting Your IONOS Account Password
Google Play Store
Apple iTunes
IONOS Cloud Support
Password Policy API documentation
DCD
Auth API
delete the token
storages
SSH keys
VM
DCD's
SSH Keys
Generate an SSH key
Store the default SSH key
Attach a Linux storage image
Connect to your VM (Linux) instance via an SSH client
IP address
Change Password
Set up 2-Factor Authentication
Set Support PIN
IAM Identity Password Policies API
DCD
DCD
Generate authentication token

Regular contracts

Contract administrators Contract owners

✅ ✅

Reseller contracts

Contract owners

✅

Feature permission
{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "Get current weather in a given city",
    "parameters": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "City name"
        },
        "unit": {
          "type": "string",
          "enum": ["celsius", "fahrenheit"]
        }
      },
      "required": ["city"]
    }
  }
}
  tool_calls = [
    ChatCompletionMessageToolCall(
      id='chatcmpl-tool-d6edbee352f2432fa7eb5e68c30d712f', 
      function=Function(
        arguments='{"city": "Berlin", "unit": "celsius"}',
        name='get_weather'
      ), 
      type='function'
    )
  ]
# Python example to retrieve available models
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"

endpoint = "https://openai.inference.de-txl.ionos.com/v1/models"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
requests.get(endpoint, headers=header).json()
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
        --get https://openai.inference.de-txl.ionos.com/v1/models
# Python example for image generation
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"
MODEL_NAME = "[MODEL NAME HERE]"
PROMPT = "A futuristic cityscape at sunset, highly detailed"

endpoint = "https://openai.inference.de-txl.ionos.com/v1/images/generations"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
body = {
    "model": MODEL_NAME,
    "prompt": PROMPT,
    "size": "1024x1024"
}
requests.post(endpoint, json=body, headers=header)
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]
MODEL_NAME=[MODEL NAME HERE]
PROMPT="A futuristic cityscape at sunset, highly detailed"

BODY="{ 
    \"model\": \"$MODEL_NAME\",
    \"prompt\": \"$PROMPT\",
    \"size\": \"1024x1024\"
}"

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     https://openai.inference.de-txl.ionos.com/v1/images/generations

Teuken v0.4 Instruct, 7B

openGPT-X/Teuken-7B-instruct-commercial

Ideal for conversational agents and virtual assistants in any of the 24 EU languages.

Llama 3.3 Instruct, 70B

meta-llama/Llama-3.3-70B-Instruct

Ideal for more complex conversational agents and virtual assistants.

Llama 3.1 Instruct, 8B

meta-llama/Meta-Llama-3.1-8B-Instruct

Suitable for general-purpose dialogue and language tasks.

Llama 3.1 Instruct, 405B

meta-llama/Meta-Llama-3.1-405B-Instruct-FP8

Optimized for extensive dialogue tasks, supporting large context windows.

Mistral Instruct v0.3, 7B

mistralai/Mistral-7B-Instruct-v0.3

Designed for conversational agents, with enhanced European language support.

Mixtral, 8x7B

mistralai/Mixtral-8x7B-Instruct-v0.1

Supports multilingual interactions and is optimized for diverse contexts.

    https://openai.inference.de-txl.ionos.com/v1

Cores

1 core

62 cores

RAM

0,25 GB RAM

230 GB RAM*

NICs and storage

0 PCI connectors

24 PCI connectors

CD-ROM

0 CD-ROMs

2 CD-ROMs

Cores

1 core

51 cores

RAM

0,25 GB RAM

230 GB RAM*

NICs and storage

0 PCI connectors

24 PCI connectors

CD-ROM

0 CD-ROMs

2 CD-ROMs

My Customer Data

Manage your company information, address, and contact details. Contract owner only

Payment Details

Get a detailed view of your payment details.

Account Security

Set a new password, 2-factor authentication, or configure a support pin.

DCD Default Settings

View your default DCD setttings.

Overview

Learn about the AI Model Hub's capabilities and core AI principles.

Data Handling

Understand how your data is managed and protected within the platform.

Embeddings

Discover how embeddings power semantic similarity and search.

Tool Calling

Learn how to connect models to tools and APIs for dynamic responses.

Enrich Text with Images

Generate high-quality images based on text prompts.

Semantic Search

Implement semantic search across your document collections.

Access Management

Set up your contract and user accounts.

Text Generation

Use Large Language Models (LLMs) to generate high-quality content.

Tool Calling

Enable AI-driven workflows through dynamic tool calling.

Image Generation

Create visuals from text using diffusion models.

Text Embeddings

Generate vector embeddings for semantic similarity tasks.

Document Collections

Persist and manage custom data for fine-tuned responses.

Retrieval Augmented Generation

Build your first RAG pipeline combining knowledge and LLMs.

Tool Integration

Integrate the AI Model Hub with external tools and apps.

AI Model Hub - Inference API

API Documentation for the AI Model Hub endpoints.

AI Model Hub - OpenAI compatible API

API Documentation for the OpenAI compatible AI Model Hub endpoints.

Embedding space
Set Create Data Center privilege
Associate a key type
Associate a key type
Attach SSH keys with a VM's Linux image
Attach SSH keys with a VM's Linux image
Create a Data Center
You can create a VDC right on the Dashboard
Change payment method window
🎉
New simplified and streamlined DCD Interface
Microsoft SQL Server Image Availability
IONOS Public Images
Block Storage
DCD
API
Microsoft SQL Enterprise Server Images
IONOS Cloud Support
Activated KMS Service for Windows Guests
Server Type Selection for Kubernetes Node Pools
API
Discontinuing support for AMD Opteron Servers on IONOS Public Cloud in Frankfurt
Dedicated Core
vCPU Server
2-Factor Authentication
Virtual Data Centers (VDCs)
IONOS Cloud Prices
IONOS Cloud Billing API
Cost Alert
Billing API documentation
Token Manager
free
Create your contract
Authentication Token
Access Management tutorial
free
Create your contract
Tool Calling
free
Create your contract
Access Management
Text Generation
Image Generation
Text Embeddings
Document Collections
Retrieval Augmented Generation
Tool Integration
Tool Calling
Use Cases
free
Create your contract
text generation
free
Create your contract
AnythingLLM
Generate authentication token
HDD
SSD
VirtIO drivers
ready-to-boot images
Availability Zones
NICs
IONOS Cloud Support
Virtual Data Center (VDC)
storage
SSD
detailed breakdown
aggregated
detailed breakdown
VirtIO
Virtual Machines (VMs)
server
NIC
IP address
Configuration templates
Sub-user Management for Logging Service

Menu item

Contract Owner

Administrator

User

+

+

+

+

+

+

+

+

Stable Diffusion XL

Generates photorealistic images, ideal for marketing visuals, product mockups, and natural scenes.

FLUX.1-schnell

Generates artistic, stylized images, well-suited for creative projects, digital art, and unique concept designs.

December 2024

What's new

December 9

API Gateway is now available in more regions including London, Paris, and Logroño. You can now create, manage, and deploy APIs in these regions using the API Gateway.

December 9

We are excited to announce the launch of IONOS Object Storage in our US data center location, Lenexa. This highly scalable and durable storage solution is designed to support businesses with large amounts of unstructured data. With IONOS Object Storage, users can store, manage, and analyze vast amounts of data, from images and videos to logs and backups.

Located in Lenexa, this new offering ensures low latency and high performance for US-based users. The new endpoint is exposed as us-central-1 and operates as a contract-owned IONOS Object Storage.

December 6

The IONOS AI Model Hub now supports an OpenAI-compatible embeddings endpoint, and the embedding models BGE Large EN v1.5, BGE m3, and Paraphrase Multilingual MPNet base v2.

December 2

We are pleased to announce the expansion of IONOS Cloud products and services with the addition of a new deployment location in Worcester. This new facility marks IONOS's second data center in the United Kingdom, after London, enhancing the capability to support high availability and redundant configurations across geographical locations.

  • Compute Services:

  • Databases:

  • Network Services:

The following products do not have a distinct deployment in Worcester, but you can still use their centrally located services:

  • Storage & Backup:

November 2024

What's new

November 26

VPN Gateway is now in the General Availability (GA) phase. It is designed to ensure secure and scalable encrypted connections between your IONOS Cloud resources and remote infrastructure using two key VPN protocols: IPSec and WireGuard.

We are excited to announce the following enhancements to VPN Gateway: — Active-Passive High Availability (HA) mode to ensure redundancy in the event of failures. — Availability of new tiers that can be paired with HA. Additionally, you have the option to switch between HA and non-HA configurations and upgrade your plans as needed. — Ability to visualize all LANs connected to the respective VPN Gateway. — Option to download VPN Gateway configuration to your local system.

November 22

The documentation portal now has information on the security advisory for a high vulnerability reported by the Kubernetes Security Response Committee. This vulnerability allows attackers to execute arbitrary commands in the vulnerable Managed Kubernetes cluster versions beyond the container boundary.

November 18

November 11

Starting November 11, our AI Model Hub supports the OpenAI Image endpoint. In addition we launched the FLUX.1 schnell text-to-image model.

November 11

We've enhanced the firewall rules for Network Security Groups and NIC-based firewalls. In addition to the existing TCP, UDP, ICMP, and ICMPv6 protocols, we now support GRE, VRRP, AH, and ESP protocols. This expansion is available through both the Cloud API v6 and DCD platforms.

November 11

Effective immediately, you can specify custom MAC addresses when creating network interfaces (NICs) for Compute instances. This feature is accessible via Cloud API v6 and DCD. Ensure that you configure custom MAC addresses at the time of creation and that you cannot modify them during subsequent network interface updates. This capability is advantageous for environments requiring specific MAC addresses to comply with software licensing conditions.

November 8

This is to inform you that Managed Kubernetes version 1.28 will reach its end of life (EOL) on December 4, 2024. After that, you cannot create new clusters or node pools using Kubernetes version 1.28. Existing clusters or node pools running on version 1.28 will be automatically upgraded to version 1.29 during the next scheduled maintenance window after the EOL date.

November 7

November 6

IONOS releases Network Security Groups, a centralized firewall policy manager that allows you to filter and control network traffic to and from virtual network resources within a given Virtual Data Center (VDC). NSGs contain security rules that allow or deny traffic based on various criteria, such as source and destination IP addresses, ports, and protocols for its member VMs and NICs.

Note: Network Security Groups are currently accessible only via the Cloud API v6. The DCD support will be available soon.

November 5

November 4

Event Streams for Apache Kafka is now in the General Availability (GA) phase. It is a managed solution that is fully integrated with the DCD, offering a variety of cluster sizes to accommodate the diverse requirements of different applications. With this service, you can build secure event-driven architectures. The product will initially be available only in the German data centers (Frankfurt & Berlin), and will be gradually rolled out to all locations.

November 4

Overview

The IONOS AI Model Hub is designed to simplify the deployment and management of advanced machine learning models, eliminating the complexities associated with hardware and infrastructure. This inference service serves a range of powerful AI models that enable developers to implement sophisticated AI solutions without concerns about underlying hardware and operational overhead.

IONOS' AI Model Hub supports various use cases, including:

  • Text Generation: Utilize pre-trained Large Language Models (LLMs) to generate text and answer queries using textual descriptions.

  • Image Generation: Utilize pre-trained text-to-image models to create images based on textual descriptions.

  • Document Collections: Store and query extensive document collections based on semantic similarity.

  • Retrieval Augmented Generation (RAG): Enhance responses by combining Large Language Models with contextually relevant documents stored in a vector database.

  • Tool Calling: Enable AI models to interact with external systems by invoking APIs or executing predefined functions. This allows for dynamic, task-based automation such as triggering workflows, retrieving real-time data, or integrating with business applications —all initiated through natural language prompts.

Features

The IONOS AI Model Hub Service offers a wide array of features tailored to meet the needs of modern developers:

  • Managed Hosting: Utilize AI models without needing to maintain the underlying infrastructure.

  • Security and Compliance: Keep your data secure and compliant with regulations, as data processing is confined within Germany. Your input data remains exclusively for your use and is excluded from training purposes.

  • Scalability: Scale your AI deployments seamlessly to meet your needs.

  • Integration Options: Easily integrate with your applications using REST APIs that are fully OpenAI-compatible, with support for popular programming languages like Python and Bash.

  • Diverse Model Offerings: Choose from various foundation models, including Large Language Models and text-to-image models, each capable of generating innovative, and sophisticated AI outputs.

  • Document Collections: Store and manage document collections and perform semantic similarity searches to extract contextually relevant information.

  • Retrieval Augmented Generation: Combine vector databases and Large Language Models to generate enhanced outputs that are contextually aware, providing more accurate and helpful responses.

  • Token-based Billing: Pay for the services based on the number of tokens used, enabling cost-efficient usage and transparency in billing.

Concepts

Understanding the foundational concepts of the IONOS AI Model Hub will help you leverage its full potential:

Foundation Models

Foundation models are pre-trained on massive datasets to perform a wide range of language and image processing tasks. They can generate text, answer questions, and create images based on textual descriptions. With IONOS, you can access these models through APIs, simplifying the process of integrating advanced AI capabilities into your applications.

Key Points

  • Access various open-source Large Language Models for text generation and text-to-image models for image generation.

  • Use models without managing underlying hardware.

  • Maintain data privacy and comply with German data protection regulations.

Document Collections

Vector databases provide a way to store and manage document collections, enabling semantic similarity searches. Documents are converted to embeddings (vector representations), allowing the discovery of related content through similarity searches.

Key points

  • Persist documents and search for semantically similar content.

  • Use API endpoints to manage document collections and perform searches.

  • Ensure document storage and processing stays within Germany.

Retrieval Augmented Generation (RAG)

Retrieval Augmented Generation enhances the performance of Large Language Models by combining their inherent capabilities with contextually relevant information retrieved from document collections stored in vector databases. This approach allows the model to produce highly accurate and detailed responses tailored to specific queries.

Key points

  • Use Large Language Models together with document collections from vector databases.

  • Improve response accuracy and relevance by incorporating more context.

  • Implement sophisticated AI solutions using a combination of querying and generation.

Components

API Endpoints

Use dedicated REST API endpoints to interact with various models and services. These endpoints are designed to facilitate the quick and easy integration of AI capabilities into your applications. The IONOS AI Model Hub provides two API options for maximum flexibility: its native IONOS AI Model Hub API and an OpenAI-compatible API, making it easy to work with tools that support OpenAI endpoints.

OpenAI-Compatible endpoints

Native IONOS AI Model Hub endpoints

  1. Model Management: Endpoints for retrieving model lists, querying models, and managing predictions.

  2. Document Management: Endpoints to create, modify, retrieve, and delete document collections, and individual documents.

  3. Querying and Generating: Endpoints for combining semantic searches with Large Language Models to implement Retrieval Augmented Generation scenarios.

Authentication and Authorization

Data Privacy and Compliance

Technical Support

IONOS offers expert technical support to help you troubleshoot and optimize your AI deployments. Whether you need assistance with API integration or model performance, the support and Professional Service team is available to ensure your success during German business hours.

Backup of Collections in Vector Database

IONOS recommends implementing a backup strategy for the data saved to collections in the vector database. This ensures that your collections can be restored in case of accidental deletion or other unforeseen events.

Overview

Configuration templates

You may choose between nine template sizes. Each template varies by processor, memory, and storage capacity.

Warning: Configuration templates are set upon provisioning and cannot subsequently be changed.

The breakdown of resources is as follows:

Basic Cubes

Size
vCPUs
RAM
NVMe storage

Basic Cube XS

1

2 GB

60 GB

Basic Cube S

2

4 GB

120 GB

Basic Cube M

4

8 GB

240 GB

Basic Cube L

8

16 GB

480 GB

Basic Cube XL

16

32 GB

960 GB

Memory Cubes

Size
vCPUs
RAM
NVMe storage

Memory Cube S

2

8 GB

120 GB

Memory Cube M

4

16 GB

240 GB

Memory Cube L

8

32 GB

480 GB

Memory Cube XL

16

64 GB

960 GB

Resource usage

Storage options

Included direct-attached storage

A default Cube comes ready with a high-speed direct-attached NVMe storage volume. Please check Configuration Templates for NVMe Storage sizes.

Add-on network block storage

Boot options

Any storage device, including the CD-ROM, can be selected as the boot volume. You may also boot from the network.

Images and snapshots

Images and snapshots can be created from and copied to direct-attached storage, block storage devices, and CD-ROM drives. Also, direct-attached storage volume snapshots and block storage volumes can be used interchangeably.

Data Security

Encryption at rest protects inactive data on physical media. DAS uses the same encryption technology as Block Storage, AES-XTS (256-bit) encryption method. Each volume has a unique, securely stored encryption key that is inaccessible to root users.

Secure deletion ensures that deleted data cannot be restored, even with physical media access. When a DAS volume is deleted:

  • Metadata is "zeroed out," destroying the block mapping.

  • The volume's encryption key is destroyed, making any remaining encrypted data unreadable.

Limitations

  • Cubes are limited to a maximum of 24 devices. The NVMe volume already occupies one of these slots.

  • You may not change the properties of a configuration template (vCPU, RAM, and direct-attached storage size) after the Cube is provisioned.

  • The direct-attached NVMe storage volume is set upon provisioning and cannot be unmounted or deleted from the instance.

August 2024

What's new

August 26

IONOS Object Storage has extended support for the Replication feature through the DCD. You can now replicate data from user-owned buckets to contract-owned buckets in the eu-central-3 region. Previously, this functionality was only available via the API.

August 22

This release introduces the Access Logging feature in Managed Application Load Balancer (ALB). It enhances monitoring and analyzing ALB traffic with detailed logging capabilities.

August 22

This release introduces the Access Logging feature in Managed Network Load Balancer (NLB). It enhances monitoring and analyzing NLB traffic with detailed logging capabilities.

August 22

August 19

August 16

The Private Container Registry now supports IP Access Control Lists (IP ACLs), offering enhanced security and granular access control. This feature allows you to specify IP subnets permitted to access your registry, limiting access to trusted sources within your network. IP ACLs are easy to configure via the API with the apiSubnetAllowList parameter. Once configured, access attempts from outside the allowed subnets are immediately blocked, ensuring real-time protection without disrupting authorized users.

August 14

August 14

Kubernetes Version 1.27 has now reached its End of Life (EOL). From now on, you cannot provision any more clusters or node pools for version 1.27. Existing clusters or node pools running on version 1.27 will be automatically upgraded to version 1.28 during the next scheduled maintenance window after August 14, 2024.

August 9

You can now set up accessing Object Storage over a private LAN by configuring a Managed Network Load Balancer (NLB) with the public IP addresses of the required Object Storage endpoint as the Target IP address and configuring the Private IP as the Listener IP of the forwarding rule.

August 8

This is to inform you that Managed Kubernetes version 1.27 will reach its end of life (EOL) on August 14, 2024. After that, you cannot create new clusters or node pools using Kubernetes version 1.27. Existing clusters or node pools running on version 1.27 will be automatically upgraded to version 1.28 during the next scheduled maintenance window after the EOL date.

August 2

August 1

IONOS releases NFS Volumes support for Kubernetes. This feature allows the integration of IONOS Network File Storage (NFS) with Kubernetes clusters, mounting NFS volumes as PVCs in the cluster. Network File Storage is initially available only in the German data centers (Frankfurt and Berlin), and will be gradually rolled out to all locations.

August 1

IONOS introduces Event Streams for Apache Kafka, a managed solution that is fully integrated with the DCD, offering a variety of cluster sizes to accommodate the diverse requirements of different applications. With this service, you can build secure event-driven architectures. The product will initially be available only in the German data centers (Frankfurt & Berlin), and will be gradually rolled out to all locations.

August 1

August 1

IONOS offers a robust VPN Gateway feature designed to ensure secure and scalable encrypted connections between your IONOS cloud resources and remote infrastructure. This solution supports two key VPN protocols: IPSec and WireGuard, providing you with flexibility and advanced security options to meet your networking needs.

August 1

IONOS DBaaS provides support for In-Memory DB instances and offers resources such as CPU cores and RAM size (GB) to create In-Memory DB instances. Additionally, the instance facilitates backup via snapshots and the option to recover data, making them highly reliable. It also facilitates cloud-based In-Memory DB instance patching and scalability.

August 1

August 1

The API Gateway offers a suite of functionalities to help you efficiently create, manage, and monitor your APIs. It provides essential features for managing and optimizing interactions between clients and backend services, ensuring secure and efficient API operations. Currently, it is only available in Berlin but will soon be rolled out to more locations.

Data Center Designer

The same visual design approach is used to make any adjustments later. You can log in to the DCD and scale your infrastructure capacity. Alternatively, you can set defaults and create new resources when needed.

You can set up your data center infrastructure by using a drag-and-drop visual interface.

The DCD contains the following elements:

DCD elements

Palette and workspace

The palette is a dynamic sidebar that contains VDC elements. You can click and drag each element from the palette into your workspace and position it as per your requirements.

All cloud products and services are compatible with each other. You may create a Server and add Storage to it. A LAN Network will interconnect your Servers.

Some elements may connect automatically via drag-and-drop. The DCD will then join the two if able. Otherwise, it will open configuration space for approval.

Right-click an element and select Delete from the drop-down menu. You can also select the element directly and hit Delete/Backspace from your keyboard.

Context menu

The context menu offers different options depending on the element. To see the context menu, right-click on any element. For example, right-click a Cube or a Server to update it.

Inspector pane

This pane allows you to finalize the creation of your data center. Once your VDC is set up, select PROVISION CHANGES. This makes your infrastructure available for use.

Core functionality

Using the DCD, you can both control and manage the following services provided by IONOS Cloud:

Compatibility

As a web application, the DCD works effectively on the following browsers:

  • Google Chrome™: Version 30+

  • Mozilla® Firefox®: Version 28+

  • Apple® Safari®: Version 5+

  • Opera™: Version 12+

  • Microsoft® Internet Explorer®: Version 11 & Edge

We recommend using Google Chrome™ and Mozilla® Firefox®.

Next steps

Now that you are familiar with the DCD, you can start configuring your VDC.

Configure a Data Center

Prerequisites:

— Make sure you have the corresponding permissions to create and manage data centers. By default, contract administrators and owners can configure a data center.

Configure a Dedicated Core Server

  1. Drag the Dedicated Core server element from the palette into the workspace.

  2. Enter the following details in the Settings tab of the Inspector pane:

    • Name: Enter a unique name for your server.

    • CPU Architecture: Select either AMD or Intel cores.

    • Cores: Select the number of CPU cores.

    • Network Security Groups: Select one or more network security groups from the drop-down list to associate them with the Dedicated Core server. You can choose from any of the default or custom groups.

Result: The Dedicated Core Server is now created and can be updated based on your requirements.

Add storage to the Dedicated Core Server

  1. Drag a Storage element from the palette onto a Dedicated Core server in the workspace.

  2. To configure your Storage element, enter the following details in the Inspector pane:

  • Name: Enter a storage name unique to the VDC.

  • Availability Zone: Select a zone from the drop-down list to host the storage element associated with the server.

  • Size in GB: Choose the required storage capacity.

  • Performance: Select a value from the drop-down list based on the requirement. You can either select Premium or Standard, and the performance of your storage element varies accordingly.

  • Image: Select an image from the drop-down list. You can select one of IONOS images or choose your own.

  • Password: Enter a password for the chosen image on the server—a root or an administrator password.

  • Backup Unit: Select a backup unit from the drop-down list. Click Create Backup Unit to instantly create a new backup unit if unavailable.

Result: The storage will now be added to your Dedicated Core Server.

Connect to the internet

2. To configure your NIC element, enter the following details in the Network tab of the Inspector pane:

  • Name: Enter a NIC name unique to this VDC.

  • MAC: Media Access Control Address field is populated automatically upon provisioning and cannot be changed.

  • LAN: The name of the LAN connected to internet is displayed. To select another LAN, click the drop-down list and select to move NIC to the LAN. A LAN that connects to the internet becomes a public LAN.

  • Network Security Groups: Select one or more network security groups from the drop-down list to associate them with the Dedicated Core server. You can choose from any of the default or custom groups.

  • IPv4 Configuration:

    • Primary IP: The primary IP address is automatically assigned by the IONOS DHCP server. You can, however, enter an IP address for manual assignment by selecting one of the reserved IP addresses from the drop-down list. Private IP addresses (according to RFC 1918) must be entered manually.

    • DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g., PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this check box so that the IONOS DHCP server does not reassign your IPs.

  • Add IP: Select the IP address from the drop-down list.

Result: The data center will now be connected to the internet.

Configure a private LAN

1. Double-click the + icon on the server. This creates an NIC connected to a private LAN.

2. In the LAN tab of the Inspector pane, enter a unique name for the LAN, and optionally, you may update the LAN color.

Result: The private LAN is successfully configured. A NIC IP is auto-generated, and the IP address is private.

Provision Changes

  1. Select PROVISION CHANGES in the Inspector pane to start the provisioning.

  2. Review your changes in the Validation tab of the Provision Data Center window.

  3. Confirm changes by entering your password. Resolve conflicts without a password.

  4. When ready, select Provision Now.

Result: The data center will now be provisioned. DCD will display a Provisioning Complete notification when your cloud infrastructure is ready.

You may configure the MAC and IP addresses once the resource is provisioned.

Next steps

Bucket Policy
Object Lock
DCD
servers
Change payment method window
Add an SSH key to the DCD
Add an SSH key to the DCD
Open Start Center
List of both default and non-default SSH keys
List of both default and non-default SSH keys
Open Remote Console
My customer data window
Delete an existing SSH key
Delete an existing SSH key
Access SSH keys from the Data Center Designer
Access SSH keys from the Data Center Designer
Select Console from the Inspector pane or the context menu of the server
Copy and paste key info in the SSH key field
Copy and paste key info in the SSH key field

stability.ai ()

BlackForestLab ()

The Worcester data center is classified as a Tier IV facility, which includes comprehensive isolation of critical infrastructure systems to reduce the risk of disruptions significantly and guarantees our users the highest operational security and reliability level. For additional information, refer to the .

You now have the option to deploy the following products in the new data center via the or using the location code gb/bhx via the :

Containers:

Data Analytics:

Observability:

Storage & Backup:

AI:

Beginning today, you will observe that the DCD portal's have been redesigned, resulting from the integration of IONOS Cloud Identity and Access Management (IAM) Single Sign-On (SSO) into the login process. You do not need to make any changes to your account.

Starting November 11, we will implement an update to the IONOS Cloud Identity and Access Management (IAM) Single Sign-On (SSO) login system to enhance security and usability for our users. You will notice that the new SSO will consist of two : — The first screen requires your email address and password. — The second screen requests a Time-based one-time password (TOTP) if you have activated 2-Factor Authentication.

We are excited to announce the launch of our new Database as a Service (DBaaS) interface for our Database products: , , , and . Designed with user experience in mind, the new DCD interface provides a more intuitive and an efficient management experience.

Managed Kubernetes is releasing Kubernetes version 1.31. For more information about the schedule timeline, see .

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

These endpoints mirror , allowing for seamless integration with tools and platforms already designed for OpenAI:

: Retrieve the list of available models and their details.

: Generate conversational responses using supported Large Language Models.

: Generate high-quality images based on text prompts.

: Generate text embeddings as numerical vectors for semantic search, text similarity, and clustering.

Security is paramount, and IONOS provides robust mechanisms to authenticate and authorize API requests. You must generate and use API tokens to access the AI services securely. For more information about generating a corresponding token, see .

IONOS ensures that all data processing complies with German and European data protection regulations. Your data is processed within Germany, providing more layer of security and compliance. For more information, see .

A is a with an attached NVMe Volume. You can use each newly created Cube as a new VM, either standalone or in combination with other IONOS Cloud products. For more information, see .

You can create and configure your Cubes visually using the interface. For more information, see . However, the creation and management of Cubes are easily automated via the , as well as our custom-made tools and .

Counters: The use of Cubes' vCPU, RAM, and NVMe storage resources counts into existing resource usage. However, dedicated resource usage counters are enabled for Cubes. These counters permit granular monitoring of vCPUs and NVMe storage, which differ from Dedicated Core Servers for the enterprise VM instances and block storage.

Billing: Suspended Cubes continue to incur costs. If you do not delete unused instances, you will incur usage charges. We recommend creating snapshots of you do not need immediately and deleting unused instances to save costs. Use these snapshots to recreate identical Cubes as needed. Recreated instances may be assigned a different .

You may attach more or (Standard or Premium) block storage based on the need. Each Cube supports up to 23 block storage devices in addition to the existing NVMe volume. Added HDD and SSD devices, as well as CD-ROMs, can be unmounted and deleted any time after the Cube is provisioned for use.

IONOS provides Direct Attached Storage (DAS) for Cube instances, offering NVMe volumes on the same physical host as the Cube. For DAS volumes created after feature availability, IONOS implements encryption at rest and secure deletion, mirroring the of Block Storage.

Note: You can contact to increase the resource limits for your account.

and

New capabilities have been added to the Managed Application Load Balancer: — — These enhancements provide comprehensive instructions for setting up gRPC that enables users to define service methods and messages in a language-agnostic way, making it easy to create APIs that work seamlessly across different platforms and setting up WebSocket support, a communication protocol that provides full-duplex communication channels over a single TCP connection.

This release introduces Monitoring Service. IONOS Cloud introduces the Monitoring Service, which provides a centralized and scalable solution for monitoring and analyzing your application and infrastructure metrics. Hence, is now considered a legacy. We recommend switching to the Monitoring Service for better support and capabilities. For more information, see .

The new Password Policy Manager feature is now available for contract owners, enabling the creation of a customizable password policy that strengthens security within their contracts. Using the or the , contract owners can manage password policy.

The Certificate Manager now supports the auto-renew of SSL certificates via the . With this function, the certificate manager automatically renews the certificate before it expires. The renewed certificate is also available in the DCD to use them. This feature is currently supported only via the API and available on a request basis. To access this feature, please contact your sales representative or .

It is currently available on a request basis. To access this product, please contact your sales representative or .

It is currently available on a request basis. To access this product, please contact your sales representative or .

The self-restoration of MariaDB clusters from a backup is possible via the DCD. It minimizes downtime and data loss in unanticipated scenarios. For more information, see .

It is currently available on a request basis. To access this product, please contact your sales representative or .

IONOS releases CDN, a content delivery network service with multiple edge servers geographically well situated within the user's proximity to deliver content swiftly and securely with enhanced features such as Web Application Firewall (WAF) and DDoS Layer 7 protection. It is currently available on a request basis. To access this product, please contact your sales representative or .

The Data Center Designer (DCD) is a unique tool for creating and managing . Its graphical user interface (GUI) makes data center configuration intuitive and straightforward. You can drag and drop virtual elements from the Palette to set up and configure data center infrastructure components in the Workspace. For more information, see .

Similar to a physical data center, you can use the DCD to connect various virtual elements to create a complete hosting infrastructure. For more information, see .

The square elements serve as building blocks for your VDC. Each element represents an IONOS Cloud product or service. Some elements are compatible, while others are not. For example, a Server icon can be combined with the Storage ( or ) icon. In practice, this would represent the physical act of connecting a hard drive to a server machine. For more information, see .

When an element is selected, the Inspector pane will appear on the right side of your screen. You can configure the element properties. For example, for a Server element, you can define its Name and , Preset, vCPUs and RAM.

: Create, configure, and delete entire data centers. Cross-connect between VDCs and tailor user access across your organization.

and : Set up, pause, and restart virtual instances, such as , , or , with customizable storage, CPU, and RAM capacity. Instances can be scaled based on usage. For more information about configuring a data center, see .

: Upload, edit, and delete your private images or use images provided by IONOS Cloud. Create or save snapshots for future instances.

: Reserve and manage static public . Create and manage private and public LANs, including firewall setups.

Basic Features: Save and manage ; connect via ; launch instances via ; record networking via flow logs and monitor your instance use with monitoring software.

Upon creating a data center, you can manually configure the IONOS Cloud infrastructure for each server using the in the DCD. It comprises all the building blocks and the necessary resources required to configure, operate, and manage your products and services. You can also configure and manage multiple VDCs and configure settings for each server automatically.

— Only group users with Edit access to the data center resource can configure the data center. Users of a group added to a data center with only Visible to Groups access can only view the data center. For more information, see .

— A data center must be created. To do so, follow the steps in .

To configure your , follow these steps:

Availability Zone: Select a zone from the drop-down list to host the on the chosen zone.

RAM: Select any size starting from 0.25 GB to the maximum limit allotted to you. The size can be increased or reduced in steps of 0.25 GB. The maximum limit varies based on your and the . For more information about creating a full-fledged server, see .

For more information about adding storage to the server, see .

1. Create a Network Interface Card () by clicking the + icon on the Dedicated Core server in the workspace and attach it to the Internet element. Alternatively, you can right-click the Dedicated Core server > Actions > Add NIC and then attach it to the Internet element.

Firewall: It is Disabled by default. Select a value from the drop-down list to configure your firewall settings. For more information, see .

For more information about network configuration, see .

Note: The LANs added here are private. To configure a public LAN, see .

After configuring data centers, you can specify a preferred default data center location, IP settings, and resource capacity for future VDCs. For more information about configuring VDC defaults, see . Next, you can to create data centers.

My Customer Data
Payment Details
Account Security
DCD Default Settings
License
License
New IONOS Object Storage in Lenexa, USA
Embeddings models added to AI Model Hub
IONOS's new data center in Worcester, United Kingdom
Service Catalog
DCD
API
Dedicated Core Servers
vCPU Servers
Cubes
VM Auto Scaling
Managed Kubernetes
Managed Stackable Data Platform
In-Memory DB
MariaDB
MongoDB
PostgreSQL
Certificate Manager
Cloud DNS
Cross Connect
DDoS Protect
Flow Logs
IPv6 Configuration
Managed Application Load Balancer
Managed NAT Gateway
Managed Network Load Balancer
VDC Networking
VPN Gateway
Activity Logs
Block Storage
AI Model Hub
Backup Service
IONOS Object Storage
VPN Gateway General Availability
Advisory on CVE-2024-10220
Changes to the Login Process
login screens
AI Model Hub now supports OpenAI Image endpoint
Firewall Rules Upgrade: Broader Protocol Coverage
Introducing Custom MAC Address Capability for Network Interfaces
Kubernetes Version 1.28 End-of-Life Notification
Changes to the Login Process
login screens
Network Security Groups Support in Cloud API v6
New Database Interface
In-Memory DB
MariaDB
MongoDB
PostgreSQL
Event Streams for Apache Kafka General Availability
Managed Kubernetes Versions
Release Schedule
free
Create your contract
OpenAI’s API structure
Models
Chat Completions
Image Generations
Embeddings
Access Management
Data Handling
Cube
Virtual Machine (VM)
Cubes
VDC
SSD
NVMe volumes
IP address
HDD
SSD
security features
IONOS Cloud Support
DCD
Create a Cube
SDKs
Cloud API
Configure a Dedicated Core Server
Endpoints
pre-conditions
Self-Restore MariaDB Clusters from a Backup
Select AMD Epyc
Setting up IPv6 for Cubes
Replication Enhancement
Enable Access Logging for Application Load Balancer
Enable Access Logging for Network Load Balancer
gRPC Support
WebSocket Support
Configure gRPC Support
Configure WebSocket Support
Monitoring Service
Monitoring as a Service
FAQs
Private Container Registry IP ACLs
Password Policy Manager
Kubernetes Version 1.27 End-of-Life
Access Object Storage from a Private LAN
Kubernetes Version 1.27 End-of-Life Notification
Auto-Renewable SSL Certificate Support
API
IONOS Cloud Support
Network File Storage (NFS) Volumes for Kubernetes
IONOS Cloud Support
Event Streams for Apache Kafka
IONOS Cloud Support
Self-restore MariaDB Clusters from the DCD
VPN Gateway
IONOS Cloud Support
In-Memory DB
CDN
IONOS Cloud Support
Access and Manage the API Gateway
Configure a Data Center
HDD
SSD
Set Up Storage
Availability Zone
Data Centers
Compute Engine
Cubes
Dedicated Core servers
vCPU servers
Cubes
Configure a Data Center
Block Storage
Networking
IP addresses
SSH keys
Remote Console
cloud-init
Create a Data Center
Dedicated Core Server
server
Block Storage Overview
NIC
Configure a Firewall
Configure a Network
IAM Identity Password Policies API
DCD
Virtual Data Center (VDCs)
Palette and workspace
palette and workspace
Connect to the Internet
top navigation menu
left navigation menu
DCD dashboard
Create a group
Add group to a resource
use cases
Use Cases

Name

Description

Provides access to the IONOS Cloud products and features.

You can arrange element icons in this space via drag-and-drop.

Movable element icons that can be combined in the Workspace.

The icon represents a component of the VDC.

Right-click an element to display additional options.

View and configure properties of the selected element.

Log in to the Data Center Designer

2. On the top right corner of the login screen, select your preferred language. The DCD supports German (DE), English (EN), French (FR), and Spanish (ES) languages.

3. Enter the Email Address and Password details that were obtained during the sign-up process for an IONOS Cloud account.

2FA

Description

Enabled

Enter the six-digit Time-based one-time password (TOTP) from your authenticator app to continue the login process.

Disabled

You will not see the additional screen if you have not enabled 2FA. You can navigate to the next step. However, we highly encourage enabling 2FA to enhance security.

5. Click Sign In.

Result: You are successfully logged in to the DCD application.

DCD application

Once logged in, you will see three primary areas of the DCD application:

The top navigation menu

Options

Description

1. IONOS logo

Click the logo to navigate back to the dashboard from any screen within the DCD.

Click the icon to expand or hide the left navigation bar, causing the DCD interface to adjust its width accordingly.

Create, view, and manage users and groups; define password policies; and create and manage tokens.

4. Notification icon

View any active notifications.

5. Help icon

View and manage your contract, payment details, general account settings, and password and security-related details.

The left navigation menu

The left navigation menu consists Virtual Data Centers (VDCs) and product categories, which you can use to access all the IONOS Cloud services. You can also create new VDCs or manage existing VDCs, access documentation, explore what's new in DCD, and additional details about the DCD.

Options

Description

Virtual Data Centers

View the list of data centers and their details or create a new data center.

Leverage AI functionalities with open source generative models.

Manage containerized applications.

Host and manage your databases with IONOS Cloud database services.

Manage IONOS Storage and Backup services.

Observe system behavior through logging, activity tracking, and gather insights using metrics.

Manage network connectivity and edge networking functions with improved security and IP management.

Use data platform services and manage Big Data workloads.

Manage network security settings, SSH access, and certificates to secure your data center.

Redirects you to the IONOS Cloud Documentation portal.

Redirects you to the Tutorials to help you get started with managing your account.

What's New in DCD

Discover the new version of the DCD, new product launches, recent enhancements, and feature updates in the DCD.

About DCD

Displays version details, copyright information, and the company logo.

The DCD dashboard

To provide feedback about the DCD dashboard, select Feedback about this page. You can submit your rating, provide reasons, and share what you liked or could improve.

Next steps

Users & Groups

The Users & Groups feature provides core Identity and Access Management (IAM) capabilities within the IONOS Cloud environment. It is designed to support Role-Based Access control (RBAC) by enabling fine-grained management of user identities, group associations, and resource-level permissions.

Together, these components form the foundation for secure multi-user access control, secured access, and operational efficiency in IONOS Cloud.

Create a user

  1. In the DCD, go to Menu > Management > Users & Groups.

  2. Select Create in the Users tab.

  3. Enter the user's First Name, Last Name, Email, and Password.

Note: — The email address of the new user must be unique.

  1. Select Create to confirm.

Result: A user is successfully created and listed in the Users list.

Create a group

The creation of groups is useful when you need to assign specific duties to the members of a group. You can create a group and add members to this group. You can then assign privileges to the entire group.

  1. In the Groups tab, select Create.

  2. Enter a Group Name.

  3. Select Create to confirm.

Result: The group is now created and visible in the Groups list. You can now assign permissions, users, and resources to your group.

Assign privileges to a group

  1. In the Groups tab, select a group from the Groups list.

  2. In the Privileges tab, select checkboxes next to the privilege name.

Note: You do not need to save your selections. This action automatically grants or removes privileges.

Result: The group has the required privileges now.

Note: To remove the privileges for a group, clear the checkbox next to the privilege name.

Add users to a group

Users are added to your new group on an individual basis. Once you have created a new member, you must assign them to the group.

  1. In the Groups tab, select the required group.

  2. In the Members tab, add users from the Add User drop-down list.

Result: The users are now assigned to the group. These users have privileges and access rights to the resources corresponding to their group.

Remove a user from the group

Users can be removed from your group on an individual basis.

  1. Select the Members tab.

  2. Click Remove User.

Result: This user is now removed from the group.

Assign resources to a group

  1. In the Groups tab, select the required group.

  2. Select the Resources of Group tab.

  3. Click Grant Access and select the resource to be assigned to the group from the drop-down list.

Result: The group now has the newly assigned resources. You have enabled read access for the selected resource.

Enable or disable access for a resource

Group resource sharing is crucial for managing access and permissions within IONOS Cloud. The primary purpose of assigning a resource to a group in IONOS Cloud is to manage and restrict actions that users (non-administrators) can perform on those resources. Specifically, the actions controlled by group membership are as follows:

Access

Description

View

Adding the resource to the list enables users in the specific group to see the resources.

Edit

Allows users in the group to manage the resource.

Share

Share the resource between the groups of your contract and only those to which you belong. The users belonging to the group with which you share the resource gain view permissions.

Note:

  • Resources created by the contract owner are, by default, not visible to users.

  • Users cannot see or interact with resources created under the contract owner without being part of a shared group.

Administrators or contract owners can enable resource access to users by selecting the appropriate checkboxes:

  • Edit: Select the checkbox to allow users in the respective group to edit or manage the resources.

  • Share: Select the checkbox to share the resource between the groups of your contract, and only those to which you belong. The users of the group gain view permissions.

To restrict access, select the required resource and clear either the Edit or Share checkboxes or directly click Revoke Access to revoke both permissions.

Add group to a resource

  1. In the Resources tab, select a resource from the list.

  2. In the Visible to Groups tab, click Add Group.

  3. Select a group from the drop-down list.

Result: This group can now access the allocated resource.

Access Management

The IONOS AI Model Hub grants access to users with authentication tokens. An authentication token is a unique string assigned to a specific user. Do not share your authentication tokens with others; each authentication token grants access to modifying or using the corresponding IONOS solutions.

The IONOS authentication tokens used for the AI Model Hub are bound to users of our public cloud offering. The central advantage of this approach is that existing users can use their authentication tokens to access the AI Model Hub with no or only minor changes. However, new users interested solely in the AI Model Hub must first create a public cloud contract.

This tutorial helps both new and existing users to get access to the AI Model Hub.

Overview

This tutorial is intended for users without prior programming knowledge.

By the end of this tutorial, you will be able to:

  • Create a new contract for the IONOS Public Cloud offering.

  • Add and edit users to gain access to the AI Model Hub.

  • Generate an authentication token for an existing user.

Create Public Cloud Contract

To create a public cloud contract, proceed as follows:

  1. Select the Country you are living in.

  2. Enter your Email address and a Password you want to use.

  3. Accept the Pricing and Terms and Conditions by marking the corresponding checkbox.

  4. Click Test now.

The page with the details will look similar to this:

You are now informed that you will receive an email from IONOS. Remember to click on the hyperlink specified in this email to validate your email address.

After confirming the email address is valid, enter the following details:

  1. Enter your First Name and Last Name.

  2. Enter your Phone Number.

  3. Click Test now.

Your IONOS Public Cloud contract is now created and can be used to log in.

Activate Unlimited Access

After logging in, you can with the new contract for the first time, you can neither create new users nor generate authentication tokens. To do this, you must "activate unlimited access" by entering your contact data:

  1. Click Get full access on the top of the screen.

  2. Enter your Street address, ZIP and the City you life in.

  3. CLick Save and Continue.

After entering the contact data, please specify your payment details:

  1. Select whether to specify your Credit Card data our SEPA Direct Debit data.

  2. Enter the relevant information.

  3. Click Save and Continue

We now manually check whether the data you provided is correct. After this evaluation, we inform you and actiate unlimited access. This process can take up to 24 hours.

Grant Users Access to the AI Model Hub

Every contract owner has sufficient rights to access the AI Model Hub. In addition, the contract owner can use every API endpoint of the IONOS Public Cloud offering. That is, the contract owner can create new users, setup infrastructure in the IONOS cloud and configure existing setups.

We therefore suggest that you create a new user to be specifically used for the AI Model Hub and grant this user only the rights they will need.

You can create a corresponding user in a few simple steps.

Log in to the DCD

  1. Enter the Email address and the Password you specified when creating your Public Cloud contract.

  2. Click Sign in.

The filled screen is similar to:

Open IONOS User Manager

Next open the IONOS User Manager by clicking Management -> Users & Groups.

Create an AI Model Hub User Group

In the User Manager you create a new user group:

  1. Click Groups -> + Create.

  2. Enter a name for your user group in the field Group Name.

  3. Click Create.

You have now created a new user group without any rights.

Grant AI Model Hub Access Rights to your User Group

To grant your new user group the necessary access rights:

  1. Select your user group in the left part of the screen.

  2. Your Group Name is now displayed in the upper right area of the screen.

  3. Scroll to the end of the list in the lower right part of the screen.

  4. Select the checkbox for Access and manage AI Model Hub.

Your user group is now granted access to the AI Model Hub.

Create a New User

Next, create a user and add this user to the newly created user group:

  1. Click Users > + Create.

  2. Enter First Name, Last Name, Email and Password for this user.

  3. Click Create.

The new user is now created.

Grant Access to the New User

To add the new user to the user group with access rights to the AI Model Hub:

  1. Click Users in the IONOS User Manager.

  2. Select the newly generated User in the left part of the screen.

  3. Select Groups in the right area of the screen.

  4. Click + Add to Group.

  5. Click on the name of the newly created group.

Your user is now in the user group of the AI Model Hub and can access to corresponding service.

Generate an Authentication Token

In our example, log out of the contract owner’s account and log in with the newly created user account to proceed with token generation.

After logging in, create a token as follows:

  1. Click Management > Token Manager.

  2. Select the Time to Live (TTL). This is the duration for which the authentication token is valid.

  3. Click Generate Token.

On the next screen you are shown the authentication token. Click "Download" to save this token locally or mark and copy it.

Note:

You must copy your authentication token in this step. It will not be displayed afterwards in any dialog and you have no chance to recover the authentication token, if you missed copying it here.

Summary

In this tutorial, you learned how to create an authentication token for the IONOS AI Model Hub.

Namely, you learned how to:

  • Create a new contract for the IONOS Public Cloud.

  • Create a new user with the access rights to use the AI Model Hub.

  • Create an authentication token to use with the API of the AI Model Hub.

Text Generation

The IONOS AI Model Hub offers an OpenAI-compatible API that enables powerful text generation capabilities through foundation models. These Large Language Models (LLMs) can perform a wide variety of tasks, such as generating conversational responses, summaries, and contextual answers, without requiring you to manage hardware, or extensive infrastructure.

Supported Text Generation Models

The following models are available for text generation, each suited to different applications:

Model Provider
Model Name
Purpose

Teuken Commercial v0.4 Instruct (7B)

Ideal for dialogue use cases and natural language tasks in all 24 EU languages.

Llama 3.3 Instruct (70B)

Ideal for dialogue use cases and natural language tasks: conversational agents, virtual assistants, and chatbots. Exceeds the capabilities of Llama 3.1 405B in performance at comparable quality.

Llama 3.1 Instruct (8B and 405B)

Ideal for dialogue use cases and natural language tasks: conversational agents, virtual assistants, and chatbots.

Code Llama Instruct HF (13B)

Focuses on generating different kinds of computer code, understands programming languages.

Mistral Instruct v0.3 (7B), Mixtral (8x7B)

Ideal for: Conversational agents, virtual assistants, and chatbots; Comparison to Llama 3: better with European languages; supports longer context length.

Overview

In this tutorial, you will learn how to generate text using foundation models through the IONOS API. This tutorial is intended for developers with basic knowledge of:

  • REST APIs

  • A programming language for handling REST API endpoints (Python and Bash examples are provided)

By the end, you will be able to:

  1. Retrieve a list of text generation models available in the IONOS AI Model Hub.

  2. Apply prompts to these models to generate text responses, supporting applications like virtual assistants and content creation.

Getting Started with Text Generation

To use text generation models, first set up your environment and authenticate using the OpenAI-compatible API endpoints.

Download the respective code files to easily access text generation-specific scripts and examples and generate the intended output:

Download this Python Notebook file to easily access text generation-specific scripts and examples and generate the intended output.

Download this Python code file to easily access text generation-specific scripts and examples and generate the intended output.

Download this Bash code file to easily access text generation-specific scripts and examples and generate the intended output.

Step 1: Retrieve Available Models

Fetch a list of models to see which are available for your use case:

# Python example to retrieve available models
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"

endpoint = "https://openai.inference.de-txl.ionos.com/v1/models"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
requests.get(endpoint, headers=header).json()
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     --get https://openai.inference.de-txl.ionos.com/v1/models

This query returns a JSON document listing each models name, which you’ll use to specify a model for text generation in later steps.

Step 2: Generate Text with Your Prompt

To generate text, send a prompt to the chat/completions endpoint.

# Python example for text generation
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"
MODEL_NAME = "[MODEL NAME HERE]"
PROMPT = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ]

endpoint = "https://openai.inference.de-txl.ionos.com/v1/chat/completions"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
body = {
    "model": MODEL_NAME,
    "messages": PROMPT,
}
requests.post(endpoint, json=body, headers=header).json()
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]
MODEL_NAME=meta-llama/Meta-Llama-3.1-8B-Instruct 
PROMPT='[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
]'

BODY="{ 
    \"model\": \"$MODEL_NAME\",
    \"messages\": $PROMPT
}"
echo $BODY

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     https://openai.inference.de-txl.ionos.com/v1/chat/completions

Step 3: Extract and Interpret the Result

The returned JSON includes several key fields, most importantly:

  • choices.[].message.content: The generated text based on your prompt.

  • usage.prompt_tokens: Token count for the input prompt.

  • usage.completion_tokens: Token count for the generated output.

Summary

In this tutorial, you learned how to:

  1. Access available text generation models.

  2. Use prompts to generate text responses, ideal for applications such as conversational agents, content creation, and more.

vCPU Servers

Boot options

Availability Zones

Assigning different Availability Zones ensures that vCPU Servers or storage devices reside on separate physical resources at IONOS. This helps ensure high availability and fault tolerance for your applications, as well as providing low-latency connections to your target audience.

For example, a vCPU Server or a storage device assigned to Availability Zone 1 resides on a different resource than a vCPU Server or storage device assigned to Availability Zone 2.

You have the following Availability Zone options:

  • Zone 1

  • Zone 2

  • A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)

Live Vertical Scaling (LVS)

After uploading, you can define the properties of your images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the vCPU Server.

For IONOS images, the supported properties are already preset. Without restarting the vCPU Server, its resources can be scaled as follows:

  • Upscaling: CPU, RAM, NICs, storage volumes

  • Downscaling: NICs, storage volumes

Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, whether or not you have used the scaling-up approach. Without restarting the vCPU Server, only Upscaling is possible.

vCPU Server Features

vCPU Server provides the following features:

  • Flexible Resource Allocation provides you with presets, which are recommended vCPU-to-RAM configurations for your virtual machines. Furthermore, this option empowers you to add or remove compute resources flexibly to meet your specific needs.

  • The Robust Compute Engine platform supports the vCPU servers, ensuring seamless integration. Additionally, the features offered by the Compute Engine platform remain accessible for utilization with vCPU servers

  • Virtualization Technology enables efficient and secure isolation between different VMs, ensuring the performance of one VM does not impact the others.

  • Reliable Performance and computing capabilities make it suitable for a wide range of applications. The underlying infrastructure is optimized to provide reliable CPU performance, ensuring your applications run smoothly.

  • Easy Management via the intuitive Data Center Designer. You can easily create, modify, and delete vCPU Servers, monitor their usage, and adjust the resources according to your needs.

vCPU Server Benefits

vCPU Server provides the following benefits:

  • Cost-Effective: vCPU Server helps reduce costs when compared to major hyperscalers with similar resource configurations. This makes it an ideal choice for small to medium-sized businesses or individuals with budget constraints.

  • Scalability: With the IONOS vCPU Server, you have the flexibility to scale your computing resources up or down based on your requirements. This ensures that you can meet the demands of your applications without overprovisioning or paying for unused resources.

  • Reliability and Availability: IONOS's cloud infrastructure ensures high availability and reliability. By distributing resources across multiple physical servers, IONOS minimizes the impact of hardware failures, providing a stable and resilient environment for your applications.

  • Easy Setup: Setting up the IONOS vCPU Server is straightforward. The IONOS DCD and Cloud API offer controls for provisioning and configuring vCPU Servers, allowing you to get up and running quickly.

Limitations of vCPU Servers

This section lists the limitations of vCPU Servers:

CPU Family of a vCPU Server cannot be chosen at the time of creation and cannot be changed later. vCPU Server configurations are subject to the following:

Components
Minimum
Maximum

vCPU

1 vCPU

60 vCPUs

RAM

0,25 GB RAM

230 GB RAM*

NICs and storage

0 PCI connectors

24 PCI connectors

CD-ROM

0 CD-ROMs

2 CD-ROMs

RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, a newly provisioned vCPU Server with more than 8 GB of RAM may not start successfully when created from the IONOS Windows images.

Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.

Text Embeddings

The IONOS AI Model Hub provides an OpenAI-compatible API that enables embedding generation for text input using state-of-the-art embedding models. Embeddings are multi-dimensional vectors that are lists of numerical values-the more semantically similar the text input, the more similar the embeddings.

Supported Embedding Models

The following models are available for embedding generation in the IONOS AI Model Hub, each suited for different use cases:

Overview

In this tutorial, you will learn how to generate embeddings through the OpenAI compatible API. This tutorial is intended for developers with basic knowledge of:

  • REST APIs

  • A programming language for handling REST API endpoints (Python and Bash examples are provided)

By the end, you will be able to:

  1. Retrieve a list of available embedding models in the IONOS AI Model Hub.

  2. Use the API to generate embeddings with these models.

  3. Use the generated embeddings as input to calculate similarity scores.

Getting Started with Embedding Generation

To use embedding models, first set up your environment and authenticate using the OpenAI-compatible API endpoints.

Download the respective code files to easily access embedding-specific scripts and examples and generate the intended output:

Download this Python Notebook file to easily access embedding-specific scripts and examples and generate the intended output.

Download this Python code file to easily access embedding-specific scripts and examples and generate the intended output.

Download this Bash code file to easily access embedding-specific scripts and examples and generate the intended output.

Step 1: Retrieve Available Models

Fetch a list of embedding models to see which models are available for your use case:

Output

This query returns a JSON document listing each model's name, which you’ll use to specify a model for embedding generation in later steps.

Step 2: Generate Embeddings with Your Prompt

To generate an embedding, send the text to the /embeddings endpoint.

Step 3: Calculate Similarity Scores

The returned JSON includes several key fields, most importantly:

  • data.[..].embedding: The generated embedding as a vector of numeric values.

  • usage.prompt_tokens: Token count for the input prompt.

  • usage.total_tokens: Token count for the entire process.

Using python, you can calculate the similarity of two results:

The Embeddings API uses standard HTTP error codes to indicate the outcome of a request. The error codes and their description are as below:

  • 200 OK: The request was successful.

  • 401 Unauthorized: The request was unauthorized.

  • 404 Not Found: The requested resource was not found.

  • 500 Internal Server Error: An internal server error occurred.

Summary

In this tutorial, you learned how to:

  1. Access available embedding models.

  2. Generate embeddings with these models.

  3. Calculate similarity scores using the numpy library.

contract resource limits
chosen data center
define users and assign them the privilege required
Set Support PIN window
Create a password policy
Setting up IPv6 for Dedicated Core servers
Token Manager option in the drop-down
Generate authentication token
Deletion of an authentication token
Delete password policy screen
Change Password window
Enable 2-Factor Authentication from the Password & Security tab of the Account Settings

1.

2.

3.

4.

5.

6.

1. Open a web browser and navigate to .

4. The additional screen to enter the code is only visible to users with enabled.

The top navigation menu enables you to create and manage the data center, and view and manage your user account. Additionally, you can view notifications, visit the help section, learn more about DCD, and contact when needed.

2. icon

3.

View online help documentation, learn more about the DCD, and contact when needed.

6.

The DCD dashboard shows a concise overview of your VDCs in My Virtual Data Centers, and Resource Allocation shows the current usage of resources across your infrastructure. You will also see options to contact , What's new in the DCD, and IONOS Cloud Status details.

You need to create your first data center to start seeing data center-relevant details in the dashboard. To do so, see and .

Navigate to the to explore the DCD core functionalities and elements or start .

This tutorial guides you through creating and managing Users, Groups, and Resources in the via the User Manager. You can create new users, add them to user groups, and assign privileges to each group. Privileges either limit or increase your access based on the user role. The User Manager lets you control user access to specific areas of your VDC.

A user is an individual who can log in to IONOS Cloud. Each user can have different roles based on the privileges assigned. The assigned privileges determine the tasks the user is allowed to perform. For example, administrators can assign roles, manage access tokens, enforce MFA, and track user activity across services. For more information about creating users, see .

User access control

A new VDC in the Data Center Designer (DCD) is manageable by contract owners. To assign resource management capabilities to other members in VDC, you can add users and groups and grant them appropriate privileges to work with the data center resources.

Prerequisites: Make sure you have the appropriate privileges. Only contract administrators and owners can manage users within a VDC.

A group is a logical collections of users used to streamline permission assignments. Groups enable scalable access control by allowing roles to be applied collectively rather than individually. This is especially effective in large or dynamic teams.

Benefits of user group assignment

When assigning a user to a group, whether you are a contract owner or an administrator, you can:

  • within DCD and .

  • Assign , so users of the group can access and manage products.

  • Manage the resources that members of the group can access. Example: , , , or IP blocks.

Note: Administrators do not need to be managed in groups, as they automatically have access to all resources associated with the contract.

It encompasses all resources accessible to users or groups. Access permissions can be granted or restricted at the group or individual user level. The DCD also facilitates efficient resource management and visibility into the resources accessible to specific users or groups. Users, such as administrators or contract owners, with create permissions can create resources, which become editable or sharable to non-administrator users in a group only when the resource is associated with the group. For more information about resource sharing, see .

— The password must adhere to the contract's password policy. For more information, see .

Users created using the IONOS Cloud API /um/users have limited permissions.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . Create your contract using this tutorial now and kickstart your AI journey!

If you have an existing contract with IONOS Public Cloud, you can directly log into the and proceed with adding and editing users to gain access to the AI Model Hub.

Open the .

You first must log into the Data Center Designer (), our frontend application for our public cloud offering:

Open the URL in a browser.

To generate an authentication token log into the Data Center Designer () our frontend for our Public Cloud offering with the user for which you want to create an authentication token.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

openGPT-X ()

Meta ()

Meta ()

Meta ()

Mistral AI ()

For information on image generation, see our dedicated tutorial on models.

A that you create is a new provisioned and hosted in one of IONOS' physical data centers. A vCPU Server behaves exactly like physical and you can use them either standalone or in combination with other IONOS Cloud products.

You can create and configure your visually using the interface. For more information, see . However, the creation and management of a vCPU Server can be easily automated via the , as well as our custom-made tools like .

vCPU Servers add a new dimension to your computing experience. These servers are configured with virtual CPUs and distributed among multiple users sharing the same physical server. The performance of your vCPU Server relies on various factors, including the underlying CPU of the physical server, VM configurations, and the current load on the physical server. Our lets you closely monitor your CPU utilization and other essential metrics through the Monitoring Manager.

Note: Starting April 1, 2025, during the Managed Kubernetes node pool creation, apart from Dedicated Core server type, users can now also choose vCPU server. For more information, see .

For each vCPU Server, you can select to boot from a virtual CD-ROM/DVD drive or a storage device ( or ) using any operating system on the platform. The only requirement is the use of KVM VirtIO drivers. For more information on how to install VirtIO drivers in windows, see . IONOS provides a number of ready-to-boot images with current versions of Linux operating systems.

Secure your data, enhance reliability, and set up high-availability scenarios by deploying your vCPU Servers and storage devices across multiple allowing you to deploy your Shared vCPU instances in different geographic regions.

If the capacity of your no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a vCPU Server without restarting it, permitting you to add RAM or ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.

The types of resources that you can scale without rebooting will depend on the operating system of your . Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. drivers are optimized for virtual environments and provide direct access to underlying hardware.

Note: Additional RAM sizes are available on request. To increase the RAM size, contact your sales representative or .

Note: To increase the resource limits for your account, contact

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

Model Source
Model Name
Description

Basic understanding of

For information on how to use embeddings in document collections, see our dedicated tutorial on .

https://dcd.ionos.com
IONOS Cloud Support
IONOS Cloud Support
Create a Data Center
Configure a Data Center
Data Center Designer
creating a data center
Virtual Data Center (VDC)
Manage Password Policy
endpoint
free
DCD
IONOS signup page
DCD
https://dcd.ionos.com
DCD
free
Create your contract
text-to-image
vCPU Server
DCD
Set Up a vCPU Server
Cloud API
SDKs
Data Center Dashboard (DCD)
Manage Node Pools
HDD
SSD
Install Windows VirtIO Drivers
Availability Zones
Virtual Data Center (VDC)
NICs
IONOS Cloud Support
IONOS Cloud Support
Top navigation menu
The top navigation menu
The left navigation menu
The DCD dashboard
Workspace
Palette
Elements
Context menu
Inspector pane
2-Factor Authentication (2FA)
VDCs
Images
Snapshots
Create a user
Create a new user
assign the user to a group
privileges to the group
Enable or disable access for a resource
vCPU Server
Virtual Machine (VM)
servers
VirtIO
vCPU Server
# Python example to retrieve available models
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"

endpoint = "https://openai.inference.de-txl.ionos.com/v1/models"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
requests.get(endpoint, headers=header).json()
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
        --get https://openai.inference.de-txl.ionos.com/v1/models
      {
         "id":"sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
         "object":"model",
         "created":1677610602,
      },
      {
         "id":"BAAI/bge-m3",
         "object":"model",
         "created":1677610602,
      },
      {
         "id":"BAAI/bge-large-en-v1.5",
         "object":"model",
         "created":1677610602,
      },
# Python example for embedding generation
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"
MODEL_NAME = "[MODEL NAME HERE]"
INPUT = ["Michael Jackson", "Metallica"]

endpoint = "https://openai.inference.de-txl.ionos.com/v1/embeddings"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
body = {
    "model": MODEL_NAME,
    "input": INPUT
}
result = requests.post(endpoint, json=body, headers=header)
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]
MODEL_NAME=[MODEL NAME HERE]
INPUT='["Michael Jackson", "Metallica"]'

BODY='{
    "model": "'$MODEL_NAME'",
    "input": '$INPUT'
}'

curl -X POST -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     https://openai.inference.de-txl.ionos.com/v1/embeddings
# Python example for similarity scoring
import numpy as np
import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"
MODEL_NAME = "sentence-transformers/paraphrase-multilingual-mpnet-base-v2"
INPUT = ["Michael Jackson", "Metallica"]

endpoint = "https://openai.inference.de-txl.ionos.com/v1/embeddings"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
body = {
    "model": MODEL_NAME,
    "input": INPUT
}
result = requests.post(endpoint, json=body, headers=header).json()

embedding_1 = result['data'][0]['embedding']
embedding_2 = result['data'][1]['embedding']

similarity = np.dot(embedding_1, embedding_2)

# 0.18887
Frequently Asked Questions (FAQs)
Cost and Usage view
Easy access to VPN Gateway tutorials
Enable 2-Factor Authentication for an individual user from the User Manager window
Update a password policy
Delete a password policy
Authentication token generated in the API/SDK Authentication Token Manager screen
Authentication token attributes
Setting up IPv6 for vCPUs
Edit password policy
Cost alert deleted
Edit Cost alert
Drag the Cube element from the Palette into the Workspace. Highlighting it opens the Inspector pane on the right
148KB
ai-model-hub-image-generation.ipynb
Delete Cost alert
Select Period
Drag an additional HDD from the Palette onto a Cube in the Workspace. A separate configuration is available
1KB
ai-model-hub-image-generation.sh
Cost and Usage view
Highlight the Direct Attached Storage element within the Cube and configure the storage device from the Inspector pane
Finalize your Cube setup
Click Provision Now once you have resolved all errors
Setup AnythingLLM screen
Account Settings drop-down menu
Management
IONOS Cloud Support
Account Management
Documentation
Tutorials
License
License
License
License
License
free
Create your contract
embeddings
Document Collections
Proxy Protocol Support for Application and Network Load Balancers
Managed Kubernetes Versions
Managed Kubernetes Versions
2KB
ai-model-hub-image-generation.py

Paraphrase Multilingual MPNet base v2

Transformer model supporting several different languages with high performance and short input length (128 tokens).

BAAI Large EN V1.5

Embedding model specific for english, medium sized inputs (512 tokens).

BAAI M3

Multipurpose embedding model for multilingual text(100 working languages) and large documents (8192 tokens).

Enrich Text with AI-Generated Images

Visuals are crucial in making text more engaging, understandable, and memorable. Whether it is a book cover, an advertisement, or an educational resource, the right image can enhance the impact of written content and capture the audience’s attention. Many types of text benefit from being accompanied by visuals:

  • Book Covers: A well-designed cover captures the essence of a book and attracts potential readers.

  • Advertising: Eye-catching visuals increase engagement and make products more appealing to buyers.

  • Web Design: Articles and content on websites are more likely to be read when paired with images.

  • Social Media: Compelling graphics boost visibility and interaction on social platforms.

  • Education: Illustrations enhance comprehension and make complex topics easier to understand.

Overview

With AI-powered tools, generating images tailored to your text has never been easier. In this guide, we’ll demonstrate how to automate image creation using two core components of the AI Model Hub:

By the end of this guide, you will have a fully functional workflow for generating custom images from text, enabling you to create book covers, marketing visuals, and other illustrations with ease.

Example Scenario

As an example, we’ll walk through the process of creating a book cover for a children’s story, showing how you can apply these techniques to various use cases. Below is a summary of the book we’ll use.

Book summary

Title: Fluff a Heart

Author: Little Lion

Fluff, a kind golden retriever, lived with Lily, a baker.

One crisp autumn day, while Lily was busy making her famous honey buns, something strange happened. A thick fog rolled into the village, and the usually busy streets fell silent. No one could see beyond a few feet, and the villagers started to worry. Lily had never seen such a fog before, and she knew something wasn’t right.

Fluff, always curious and brave, sniffed the air, and noticed something odd—a faint, distant cry coming from somewhere beyond the fog. It sounded like someone was in trouble.

Venturing into the dense fog, he discovered a small rabbit trapped beneath a fallen branch. Fluff pushed the branch aside, freeing the rabbit and returning home as a hero.

The end.

The image we will generate with the source code might look like this:

Get Started with Enriching Your Text

To follow this tutorial, ensure you have:

  • Python 3.8 or higher installed on your machine,

Download the Python code and install the packages from requirements.txt to see everything in action.

For our example, we will use Llama 3.1 8B as the Large Language Model and FLUX.1 schnell as the Text-to-Image model. This combination provides a strong foundation, but you are encouraged to experiment with different models to see how they impact the results.

Step 1: Generate Prompt

To create a compelling book cover, we first need a well-crafted prompt for the Text-to-Image model. Instead of manually writing it, we use a Large Language Model (LLM) to generate a concise, descriptive prompt based on the book summary.

    endpoint = 'https://openai.inference.de-txl.ionos.com/v1/chat/completions'
    body = {
        "model": "meta-llama/Meta-Llama-3.1-8B-Instruct",
        "messages": [
            {
                "role": "system",
                "content": """
                    You are a helpful assistant that transforms the following 
                    text into a very short prompt for an image generation model. 
                    The image needs to be in the style of a children's book and 
                    should show both title and author of the book.
                    
                    You will only respond with the prompt and 
                    nothing else. Do not repeat this message!
                """
            },
            {
                "role": "user",
                "content": f"{text}"
            }
        ],
        "temperature": 0.7,
        "top_p": 0.9,
        "stop": [ "\n" ],
        "max_tokens": 1000
    }
    response = requests.post(endpoint, headers=HEADERS, json=body)

Understanding the Prompt Design

The prompt structure consists of two key components:

  1. System Instructions: These guide the LLM to generate a short and focused description suitable for an image-generation model.

  • “Very short prompt” ensures the output remains concise and relevant.

  • “In the style of a children’s book” helps achieve a comic-like illustration rather than a photorealistic image.

  • “Display both title and author” ensures the generated image includes textual elements.

  1. User Input: This is dynamically replaced by the book summary to tailor the prompt for each case.

Example Output

For our book summary, the generated prompt might look like this:

Generate a children's book illustration, featuring a golden retriever (Fluff) and a 
rabbit in a foggy autumn village, with the title 'Fluff a Heart' by Little Lion 
written in bold, cursive font at the top."

By leveraging an LLM, we ensure that our image-generation process is efficient and adaptable to different book summaries.

Step 2: Generate a Book Cover

With a well-crafted prompt from Step 1, we can generate an image using a Text-to-Image model. In this step, we use the FLUX.1-schnell model to create a visually appealing book cover.

Below is a Python snippet demonstrating how to generate the image:

endpoint = 'https://openai.inference.de-txl.ionos.com/v1/images/generations'
size = "1024x1024"
body = {
    "model": "black-forest-labs/FLUX.1-schnell",
    "prompt": prompt,
    "response_format": "b64_json",
    "size": size,
    "n": 1
}
response = requests.post(endpoint, headers=HEADERS, json=body)

Understanding the Parameters

  • prompt:The text input generated in Step 1, instructs the model on what to depict.

  • model: Specifies the Text-to-Image model to be used (FLUX.1-schnell in this case).

  • size Determines the image dimensions: • "1024x1024" – Square format. • "1024x1792" – Portrait orientation. • "1792x1024" – Landscape orientation.

  • response_format: Defines the output format (base64-encoded JSON in this case).

  • n: Specifies the number of images to generate (1 by default).

Iterating for Better Results

The first generated image may not always be perfect. Some common issues include:

  • Typos in text elements: The model might misinterpret letters or add extra words.

  • Unintended elements: Additional characters, objects, or artifacts may appear.

  • Styling inconsistencies: The image style might not fully align with expectations.

To improve the results: 1. Refine the prompt: Add clearer descriptions or constraints. 2. Try multiple generations: Running the model multiple times increases the chance of a better output. 3. Experiment with different models: Some models handle text placement or stylistic choices better than others.

Example Output

The book cover displayed earlier in this guide was generated using this approach. While it aligns well with the book’s theme, refining the final result took a few iterations.

By following this process, you can generate engaging book covers that visually represent your stories!

Step 3: Try It Yourself!

Now it's your turn to generate book covers using the provided code. If you haven't done so yet, download the source code from the link at the top of this page, extract it on your machine, and install the required dependencies:

pip install -r requirements.txt

Once set up, generate a book cover using:

python src/main.py --path input_text.txt --orientation square

Here, input_text.txt contains the book summary for which you want to generate an image. The downloaded source code includes an example file.

Use the orientation parameter to specify the image format:

  • "square" (1024x1024)

  • "portrait" (1024x1792)

  • "landscape" (1792x1024)

After execution, the generated image will be saved in the images/ folder as generated_image.png.

Explore further

Now that you have successfully generated an image, try experimenting with different settings:

  • Run the code multiple times with the same parameters. Since AI-generated images vary, refining input_text.txt and the prompt (prompt.py) can improve consistency.

  • Test different Text-to-Image models (image.py). While this guide uses FLUX.1-schnell, try Stable Diffusion XL and compare the results.

  • Experiment with different Large Language Models. The guide uses a smaller model for prompt generation—test a larger model and observe how it affects image quality.

You can fine-tune your workflow by iterating on these settings to create visually appealing, customized book covers.


Compute Engine FAQs

Dedicated Core Servers

What are the maximum resources available for a Server?

Cores

Dedicated Core Server configurations are subject to the following limits, according to the CPU type:

  • AMD CPU: Up to 62 cores and 230 GB RAM

  • Intel® CPU: Up to 51 Intel® cores and 230 GB RAM

Info: — A single physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Server as two distinct “logical cores”, which process separate threads. — Each individual CPU of a Windows machine is considered a socket by the system.

Warning: Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.

We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.

HDD storage

  • Minimum per volume: 1 GB

  • Maximum per volume: 4 TB

SSD storage

  • Minimum per volume: 1 GB

  • Maximum per volume: 4 TB

Note: You can scale up the HDD and SSD storage volumes as needed.

What are the Availability Zones?

IONOS data centers are divided into separate areas called Availability Zones.

You can enhance reliability and set up high-availability scenarios by deploying redundant Dedicated Core Servers and storage devices across multiple Availability Zones.

How do I change the Availability Zone?

  • Select the server in the DCD Workspace

  • Use Inspector > Properties > Availability Zone menu to change the Availability Zone

What is Live Vertical Scaling?

Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.

Warning: RAM hotplugging for a VM is automatically disabled when the RAM size exceeds 240 GB. This leads to the VM restarting every time the RAM is increased beyond this limit, disabling live vertical scaling.

Why do I sometimes see steal time in my Dedicated Core servers?

How do I reboot a Dedicated Core server?

Dedicated Core servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.

How do I shut down a Dedicated Core server?

You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.

How do I delete a Dedicated Core server?

You can delete a Dedicated Core server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del key on your keyboard.

What do I do when my VM isn't accessible?

Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.

  • Windows users: Please send us a screenshot of the Task Manager.

  • Linux users: Please send us the output of uptime and top.

How do I get the root/admin passwords with IONOS images?

For IONOS-provided images, you can set the passwords before provisioning.

Why does my newly provisioned server not start?

Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.

An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:

"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."

We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.

Which CPU architecture should I choose?

The choice of CPU architecture primarily depends on your workload and performance requirements. Intel® processors are oftentimes more powerful than AMD processors. Intel® processors are designed for compute-intensive applications and workloads where the benefits of hyperthreading and multitasking can be fully exploited. Intel® cores cost twice as much as AMD cores. Therefore, it is recommended that you measure and compare the actual performance of both CPU architectures against your workload. You can change the CPU type in the DCD or use the API, and see for yourself whether Intel® processors deliver significant performance gains or more economical AMD cores still meet your requirements.

IONOS is the only cloud computing provider with the unique "Core Technology Choice" feature that can flexibly change the processor architecture per virtual instance.

What do I do if the cursor in the Remote Console disappears?

When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.

vCPU Servers

What are the maximum resources available for a vCPU Server?

vCPUs

vCPU Server configurations are subject to the following limits:

  • Up to 60 vCPUs and 230 GB RAM

A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.

Note: — A single vCPU with Hyper-Threading Technology is exposed to the operating system of your vCPU Server as two distinct “logical cores”, which process separate threads. — Each individual CPU of a Windows machine is considered a socket by the system.

Warning: Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.

We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.

HDD storage

  • Minimum per volume: 1 GB

  • Maximum per volume: 4 TB

SSD storage

  • Minimum per volume: 1 GB

  • Maximum per volume: 4 TB

Note: You can scale up the HDD and SSD storage volumes as needed.

What are the Availability Zones?

IONOS data centers are divided into separate areas called Availability Zones.

You can enhance reliability and set up high-availability scenarios by deploying redundant vCPU Servers and storage devices across multiple Availability Zones.

How do I change the Availability Zone?

  • Select the vCPU Server in the DCD Workspace.

  • Navigate to the Inspector pane > Properties > Availability Zone menu to change the Availability Zone.

What is Live Vertical Scaling?

Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.

How do I reboot a server?

Servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.

How do I shut down a server?

You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.

How do I delete a server?

You can delete a server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del key on your keyboard.

What do I do when my VM isn't accessible?

Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.

  • Windows users: Please send us a screenshot of the Task Manager.

  • Linux users: Please send us the output of uptime and top.

How do I get the root/admin passwords with IONOS images?

For IONOS-provided images, you can set the passwords before provisioning.

Why does my newly provisioned server not start?

Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.

An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:

"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."

We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.

Which CPU architecture should I choose?

A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.

What do I do if the cursor in the Remote Console disappears?

When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.

PVPanic Device

What is the PVPanic device for?

The device monitors VM/OS crashes. PVPanic is a simulated device, through which a guest panic event is sent to the hypervisor, and a QMP event is generated.

Do I need to restart the VM to get PVPanic?

No, the PVPanic device is plug-and-play. However, installing drivers may require a restart.

What happens if Windows VMs complain about an unknown device?

This is no cause for concern. First of all, you do not need to reboot the VM. However, you will need to reinstall the appropriate drivers (which are provided by IONOS Cloud).

Are there any risks when enabling the use of PVPanic?

There are no issues found when enabling pvpanic. However, users cannot choose whether or not to enable the device; it is always available for use.

Something else to consider - PVPanic does not offer bidirectional communication between the VM and the hypervisor. Instead, the communication only goes from the VM towards the hypervisor.

Are there any compatibility issues with AMD or Intel processors?

There are no special requirements or limitations to any components of a virtualized server. Therefore, PVPanic is completely compatible with AMD and Intel processors.

Do we support hardware solutions?

The PVPanic device is implemented as an ISA device (using IOPORT).

Does my Linux image support the Pvpanic device?

Check the kernel config CONFIG_PVPANIC parameter.

For example:

root@debian:~# grep --color CONFIG_PVPANIC /boot/config-$(uname -r) 
CONFIG_PVPANIC=m

m = PVPanic device is available as module y = PVPanic device is native available in the kernel n = PVPanic device is not available

When the device is not available (CONFIG_PVPANIC=n), use another kernel or image.

How do I install the device driver for the pvpanic device on Windows?

For your virtual machines running Microsoft Windows, we provide an ISO image that includes all the relevant drivers for your instance. Just log into DCD, open your chosen virtual data center, add a CD-ROM drive and insert the driver ISO as shown below (this can also be done via CloudAPI).

Note: A reboot is mandatory to add the CD drive.

Once provisioning is complete, you can log into your OS by adding drivers for the unknown device through the Device Manager. Just enter devmgmt.msc in the Windows search bar, console, or PowerShell to open it.

Since this is a Plug & Play driver, there is no need to reboot the machine.

Create Cost alert
Connect the Cube to the Internet and configure the network from the Network tab of the Inspector pane
Cost alert created

()

()

()

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models of the AI Model Hub for . now and get your AI journey started today!

A to craft concise prompts.

A to generate high-quality visuals.

The IONOS_API_TOKEN environment variable set with your .

In this tutorial, you learned how to generate compelling illustrations from text leveraging the IONOS AI Model Hub API, using a combination of a and a . Our example focused on creating a book cover for a children's story, but this approach can be applied to various other scenarios by adapting the prompt to suit your needs.

Want to explore more? Check out our use case on .

See also:

See also:

Steal time in a refers to instances when the hypervisor, responsible for managing VMs and hardware, temporarily reallocates a portion of CPU cycles from dedicated cores to perform essential tasks like storage replication and firewall enforcement. While VMs may perceive this as "stolen processing time," it typically has a low impact on performance, especially with Dedicated Core servers. The IONOS Cloud platform prioritizes efficient resource management to ensure your VMs run smoothly.

See also:

See also:

See also:

See also:

See also:

See also:

See also:

See also:

Hugging Face
Publication
Hugging Face
License
Hugging Face
License
free
Create your contract
Large Language Model
Text-to-Image model
authentication token
Large Language Model
Text-to-Image model
Intelligent Document Search with AI
Virtual Machine (VM)
Availability Zones
Live Vertical Scaling
Availability Zones
Live Vertical Scaling
Firewall Rule Changes Required for Backup Service Users
FAQs
Firewall Rule Changes for Backup Service Users
FAQs
Feature comparison
Context menu
Finalize the setup by requesting that the resources are provisioned
Inspector pane
Drag a Dedicated Core server element from the palette onto the workspace and configure its properties on the right
Connect your Dedicated Core server to the internet by configuring the Network settings in the Inspector pane
Combining a Storage element with the Dedicated Core server in the workspace joins two elements
Dedicated Core Servers
vCPU Servers
PVPanic Device
documentation portal
Product User Guides
Updates to IONOS Cloud Product Categories and Products
AI
Containers
Databases
Storage & Backup
Observability
Network Services
Data Analytics
Security
Create a Dedicated Core Server
Create a Dedicated Core Server
Stop, Start or Reset a Dedicated Core Server
Stop, Start or Reset a Dedicated Core Server
Delete a Dedicated Core server
API Gateway is available in new regions
1KB
ai-model-hub-text-generation.sh
2KB
ai-model-hub-text-generation.py

IONOS Cloud Documentation

Explore our guides and reference documents to integrate IONOS Cloud products and services.

Explore our guides and reference documents to integrate IONOS Cloud products and services.

Documentation Spotlight

Set Up IONOS Cloud

Developer Reference

Product User Guides

AI

Compute Services

Containers

Data Analytics

Databases

Network Services

Observability

Storage & Backup

Security

Retrieval Augmented Generation

The IONOS AI Model Hub allows you to combine Large Language Models and a vector database to implement Retrieval Augmented Generation use cases.

Retrieval Augmented Generation is an approach that allows you to teach an existing Large Language Model, such as LLama or Mistral, to answer not only based on the knowledge the model learned during training, but also based on the knowledge you specified yourself.

Retrieval Augmented Generation uses two components:

If one of your users queries your Retrieval Augmented Generation system, you first get the most similar documents from the corresponding document collection. Second, you ask the Large Language Model to answer the query by using both the knowledge it was trained on and the most similar documents from your document collection.

Overview

This tutorial is intended for developers. It assumes you have basic knowledge of:

  • REST APIs and how to call them

  • A programming language to handle REST API endpoints (for illustration purposes, the tutorials use Python and Bash scripting)

You are familiar with:

By the end of this tutorial, you'll be able to: Answer customer queries using a Large Language Model which adds data from your document collections to the answers.

Background

  • The IONOS AI Model Hub API offers both document collections and Large Language Models that you can use to implement retrieval augmented generation without having to manage corresponding hardware yourself.

  • Our AI Model Hub API provides all required functionality without your data being transferred out of Germany.

Before You Begin

You will need this identifier in the subsequent steps.

To get started, open your IDE to enter Python code.

Next generate a header document to authenticate yourself against the endpoints of our REST API:

# Python example to specify header

IONOS_API_TOKEN = [YOUR API TOKEN HERE]
header = {
    "Authorization": f"Bearer {API_TOKEN}", 
    "Content-Type": "application/json"
}

After this step, you have one variable header you can use to access our vector database.

To get started, open a terminal and ensure that curl and jq are installed. While curl is essential for communicating with our API service, we use jq throughout our examples the improve the readability of the results of our API.

Download the respective code files to easily access retrieval augmented generation-specific scripts and examples and generate the intended output:

Download this Python Notebook file to easily access retrieval augmented generation-specific scripts and examples and generate the intended output.

Download this Python code file to easily access retrieval augmented generation-specific scripts and examples and generate the intended output.

Download this Bash code file to easily access retrieval augmented generation-specific scripts and examples and generate the intended output.

Access List of Available Large Language Models

To retrieve a list of Large Language Models supported by the IONOS AI Model Hub API enter:

# Python example to get all available models
import requests

IONOS_API_TOKEN = [ YOUR API TOKEN HERE ]
header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
requests.get("https://inference.de-txl.ionos.com/models", headers=header).json()
#!/bin/bash

IONOS_API_TOKEN=[ YOUR API TOKEN HERE ]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     --get https://inference.de-txl.ionos.com/models

This query returns a JSON document consisting of all foundation models and corresponding meta information.

The JSON document consists an entry items*. This is a list of all available foundation models. Of the 7 attributes per foundation model 3 are relevant for you:

  • id: The identifier of the foundation model

  • properties.description: The textual description of the model

  • properties.name: The name of the model

Note:

The identifiers for the foundation models differ between our API for Retrival Augmented Generation and for the image generation and text generation endpoints compatible with OpenAI.

From the list you generated in the previous step, choose the model you want to use and the id. You will use this id in the next step to use the foundation model.

Manual Retrieval Augmented Generation

This section shows how to use the document collection and the contained documents to answer a user query.

Step 1: Retrieve Relevant Documents

To retrieve the documents relevant to answering the user query, invoke the query endpoint as follows:

# Python example to retrieve relevant documents
import requests
import base64

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
USER_QUERY = [ USER QUERY HERE ]
NUM_OF_DOCUMENTS = [ NUMBER OF DOCUMENTS TO CONSIDER HERE ]

endpoint = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}/query"
body = {"query": USER_QUERY, "limit": NUM_OF_DOCUMENTS }
relevant_documents = requests.post(endpoint, json=body, headers=header)

relevant_documents_decoded = [
    base64.b64decode(entry['document']['properties']['content']).decode()
    for entry in relevant_documents.json()['properties']['matches']
]
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
USER_QUERY=[ USER QUERY HERE ]
NUM_OF_DOCUMENTS=[ NUMBER OF DOCUMENTS TO CONSIDER HERE ]

BODY='{"query": "'$USER_QUERY'", "limit": '$NUM_OF_DOCUMENTS' }'
RESULT=$(\
    curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
         -H "Content-Type: application/json" \
         -d "$BODY" \
         https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/query \
)
RELEVANT_DOCUMENTS_DECODED=$( \
    echo "$RESULT" | \
    jq -r '.["properties"]["matches"][].["document"]["properties"]["content"]' | \
    base64 --decode \
)

This will return a list of the NUM_OF_DOCUMENTS most relevant documents in your document collection for answering the user query.

Step 2: Generate Final Answer

Now, combine the user query and the result from the document collection in one prompt:

# Python example to retrieve relevant documents
import requests

MODEL_ID = [ YOUR MODEL ID HERE]
endpoint = f"https://inference.de-txl.ionos.com/models/{MODEL_ID}/predictions"
prompt = f"""
    <|begin_of_text|><|start_header_id|>system<|end_header_id|>
    Please use the information specified as context to answer the question.
    Formulate you answer in one sentence and be an honest AI.<|eot_id|>
    <|begin_of_text|><|start_header_id|>context<|end_header_id|>
    {"; ".join(relevant_documents_decoded)}<|eot_id|>
    <|start_header_id|>user<|end_header_id|>
    {USER_QUERY}<|eot_id|>
    <|start_header_id|>assistant<|end_header_id|>
"""
body = { "properties": {"input": prompt} }
requests.post(endpoint, json=body, headers=header).json()
#!/bin/bash

MODEL_ID=[ YOUR MODEL ID HERE]
QUERY="<|begin_of_text|><|start_header_id|>system<|end_header_id|> \
    Please use the information specified as context to answer the question. \
    Formulate you answer in one sentence and be an honest AI.<|eot_id|> \
    <|begin_of_text|><|start_header_id|>context<|end_header_id|> \
    ${RELEVANT_DOCUMENTS_DECODED}<|eot_id|> \
    <|start_header_id|>user<|end_header_id|> \
    ${USER_QUERY}<|eot_id|> \
    <|start_header_id|>assistant<|end_header_id|>"
BODY='{ "properties": {"input": "'${QUERY}'"} }'
RESULT=$( \
    curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
            -H "Content-Type: application/json" \
            -d "$BODY" \
            https://inference.de-txl.ionos.com/models/${MODEL_ID}/predictions \
)

The result will be a JSON-Document consisting of the answer to the customer and some meta information. You can access it in the field at properties.output

Note:

The best prompt strongly depends on the Large Language Model used. Adapt your prompt to improve results for the specific Large Language Model.

Automated Retrieval Augmented Generation

The IONOS AI Model Hub allows for automating the process described above. Namely, by specifying the collection ID and the collection query directly to our foundation model endpoint, it first queries the document collection and returns it in a variable which you can then directly use in your prompt. This section describes how to do this.

Apply Combined Retrieval Augmented Generation Prompt to Foundation Model

To implement a Retrieval Augmented Generation use case with only one prompt, you must invoke the /predictions endpoint of the Large Language Model you want to use and send the prompt as part of the body of this query:

# Python example to retrieve relevant documents
import requests

MODEL_ID = [ YOUR MODEL ID HERE]
COLLECTION_ID = [ YOUR COLLECTION ID HERE]
USER_QUERY = [ USER QUERY HERE ]

endpoint = f"https://inference.de-txl.ionos.com/models/{MODEL_ID}/predictions"
body = { "properties": {
    "input": f"""
    <|begin_of_text|><|start_header_id|>system<|end_header_id|>
    Please use the information specified as context to answer the question.
    Formulate you answer in one sentence and be a honest AI.<|eot_id|>
    <|begin_of_text|><|start_header_id|>context<|end_header_id|>
    {{{{.context}}}}<|eot_id|>
    <|start_header_id|>user<|end_header_id|>
    {{{{.collection_query}}}} <|eot_id|>
    <|start_header_id|>assistant<|end_header_id|>
    """,
    "collectionId": COLLECTION_ID,
    "collectionQuery": USER_QUERY,
    "options": {  
        "max_length": "500",  
        "temperature": "0.01"
    }  
}}
requests.post(endpoint, json=body, headers=header).json()
#!/bin/bash

MODEL_ID=[ YOUR MODEL ID HERE]
COLLECTION_ID=[ YOUR COLLECTION ID HERE]
USER_QUERY=[ USER QUERY HERE ]

QUERY="<|begin_of_text|><|start_header_id|>system<|end_header_id|> \
    Please use the information specified as context to answer the question. \
    Formulate your answer in one sentence and be an honest AI.<|eot_id|> \
    <|begin_of_text|><|start_header_id|>context<|end_header_id|> \
    {{.context}}<|eot_id|> \
    <|start_header_id|>user<|end_header_id|> \
    {{.collection_query}} <|eot_id|> \
    <|start_header_id|>assistant<|end_header_id|>"
BODY='{ "properties": { 
    "input": "'${QUERY}'", 
    "collectionId": "'${COLLECTION_ID}'",
    "collectionQuery": "'${USER_QUERY}'",
    "options": { 
        "max_length": "500", 
        "temperature": "0.01"
    } 
}}'

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     https://inference.de-txl.ionos.com/models/${MODEL_ID}/predictions

This query conducts all steps necessary to answer a user query using Retrieval Augmented Generation:

  • The user query (saved at collectionQuery) is sent to the collection (specified at collectionId).

  • The results of this query are saved in a variable .context, while the user query is saved in a variable .collection_query. You can use both variables in your prompt.

  • The example prompt uses the variables .context and .collection_query to answer the customer query.

Note:

The best prompt strongly depends on the Large Language Model used. Adapt your prompt to improve results.

Summary

In this tutorial, you learned how to use the IONOS AI Model Hub API to implement Retrieval Augmented Generation use cases.

Namely, you learned how to: Derive answers to user queries using the content of your document collection and one of the IONOS foundation models.

Set Up a Dedicated Core Server

August 18

Create a Dedicated Core Server

1. Drag the Dedicated Core server element from the Palette onto the Workspace.

2. In the Inspector pane on the right, configure your server in the Settings tab.

  • Cores: Specify the number of CPU cores. You may change these after provisioning. Note that there are configuration limits.

  • RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.

  • Network Security Groups: Select one or more network security groups from the drop-down list to associate them with the Dedicated Core server. You can choose from any of the default or custom groups.

  • Ad-hoc Key: Copy and paste the public part of your SSH key into this field.

Add a bootable drive

  1. Drag a storage element (HDD or SSD) from the Palette onto a Dedicated Core server in the Workspace to connect them together. The highlighted VM will expand with a storage section.

  2. Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.

Storage type cannot be changed after provisioning.

Configure Storage

  1. Enter a name that is unique within your VDC.

  2. Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.

  3. Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.

You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.

Authentication

  1. Set the root or administrator password for your Dedicated Core server according to the guidelines. This is recommended for both operating system types.

  2. Select an SSH key stored in the SSH Key Manager.

  3. Copy and paste the public part of your SSH key into this field.

  4. Select the storage volume from which the Dedicated Core server is to boot by clicking on BOOT or Make Boot Device.

  5. Provision your changes. The storage device is now provisioned and configured according to your settings.

Alternative Mode

  • When adding a storage element using the Inspector pane, select the appropriate check box in the Add Storage dialog box. If you wish to boot from the network, set this on the Dedicated Core server: Dedicated Core server in the Workspace > Inspector pane > Storage.

  • It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.

  • After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.

  • (Optional) Add and configure further storage elements.

  • (Optional) Make further changes to your data center.

  • Provision your changes. The storage device is now provisioned and configured according to your settings.

Add a CD-ROM drive

To assign an image and specify a boot device, you need to add and configure a storage element.

  • Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.

  • Set up a network by connecting the Dedicated Core server to other elements, such as an internet access element or other servers through their NICs.

  • Provision your changes.

The Dedicated Core server is available according to your settings.

Stop, Start, or Reset a Dedicated Core Server

We maintain dedicated resources available for each customer. You do not share your physical CPUs with other IONOS clients. For this reason, the servers switched off at the operating system level, still incur costs.

You should use the DCD to shut down virtual machines so that resources are completely deallocated, and no costs are incurred. Dedicated Core servers deallocated this way remain in your infrastructure while the resources are released and can then be redistributed.

This can only be done in the DCD. Shutting down a VM at the operating system level alone does not deallocate the resources or suspend the billing. Regardless of how the VM is shut down, it can only be restarted using the DCD.

A reset forces the Dedicated Core server to shut down and reboot but may result in data loss.

Stop a Dedicated Core Server

Stopping a VM will:

  • Suspend billing

  • Cut power to your VM

  • De-allocate any dynamically assigned IP address

1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Stop.

2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.

3. Provision your changes. Confirm the action by entering your password.

Start a Dedicated Core Server

1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Start.

2. In the dialog box that appears, confirm your action by selecting the appropriate box and clicking Apply START.

3. Provision your changes. Confirm the action by entering your password.

Result: The Dedicated Core server is booted. A new public IP address is assigned depending on the configuration, and billing is resumed.

Reset a Dedicated Core Server

1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Reset.

2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the VM at the operating system level to prevent data loss.

3. Confirm your action by selecting the appropriate box and clicking Apply RESET.

4. Provision your changes. Confirm the action by entering your password.

Result: The Dedicated Core server shuts down and reboots.

Scale a Dedicated Core Server

1. In the Workspace, select the required Dedicated Core server and use the Inspector pane on the right.

If you want to change multiple VMs, select the data center and change the properties in the Settings tab.

2. Modify storage:

3. In the Workspace, select the required Dedicated Core server and increase the CPU size.

4. Provision your changes. You must set the new size at the operating system level of your VM.

Result: The size of the CPU is adjusted in the DCD.

Delete a Dedicated Core Server

When you no longer need a particular Dedicated Core server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.

To ensure that no processes are interrupted and no data is lost, we recommend you turn off the Dedicated Core server before you delete it.

1. Select the Dedicated Core server in the Workspace.

2. Right-click and open the context menu of the element. Select Delete.

2. You may also select the element icon and press the DEL key.

3. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the server.

4. Provision your changes.

Result: The Dedicated Core server and its storage devices are deleted.

When you delete a Dedicated Core server and its storage devices, or the entire data center, their backups are not deleted automatically. When you delete a Backup Unit, the associated backups are also deleted.

Intelligent Document Search with AI

Finding relevant documents in large collections is a common challenge. Traditional keyword-based searches often fail to capture the meaning behind queries, making it difficult to retrieve relevant results when different wording is used. AI-powered semantic search addresses this issue by understanding the meaning of text rather than relying solely on keyword matches. Various applications can benefit from semantic similarity search, including:

  • Knowledge Management: Enhances the ability to find relevant articles in knowledge bases.

  • Customer Support: Improves internal and external product documentation retrieval based on customer inquiries.

  • Market Research: Facilitates identification of competitor analysis reports with similar themes.

  • Project Management: Helps locate relevant project documentation across different organizations using a descriptive query.

  • Compliance and Auditing: Simplifies the search for documents related to regulatory requirements and audit procedures.

Overview

In this guide, we demonstrate how to automate semantic file search using two core components of the AI Model Hub:

By the end of this guide, you will have a functional semantic search system that allows you to find related documents based on meaning rather than exact keywords.

Example Scenario

Let's assume we work for a fictional hosting company, "The Magnificent Hoster". We have several documents stored in our system:

  • 1998-2008_history.txt: A plain text file documenting the company’s early years.

  • 2009-2015_history.docx: A Word document detailing events from 2009 to 2015.

  • 2016-today_history.pdf: A PDF covering recent company history.

  • awards.txt: A list of awards received and the corresponding years.

  • milestones.txt: A concise summary of the company’s history.

The goal is to read these documents, store them in a document collection, and use a Large Language Model to answer the query: What is the history of The Magnificent Hoster?

The answer provided by the LLM to this question could be:

Notice that the output is generated using content from multiple files:

  • The key milestones originate from milestones.txt.

  • Additional details, such as the rebranding efforts, are taken from 2016-today_history.pdf.

Get Started with Semantic File Search

To follow this tutorial, ensure you have:

  • Python 3.8 or higher installed on your machine,

Download the Python code and install the packages from requirements.txt to see it in action.

We will use Llama 3.1 8B as the Large Language Model and ChromaDB as the document collection data base engine in our example. This setup is effective for most use cases, but experimenting with different models and configurations can help optimize results.

Step 1: Extract Text from PDF and Word Files

Document collections support plain text only, so content from PDFs and Word documents must first be extracted. Python provides modules to handle this conversion.

Extract text from PDFs (documents.py):

Extract content from Word documents (documents.py):

Make sure to have the file_path variable pointing to your documents. After execution, the text variable will contain the extracted content in plain text format.

Step 2: Creating an Empty Document Collection

We assume your documents are already stored in your file system. To make files semantically searchable, first create a document collection (collection.py):

If the creation of the document collection is successful, retrieve the Collection ID from the response:

This Collection ID is required for document storage and querying.

Step 3: Add Files to the Collection

Using the plain text you extracted in Step 1 and the document collection created in Step 2, upload your documents into the document collection (collection.py):

The content of the document must be base64 encoded. This is because the vector collection only stores encoded content.

Step 4: Retrieve Relevant Documents

After all documents have been added to the document collection, the next step is a query for relevant documents. In our Python example, the query is defined in the variable query_string, e.g., "What is the history of The Magnificent Hoster?". To query the system and receive the most relevant documents (collection.py):

The variable num_documents specifies how many documents are returned. When selecting this value, you balance providing the Large Language Model with enough relevant context to generate an accurate response while avoiding overly long or costly prompts.

When extracting the most relevant content from the query result, we retrieve both the name of the document for user reference and its content. Since the content is base64 encoded, we must decode it into human-readable form before further processing.

Step 5: Query the Collection

Once relevant documents are retrieved, use a Large Language Model to generate an answer to the initial question (collection.py):

The first print command displays the names of the files identified as most relevant for the query_string by the document collection.

The prompt consists of three components:

  • Instruction: This entry guides the Large Language Model on how to generate the response. Two key instructions are:

    1. The answer must be based on the provided context (from the second entry).

    2. The response should be formatted as five bullet points, each starting with a year followed by a milestone, with approximately 20 words per point.

  • Context: A concatenation of the extracted content from the document collection, which serves as the factual basis for the answer.

  • Query: The query_string, which contains the actual question to be answered.

In this approach, the same query_string is used both for retrieving relevant documents from the collection and for generating the final answer. However, we keep the query separate from the formatting instructions. This separation is crucial — if the query and formatting instructions were combined, the document retrieval process might return results that are semantically similar to the instructions rather than focusing solely on relevant content.

The answer displayed at the beginning of this article was generated using this approach.

Step 6: Try It Yourself!

Now, it is up to you to use the code! Follow these steps to execute the pipeline on your machine. Download the source code, install dependencies, and run:

In this command, input_path is a folder in the root directory containing all documents that will serve as the knowledge base for querying. The query_string specifies the question to be answered.

After running the main script, you might see output like this:

Breakdown of the output:

  • Collection ID: Identifies the document collection created in Step 1.

  • Document Processing: Shows the progress of adding documents to the collection in Step 3.

  • Relevant Files: Lists the most relevant documents extracted in Step 4.

  • Final Output: Displays the response generated in Step 5.

  • Cleanup: The last line confirms the document collection has been deleted to avoid long-term storage costs.

Explore further

To deepen your understanding of the solution, experiment with modifications to analyze their impact. Here are some key areas to explore:

  • Modify the Query String: Adjust the query_string to observe how results change. Since the document collection only contains files related to The Magnificent Hoster, queries like “the history of our company” will return the same results.

  • Refine the Prompt (collections.py): Modify the output instructions to control the response format. Removing bullet point instructions, for example, will likely result in a full-text response. Adjusting the number of bullet points allows you to control the level of detail.

  • Expand the Input Data: Adding more documents to the input folder influences the retrieved results. If you include files about multiple companies, a query for “our company’s history” may no longer return relevant information.

  • Experiment with the Embedding Model: When creating the document collection, try different embedding models to analyze their effect on retrieving relevant documents.


In this tutorial, you learned how to build a system for searching and retrieving information from your files using the IONOS AI Model Hub API. Specifically, you:

  • Created a document collection

  • Extracted text from PDF and Word files

  • Stored the extracted text in the document collection

  • Implemented a querying mechanism to retrieve relevant information from the document collection

  • Generated answers using a Large Language Model

This approach enables you to unlock valuable insights hidden within your documents, even if they are spread across different systems. You can expand on this tutorial to develop more advanced applications tailored to your needs. Experiment with different models, parameters, and query strategies to optimize performance, and enhance the user experience.

Set Up a vCPU Server

Create a vCPU Server

vCPU Servers offer flexible configurations for RAM and CPUs. You can create a vCPU Server via the DCD or the API.

Add a bootable drive

  1. Drag a storage element (HDD or SSD) from the Palette onto a vCPU server in the Workspace to connect them together. The highlighted vCPU will expand with a storage section.

  2. Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.

Note: Storage type cannot be changed after provisioning.

Configure Storage

  1. Enter a name that is unique within your VDC.

  2. Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.

  3. Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.

You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.

Authentication

  1. Set the root or administrator password for your vCPU according to the guidelines. This is recommended for both operating system types.

  2. Select an SSH key stored in the SSH Key Manager.

  3. Copy and paste the public part of your SSH key into this field.

  4. Select the storage volume from which the vCPU is to boot by clicking on BOOT or Make Boot Device.

  5. Provision your changes. The storage device is now provisioned and configured according to your settings.

Alternative mode

  • When adding a storage element using the Inspector, select the appropriate checkbox in the Add Storage dialog box. If you wish to boot from the network, set this on the vCPU: vCPU in the Workspace > Inspector > Storage.

  • It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.

  • After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.

  • (Optional) Add and configure further storage elements.

  • (Optional) Make further changes to your data center.

  • Provision your changes. The storage device is now provisioned and configured according to your settings.

Add a CD-ROM drive

To assign an image and specify a boot device, you need to add and configure a storage element.

  • Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.

  • Set up a network by connecting the vCPU Server to other elements, such as an internet access element or other vCPU Server through their NICs.

  • Provision your changes.

The vCPU Server is available according to your settings.

Stop, Start, or Reset a vCPU Server

When shutting down a vCPU server only at the operating system level, costs continue to accrue because its physical resources remain allocated. To avoid CPU and RAM charges, you can Stop and deallocate the server's resources using the Data Center Designer (DCD). This releases the resources for redistribution while keeping the server part of your infrastructure, in case you want to Start it again.

A Reset forces the vCPU Server to shut down and reboot but may result in data loss.

Stop a vCPU Server

1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Stop.

2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.

3. Provision your changes. Confirm the action by entering your password.

Result: The vCPU Server stops and billing is suspended.

Start a vCPU Server

1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Start.

2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply START.

3. Provision your changes. Confirm the action by entering your password.

Result: The chosen vCPU Server is booted. A new public IP address is assigned to it depending on the configuration and billing is resumed.

Reset a vCPU Server

1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Reset.

2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the vCPU Server at the operating system level to prevent data loss.

3. Confirm your action by selecting the appropriate checkbox and clicking Apply RESET.

4. Provision your changes. Confirm the action by entering your password.

Result: The vCPU Server shuts down and reboots.

Scale a vCPU Server

1. In the Workspace, select the required vCPU Server and use the Inspector pane on the right.

Note: To modify multiple vCPU Servers, select the data center and change the properties in the Settings tab.

2. Modify storage:

3. In the Workspace, select the required vCPU Server and increase the CPU size.

4. Provision your changes. You must set the new size at the operating system level of your vCPU Server.

Result: The size of the CPU is adjusted in the DCD.

Delete a vCPU Server

When you no longer need a particular vCPU Server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.

To ensure that no processes are interrupted, and no data is lost, we recommend you turn off the vCPU Server before you delete it.

Warning: When you delete a vCPU Server, its storage devices, or the entire data center, it is essential to note that the action does not automatically delete their backups. However, deleting a backup unit will delete all associated backups.

1. Select the vCPU Server in the Workspace.

2. Right-click and open the context menu of the element. Select Delete Server.

3. You may also select the element icon and press the DEL key.

4. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the vCPU Server.

5. Provision your changes.

Result: The vCPU Server and its storage devices are deleted.

DCD
Create an hosting infrastructure using DCD
Individual element icons
Once joined, the elements create a new combined element in the Workspace
Confirm by selecting Provision Now
Remove a user from the group
Assigning privileges to the group
User groups can be created directly from the Groups tab in the User Manager
IONOS DCD Login Screen
DCD dashboard
Select a resource from the Resources of a Group tab to assign to a group of users
Enable or disable access for the resources of a group
Select the resource you wish to make available to a user group. The group members can now exercise their chosen privileges.
Authenticate with a Time-based one-time password (TOTP) for enhanced security
Creating a new user in VDC
The top navigation menu
Dialog to access authentication token
DCD login screen
Dialog to create user group
Contract signup screen
DCD click path to IONOS User Manager
Enter contact address
Dialog to give AI Model Hub access to user group
Enter payment details

New Data Center Location available: IONOS's services are now available in our new Tier IV certified data center in Worcester, United Kingdom. For more information, see .

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

a Large Language Model (we offer corresponding models for ) and

To get started, set up a document collection using and get the identifier of this document collection.

This is solely for informational purposes and does not require anything from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .

The user who creates the Dedicated Core server has full root or administrator access rights. A server, once provisioned, retains all its settings (resources, drive allocation, password, etc.), even after a restart at the operating system level. The server will only be removed from your Virtual Data Center once you in the . For more information, see .

Prerequisites: Make sure you have the appropriate privileges. Only contract administrators, owners, or users with the Create Data Center privilege can set up a . Other user types have read-only access and cannot provision changes.

The created Dedicated Core server is automatically highlighted in turquoise. The allows you to configure the properties of this individual server instance.

Name: Choose a name unique to this .

: The zone where you wish to physically host the server. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.

CPU Architecture: Choose between AMD or Intel cores. You can later change the CPU type for a server that is already running, though you will have to restart it first.

SSH Keys: Select premade . You must first have a key stored in the SSH Key Manager. Learn how to .

In this tab, you will find an overview of all assets belonging to the selected VDC. You can change cores, RAM, server status, and size without having to manually update each VM in the Workspace.

(Optional) Create a of the system for recovery in the event of problems.

When you no longer need the backups of deleted VMs, delete them manually from the to avoid unnecessary costs.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models of the AI Model Hub for . now and get your AI journey started today!

A to store all files and make them easily retrievable.

A that generates responses based on content retrieved from the vector database.

The IONOS_API_TOKEN environment variable set with your .

While collection_name and collection_description help you to identify the collection in the list of collections you generated, they do not impact the quality of the results. By adapting the parameters CHUNK_SIZE, CHUNK_OVERLAP,EMBEDDING_MODEL and DATA_BACKEND, you can influence the results. To find out more, see the tutorial on.

Want to take it a step further? Explore how AI-generated images can enrich text-based content in our next tutorial - !

A user with full root or administrator access rights can create a vCPU Server. A vCPU Server, once provisioned, retains all its settings, such as resources, drive allocation, password, etc., even after a restart at the operating system level. A vCPU Server is deleted from your only when you delete it from the DCD. For more information, see .

Prerequisite: Make sure you have the appropriate privileges. Only contract administrators, owners, and users with the Create Data Center privilege can set up a . Other user types have read-only access and cannot provision changes.

To create a new vCPU Server via the DCD, follow these steps:

1. Drag the vCPU Server element from the Palette onto the Workspace.

The created vCPU Server is automatically highlighted in turquoise. The Inspector pane allows you to configure the properties of this individual vCPU instance.

2. In the Inspector pane on the right, configure your vCPU Server in the Settings tab.

  • Preset: Select an appropriate configuration from the drop-down list. The values S, M, L, XL, and XXL contain predefined vCPU-to-RAM ratios. You can always override the values to suit your needs and the Preset automatically changes to Custom when you edit the predefined ratio indicating that you are no longer using the predefined ratio.

  • RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.

  • Network Security Groups: Select one or more network security groups from the drop-down list to associate them with the vCPU server. You can choose from any of the default or custom groups.

  • Ad-hoc Key: Copy and paste the public part of your SSH key into this field.

To create a new vCPU Server via the API, specify the following properties:

  1. Specify a name for your vCPU Server.

  2. Set type: VCPU.

  3. Set the availabilityZone to AUTO.

Note: Do not specify the following properties: templateUuid and cpuFamily.

Select the respective block to view a sample request and a sample response:

Example: Request
Example: Response

In this tab, you will find an overview of all assets belonging to the selected VDC. You can change vCPUs, RAM, vCPU Server status, and size without having to manually update each vCPU Server in the Workspace.

(Optional) Create a of the system for recovery in the event of problems.

When you no longer need the backups of a deleted vCPU Server, delete them manually from the to avoid unnecessary costs.

Name: Choose a name unique to this .

: The zone where you wish to physically host the vCPU. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.

vCPUs: Specify the number of vCPUs. You may change these after provisioning. The capabilities are limited to your customer contract limits. For more information about the contract resource limits in DCD, see .

SSH Keys: Select the premade . You must first have a key stored in the SSH Key Manager. For more information about how to create and add SSH Keys, see .

Specify cores and ram in MiB. You can also update the cores and ram using a PATCH request at any time. For more information, see .

For example, assume that a VDC exists with the following UUID: aaa-2bbb-3ccc-4ddd-5eee. Entities like volumes or NICs are not included in the following example, but their usage is identical to servers of type ENTERPRISE. For more information, see .

free
Create your contract
text generation
Document Collections
Text Generation
Document Collections
Document Collections
Product Renaming FAQs
VDC
Inspector pane
VDC
Availability Zone
Dedicated Core
SSH Key
create and add SSH Keys
storage
Backup Unit Manager
Release Notes
DCD
Dedicated Core Servers
delete a server
Here are the historical milestones of The Magnificent Hoster:

* 1998: Founded by Maximilian "Max" Thompson as a small web hosting company.
* 2002: Launched HostMaster control panel for simplified hosting management.
* 2005: Introduced HostPro premium hosting solution for businesses.
* 2010: Launched CloudHost cloud-based hosting platform for scalability.
* 2016: Completed company rebranding effort for modernization and growth.
with fitz.open(file_path) as doc:
    text = ''
    num_pages = len(doc)
    for page_num in range(num_pages):
        if max_pages is not None and page_num >= max_pages:
            break
        page = doc[page_num]
        text += page.get_text()
doc = Document(file_path)
text = ''
for para in doc.paragraphs:
    text += para.text + '\n'
endpoint = "https://inference.de-txl.ionos.com/collections"
body = {
    "type": "collection",
    "properties": {
        "name": collection_name,
        "description": collection_description,
        "chunking": {
            "enabled": True,
            "strategy": {
                "config": {
                    "chunk_size": CHUNK_SIZE,
                    "chunk_overlap": CHUNK_OVERLAP
                }
            }
        },
        "embedding": {
            "model": EMBEDDING_MODEL
        },
        "engine": {
            "db_type": DATA_BACKEND
        }
    }
}
response = requests.post(endpoint, headers=HEADERS, json=body)
collection_id = response.json()["id"]
endpoint = f"https://inference.de-txl.ionos.com/collections/{collection_id}/documents"
body = {
    "type": "collection",
    "items": [
        {
            "type": "document",
            "properties": {
                "name": file_name,
                "contentType": "text/plain",
                "content": base64.b64encode(text.encode("utf-8")).decode("utf-8")
            }
        }
    ]
}
response = requests.put(endpoint, headers=HEADERS, json=body)
endpoint = f"https://inference.de-txl.ionos.com/collections/{collection_id}/query"
body = {"query": query_string, "limit": num_documents }
relevant_documents = requests.post(endpoint, json=body, headers=HEADERS)

relevant_docs = [
    {
        'file_name': entry['document']['properties']['name'],
        'content': base64.b64decode(entry['document']['properties']['content']).decode()
    } for entry in relevant_documents.json()['properties']['matches']
]
endpoint = "https://openai.inference.de-txl.ionos.com/v1/chat/completions"
print(f"The most relevant content is in files: {[entry['file_name'] for entry in relevant_docs]}")
prompt = [
    {"role": "system", "content": """
        Please use the information specified as context to answer the question.
        Formulate you answer in one sentence and be an honest AI. Answer in a list
        of five bullet points each starting with a year and the milestone in about 20 words.
        """},
    {"role": "system", "content": "; ".join([entry['content'] for entry in relevant_docs])},
    {"role": "user", "content": query_string}
]
body = {
    "model": model_name,
    "messages": prompt,
}
response = requests.post(endpoint, json=body, headers=HEADERS)
pip install -r requirements.txt
python src/main.py --query_string "What is the history of The Magnificent Hoster?" --input_path "input"
Collection ID: e4be2d36-4db5-41c0-9897-3610742704ca
Processing: 1998-2008_history.txt
Document '1998-2008_history.txt' added to collection.
Processing: awards.txt
Document 'awards.txt' added to collection.
Processing: milestones.txt
Document 'milestones.txt' added to collection.
Processing: 2009-2015_history.docx
Document '2009-2015_history.docx' added to collection.
Processing: 2016-today_history.pdf
Document '2016-today_history.pdf' added to collection.
The most relevant content is in files: ['milestones.txt', '1998-2008_history.txt', '2016-today_history.pdf']
Query Result:
Here are the historical milestones of The Magnificent Hoster:
* 1998: Founded by Maximilian "Max" Thompson as a small web hosting company.
* 2002: Launched HostMaster control panel for simplified hosting management.
* 2005: Introduced HostPro premium hosting solution for businesses.
* 2010: Launched CloudHost cloud-based hosting platform for scalability.
* 2016: Completed company rebranding effort for modernization and growth.
Deleted collection: e4be2d36-4db5-41c0-9897-3610742704ca
curl  --request POST -H 'Authorization:Bearer $Token' \
--url "https://api.ionos.com/cloudapi/v6/datacenters/1aaa-2bbb-3ccc-4ddd-5eee/servers"  \
--header "Content-Type: application/json" 
--data-binary '
{
    "properties": {
        "name": "My vCPU",
        "type": "VCPU",
        "availabilityZone": "AUTO",
        "cores": 1,
        "ram": 2048
    }
}
'
{
  "id" : "b01c-b5f6-4f77-9991-f539",
  "type" : "server",
  "href" : "https://api.ionos.com/cloudapi/v6/datacenters/1aaa-2bbb-3ccc-4ddd-5eee/servers/b01c-b5f6-4f77-9991-f539",
  "metadata" : {
    "etag" : "2f2ca522ce",
    "createdDate" : "2023-08-08T09:35:11Z",
    "createdBy" : "[email protected]",
    "createdByUserId" : "1234-1234-1234-1234-1234",
    "lastModifiedDate" : "2023-08-08T09:35:11Z",
    "lastModifiedBy" : "[email protected]",
    "lastModifiedByUserId" : "1234-1234-1234-1234-1234",
    "state" : "BUSY"
  },
  "properties" : {
    "name" : "My vCPU",
    "cores" : 1,
    "ram" : 2048,
    "availabilityZone" : "AUTO",
    "vmState" : null,
    "bootCdrom" : null,
    "bootVolume" : null,
    "cpuFamily" : "INTEL_SKYLAKE",
    "type" : "VCPU"
  }
}
Stop, Start or Reset a Server
Starting, stopping, rebooting a server
Deleting a server
API How-Tos
versions and metadata
Support for Kafka Version 3.8.0
New Location Support for Event Streams for Apache Kafka
VDC
Choose a user from the drop-down list and add them to the highlighted group as a member
12KB
ai-model-hub-text-generation.ipynb
1KB
ai-model-hub-text-embeddings.sh
69KB
ai-model-hub-text-embeddings.ipynb
2KB
ai-model-hub-text-embeddings.py
free
Create your contract
Document Collection
Large Language Model
authentication token
document collections
Enriching Text with Generated Images
Virtual Data Center (VDC)
vCPU Servers
VDC
VDC
Availability Zone
Resource Overview
SSH Key
OpenSSH Instructions
Partially modify servers
CLOUD API (6.0)
storage
Backup Unit Manager
12KB
ai-model-hub-enrich-generated-images.zip
archive

Discover our latest products, features, and enhancements to develop innovative applications.

Explore the most popular product guide and discover how to customize it for your own use case.

With the Data Center Designer, you can create a fully functioning Virtual Data Center and manage services provided by IONOS Cloud.

Manage your IONOS DCD account, payment details, and security functions to access and manage your contract securely.

Manage user access and security policies, review resource usage and cost incurred, set cost alerts.

Build, deploy, and manage applications on the IONOS infrastructure more efficiently to enable integration, improve scalability, and enhance security.

Simplify developing and managing applications deployed on the IONOS infrastructure with IONOS SDKs to build scalable, reliable, and efficient solutions.

Manage and control the configurations of software systems and infrastructure components in an automated and systematic manner.

A comprehensive platform to access AI foundation models and document collections supporting retrieval augmented generation use cases.

Scalable instances with a dedicated resource functionality.

Scalable instance with an attached NVMe Volume.

Automatic scaling of VM instances according to performance metrics and VM load.

Facilitate a fully automated setup of Kubernetes clusters.

Manage docker and OCI compliant registries for use with your managed Kubernetes clusters.

A flexible and fully-managed Apache Kafka service for seamless data streaming and real-time analytics in the cloud.

Deploy, scale, and manage your big data tools via the central platform on the IONOS Cloud.

An open-source instance that offers scalability, security, backup and recovery, and in-memory database persistence while supporting key-value data formats.

A fully-managed, open-source, MySQL-compatible database cluster offering backup, database patching, enhanced security, and scalability.

An open-source, NoSQL database cluster offering security, backup snapshots, and horizontal scalability with replication and sharding.

An open-source SQL database cluster offering security, backup and recovery, and horizontal and vertical scalability with replication.

A robust and flexible platform that allows the creation, management, and security of APIs on the IONOS Cloud infrastructure.

Improve content distribution to websites with edge servers designed to optimize content delivery and secure web applications with WAF and Layer 7 DDoS protection.

Streamlined methods for provisioning and managing SSL/TLS certificates for web applications.

Simplified ways to manage DNS zones and records and enhanced security with DNSSEC.

Establish secure network connections between multiple Virtual Data Centers using a single LAN conduit within the IONOS Cloud ecosystem.

Increase your online security with DDoS protection and ensure uninterrupted operations from malicious attacks.

Enhance security and provide detailed visibility into your network traffic.

Seamlessly allow advanced connectivity for addressing your evolving cloud infrastructure through secure, long-term, sustainable solutions.

Managed optimal load balancing service offered at the application level to improve responsiveness and availability.

Boost online access and communication by equipping your networks with a managed NAT gateway, which can effectively translate IP addresses to a single, protected point and provide secure internet connectivity.

Maximize your Cloud's availability with a managed NLB that distributes incoming traffic in a scalable, fault-tolerant manner to ensure a seamless and reliable user experience.

Secure your virtual networks effortlessly with Network Security Groups, your shield against unauthorized access and threats.

Core network management including configuring firewalls and reserving IPs to establish isolated virtual networks that interconnect VMs and various resources within the virtual data center.

Securely establish site-to-site connections between on-premises networks and cloud resources using WireGuard or IPSec protocols.

Manage, monitor, and analyze log data from various sources using a centralized and scalable platform.

Advanced metrics service on host-based, application, network, and system metrics, and is compatible with Prometheus.

Gather metrics on Dedicated Core Server and Cube resource utilization.

Secure data storage backup solution with encryption, rapid disaster recovery, and data restoration for all application scenarios.

Cloud-based storage service offering cost-effective, large-scale storage with HDD storage and high performance and durability with SSD storage.

An S3-compliant service that stores and manages data as objects in a bucket, offering secure storage using access control and object lock.

A managed service offering shared file storage for multiple VMs and containerized workloads via a secure NFS protocol.

Central information source to securely use IONOS Cloud products and services.

Boot with cloud-init

Overview

User data must be written in shell scripts or cloud-config directives using YAML syntax. You can modify IONOS cloud-init's behavior via user-data. You can pass the user data in various formats to the IONOS cloud-init at launch time. Typically, this happens as a template, a parameter in the CLI, etc. This method is highly compatible across platforms and fully secure.

Limitations: Cloud-init is available on all public Linux images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.

Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings cannot be changed once provisioned.

Laptops: When using a laptop, scroll down the properties panel of the block storage volume that you want to create and configure, as additional fields are not immediately visible on a small screen. Clout-Init may only become visible when an supported image has been selected.

Supported user data formats

The following table demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.

Data Format
Description

Base64

If the user data is base64 encoded, cloud-init verifies whether the decoded data is one of the supported types. It decodes and handles the decoded data appropriately if it comprehends it. If not, the base64 data is returned unaltered.

User-Data Script

Begins with #! or Content-Type: text/x-shellscript. The script is run by /etc/init.d/cloud-init-user-scripts during the first boot cycle. This occurs late in the boot process after the initial configuration actions are performed.

Include File

Begins with #include or Content-Type: text/x-include-url. The include file is the content. It contains a collection of URLs, one in each line. Each URL is read, and its content passes through the same set of rules. The content read from the URL can be MIME-multi-part or plaintext.

Cloud Config data

Begins with #cloud-config or Content-Type: text/cloud-config. For a commented example of supported configuration formats, see the examples.

Upstart Job

Begins with #upstart-job or Content-Type: text/upstart-job. This content is stored within a file in /etc/init, and upstart uses the content similar to other upstart jobs.

Cloud Boothook

Begins with #cloud-boothook or Content-Type: text/cloud-boothook. The boothook data is the content, which is stored in a file within /var/lib/cloud and executed immediately. This becomes the earliest hook and does not have any mechanism for executing it only one time. The must be handled by the boothook itself. It is provided with the instance ID in the environment variable INSTANCE_ID. Use this variable to provide a once-per-instance set of boothook data.

Configure user data via the DCD

  1. Log in to the DCD with your username and password.

  2. In the Workspace, create a new virtual instance and attach any storage device to it.

  3. Select the storage device and from the Inspector pane associate an Image with it.

    • To associate a private image, select Own Images from the drop-down list.

    • To associate a public image, select IONOS Images from the drop-down list. Once you choose an image, additional fields will appear in the Inspector pane.

  1. Enter a Password. It is required for Remote Console access. You may change it later.

  2. (Optional). Upload a new SSH key or use an existing file. SSH Keys can also be injected as user data utilizing cloud-init.

  3. (Optional). Add a specific key to the Ad-hoc SSH Key field.

  4. Select No configuration for Cloud-Init user data and the Cloud-Init User Data window appears.

  1. To complete setup, return to the Inspector pane and click Provision Changes.

Use shell scripts

Using shell scripts is an easy way to bootstrap a server. The code creates, installs, and configures our CentOS web server in the following example. It also rewrites the default index.html file.

Note: Allow enough time for the instance to launch and run the commands in your script, and later verify if your script has completed the tasks you intended.

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

Use cloud-config directives

Example 1: Create a swap partition

The following script is an example of how to create a swap partition with second block storage using a YAML script:

#cloud-config
fs_setup:
  - label: mylabel
    device: /dev/vda
    filesystem: ext4
  - label: swap
    device: /dev/vdb
    filesystem: swap
mounts:
- [ /dev/vda, /, ext4, defaults, 0, 0 ]
- [ /dev/vdb, none, swap, sw, 0, 0 ]
Example 2: Resize the file system

The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key using a cloud-config YAML script:

#cloud-config
resize_rootfs: True
users:
  - name: pb-user
    gecos: Demo User
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: users, admin
    ssh_import_id: None
    lock_passwd: true
    ssh_authorized_keys:
      - ssh-rsa AAAA...

Output log files

The cloud-init output log file (/var/log/cloud-init-output.log) captures console output. Depending on the default configuration for logging, a second log file exists within /var/log/cloud-init.log. This provides a comprehensive record based on the user data.

Configure user data via API

The cloud API offers increased convenience if you want to automate the provisioning and configuration of cloud instances. Enter the following details:

  • Name: Enter the userData.

  • Type: Enter the type in the form of a string.

  • Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAliasthat has cloud-init compatibility in conjunction with this property.

Curl example

The following script is an example of how to configure userData using curl:

curl --include \
     --request POST \
     --user '<user:password>' \
     --header "Content-Type: application/json" \
     --data-binary '{
         "properties": {
             "name": "Server-01",
             "ram": 2048,
             "cores": 1,
             "availabilityZone": "ZONE_1",
             "cpuFamily": "INTEL_SKYLAKE"
         },
         "entities": {
             "volumes": {
                 "items": [ {
                    "properties": {
                      "size": 10,
                      "type": "HDD",
                      "name": "Server-01_HDD",
                      "image": "bf4d1400-b48d-11eb-b9b3-d2869b2d44d9",
                      "imagePassword": "<pAsSW0rD>",
                      "sshKeys": ["<ssh_key>"],
                      "userData": "I2Nsb3VkLWNvbmZpZwoKcGFja2FnZXM6CiAgLSBodHRwZAogIC0gZmlyZXdhbGxkCgpydW5jbWQ6CiAgLSAvYmluL3N5c3RlbWN0bCBlbmFibGUgaHR0cGQKICAtIC9iaW4vc3lzdGVtY3RsIHN0YXJ0IGh0dHBkCiAgLSAvYmluL2ZpcmV3YWxsLW9mZmxpbmUtY21kIC0tYWRkLXBvcnQ9ODAvdGNwCiAgLSAvYmluL3N5c3RlbWN0bCBlbmFibGUgZmlyZXdhbGxkCiAgLSAvYmluL3N5c3RlbWN0bCBzdGFydCBmaXJld2FsbGQKICAtIGxvYWRrZXlzIGRlCgp3cml0ZV9maWxlczoKLSBjb250ZW50OiB8CiAgICA8IURPQ1RZUEUgaHRtbD4KICAgIDxodG1sPgogICAgICA8aGVhZD4KICAgICAgPC9oZWFkPgogICAgICA8Ym9keT4KICAgICAgICA8cD5XZWxjb21lIHRvIHlvdXIgbmV3IHdlYiBzZXJ2ZXIuPC9wPgogICAgICA8L2JvZHk+CiAgICA8L2h0bWw+CiAgcGF0aDogL3Zhci93d3cvaHRtbC9pbmRleC5odG1sCgpmaW5hbF9tZXNzYWdlOiAiVGhlIHN5c3RlbSBpcyBmaW5hbGx5IHVwLCBhZnRlciAkVVBUSU1FIHNlY29uZHMiCg=="
                    }
                 } ]
             },
             "nics": {
                 "items": [ {
                    "properties": {
                      "name": "NIC001",
                      "dhcp": true,
                      "lan": 1
                      }
                    } ]
             }
        }
        }' \
 https://api.ionos.com/cloudapi/v6/datacenters/<datacenter_id>/servers
Create a new CD-ROM

May 2025 Releases

Most Popular

Get Started

Account Management

Management

APIs

SDKs

Config Management Tools

AI Model Hub

Compute Engine

Cubes

VM Auto Scaling

Managed Kubernetes

Private Container Registry

Event Streams for Apache Kafka

Managed Stackable Data Platform

In-Memory DB

MariaDB

MongoDB

PostgreSQL

API Gateway

CDN Available on request

Certificate Manager

Cloud DNS

Cross Connect

DDoS Protect

Flow Logs

IPv6 Configuration

Managed Application Load Balancer

Managed NAT Gateway

Managed Network Load Balancer

Network Security Groups

VDC Networking

VPN Gateway

Logging Service

Monitoring Service

Monitoring as a Service (Legacy)

Backup Service

Block Storage

IONOS Object Storage

Network File Storage

Security

is a software package that automates the initialization of during system boot. When you deploy a new Linux server from an , cloud-init gives you the option to set default user data.

Compatibility: This service is supported on all public IONOS Cloud Linux distributions. You may submit user data through the or via . Existing cloud-init configurations from other providers are compatible with IONOS Cloud.

Enter your User Data either using a bash script or a cloud-config file with a YAML syntax. For sample scripts, see , , or .

Result: At boot, Cloud-Init executes automatically and applies the specified changes. The DCD returns a message when is complete, indicating that the infrastructure is virtually ready. However, bootstrapping, which includes the execution of cloud-init data, may require additional time. The message that DCD returns does not mention the additional time required for execution. We recommend allowing extra time for task completion before testing.

To test if the cloud-init bootstrapped your successfully, you can open the corresponding in your browser. You will be greeted with a “Hello World” message from your web server.

You can also bootstrap cloud-init images using cloud-config directives. The cloud-init website outlines all the supported and provides of basic directives.

Cloud-init is configured on the volume resource for cloud API V6 or later versions. For more information, see .

Cloud-init
servers
image
DCD
Cloud API
provisioning
VM
IP address
modules
examples
CLOUD API (6.0)
Use shell scripts
Use cloud-config directives
Configure user data via API
Image for children's book
Application Load Balancers (ALB)
Network Load Balancers (NLB)
4KB
ai-model-hub-retrieval-augmented-generation.py

Tool Calling

The IONOS AI Model Hub supports tool calling, a feature of our OpenAI-compatible text generation API. Tool calling allows Large Language Models (LLMs) to trigger external functions and APIs during conversation, making the models interactive and dynamic. It significantly extends the LLM’s capabilities beyond pre-trained data or vector database retrieval, enabling real-time actions such as retrieving live weather data or interacting with your business systems.

Note: In modern AI APIs, the term "tool calling" has replaced "function calling." This tutorial uses the updated terminology in accordance with current standards.

Text generation models supporting tool calling

Only the following LLMs offer tool calling:

Model Provider
Model Name
Purpose

Llama 3.3 Instruct (70B)

Best for conversational tasks and natural language processing. Outperforms Llama 3.1 405B at similar quality levels.

Llama 3.1 Instruct (8B and 405B)

Ideal for chatbots, assistants, and dialogue-driven applications.

Mistral Instruct v0.3 (7B)

Strong in European languages; supports longer contexts; great for assistant-style use cases.

Unsupported Models: Teuken and Mixtral 8x7B do not support tool calling.

Overview

In this tutorial, you will learn how to integrate tool calling with a LLM through the OpenAI-compatible API to generate a mock weather forecast.

This tutorial is intended for developers with basic knowledge of:

  • REST APIs

  • A programming language capable of making HTTP requests (Python and Bash examples included)

By the end, you will be able to:

  1. Define tool definitions that describe available external tools

  2. Trigger tool calls based on user queries

  3. Parse tool call responses to deliver final answers

Get started with tool calling

First, set up your environment and authenticate using the IONOS OpenAI-compatible API endpoint.

Download the respective code files to easily access tool calling-specific scripts and examples and generate the intended output:

Download the Python Notebook to explore tool calling with ready-to-use examples.

Download the standalone Python script for a quick implementation.

Download the Bash script for a command-line implementation.

Step 1: Retrieve available models

To begin, retrieve a list of available models that support tool calling. This helps you confirm which models we offer for your use case.

import requests

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"

endpoint = "https://openai.inference.de-txl.ionos.com/v1/models"

header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}
requests.get(endpoint, headers=header).json()
print(response.json())
#!/bin/bash

IONOS_API_TOKEN=[YOUR API TOKEN HERE]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     --get https://openai.inference.de-txl.ionos.com/v1/models

The output will be a JSON document listing each model by name. You will reference one of these model names in later steps to perform text generation and tool calling operations.

Step 2: Define your functions

Tool calling requires you to define external functions that the model can invoke. These functions might fetch external data, trigger workflows, or perform custom computations.

In this example, we define a mock get_weather function that simulates retrieving current weather data.

# Function to get current weather (mock implementation)
def get_weather(city: str, unit: str="celsius"):
    """Get the current weather in a given location"""
    # In a real implementation, this would call a weather API
    # This is a mock implementation
    if city.lower() == "berlin":
        temperature = 22 if unit == "celsius" else 72
        weather_data = {
            "city": city,
            "temperature": temperature,
            "unit": unit,
            "forecast": ["sunny", "windy"],
            "humidity": 70
        }
        return weather_data
    return {"error": "Location not supported"}
# Function to get current weather (mock implementation)
get_weather() {
    local city=$1
    local unit=$2
    
    # Convert location to lowercase for case-insensitive matching
    city_lower=$(echo "$city" | tr '[:upper:]' '[:lower:]')
    
    # Mock data for a few cities
    if [ "$city_lower" = "berlin" ]; then
        if [ "$unit" = "celsius" ]; then
            temperature=22
        else
            temperature=72
        fi
        echo '{"city": $city, "temperature": $temperature, "unit": $unit, "forecast": ["sunny", "windy"], "humidity": 70}'
    else
        echo {"error": "Location not supported"}
    fi
}

These functions form the core logic your AI model will invoke when processing relevant queries.

Step 3: Derive tool definition

Once you've created your function, define a tool definition that describes it in a format the model can understand. This includes the tool name, description, expected parameters, and parameter types.

# Define the tool schema
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather in a given city",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "The city for which the weather should be returned"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "description": "The unit of temperature to use. Is inferred from the city if possible."
                    }
                },
                "required": ["city", "unit"]
            }
        }
    }
]
# Define the tool schema as a JSON string
TOOLS='[
  {
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get the current weather in a given city",
      "parameters": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "The city for which the weather should be returned"
          },
          "unit": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"],
            "description": "The unit of temperature to use. Is inferred from the city if possible."
          }
        },
        "required": ["city", "unit"]
      }
    }
  }
]'

Each tool definition must use clear, human-readable names and descriptions. It helps the model determine the most appropriate tool to call and which parameters to request or infer.

In the above example, the model may infer that a query about "Berlin" defaults to Celsius and "New York" to Fahrenheit. If it cannot infer the unit, it may ask the user for clarification.

To use multiple tools, simply add more definitions to the tools list.

Step 4: Enrich user query with available tool definitions

Now, send a user query with your defined tools using the OpenAI-compatible API.

# Python example for tool calling
import requests
import json
from openai import OpenAI

IONOS_API_TOKEN = "[YOUR API TOKEN HERE]"
MODEL_NAME = "[MODEL NAME HERE]"
IONOS_API_URL = 'https://openai.inference.de-txl.ionos.com/v1'

# Initialize the OpenAI client with IONOS API URL
client = OpenAI(base_url=IONOS_API_URL, api_key=IONOS_API_TOKEN)

user_query = "What's the weather like in Berlin?"

body = {
    "model": MODEL_NAME,
    "messages": [
        {"role": "user", "content": user_query}
    ],
    "tools": tools,
    "tool_choice": "auto"  # Let the model decide when to call tools
}

response = client.chat.completions.create(**body)
print(json.dumps(response, default=lambda o: o.__dict__, indent=2))
#!/bin/bash
# Configuration
IONOS_API_TOKEN="[YOUR API TOKEN HERE]"
MODEL_NAME="[MODEL NAME HERE]"
IONOS_API_URL="https://openai.inference.de-txl.ionos.com/v1"

USER_QUERY="What's the weather like in Berlin?"

# Create messages array for the API call
MESSAGES='[
    {"role": "user", "content": "'"$USER_QUERY"'"}
]'

# Create the full request body
REQUEST_BODY="{
    \"model\": \"$MODEL_NAME\",
    \"messages\": $MESSAGES,
    \"tools\": $TOOLS,
    \"tool_choice\": \"auto\"
}"

# Make the API call to IONOS API
RESPONSE=$(curl -s -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$REQUEST_BODY" \
     $IONOS_API_URL/chat/completions)

echo -e "$RESPONSE"

The model will decide whether to call the tool based on the user query. For example, if the user asks about Berlin’s weather, the model might infer the unit as Celsius without prompting it explicitly.

Step 5: Process tool call response and execute tool

Once the LLM responds with a tool call, your application must handle the tool call by executing the corresponding function and returning the result to the user.

# Parse tool call and arguments
if response.choices[0].message.tool_calls:
    tool_call = response.choices[0].message.tool_calls[0]
    function_name = tool_call.function.name
    function_args = json.loads(tool_call.function.arguments)
    
    # Call the function
    if function_name == "get_weather":
        tool_response = get_weather(
            city=function_args.get("city"),
            unit=function_args.get("unit")
        )
    print(tool_response)
else:
    print("The model provided a direct response (no tool call):")
    print(response.choices[0].message.content)
if echo "$RESPONSE" | jq -e '.choices[0].message.tool_calls' &> /dev/null; then
    TOOL_CALL_ID=$(echo "$RESPONSE" | jq -r '.choices[0].message.tool_calls[0].id')
    FUNCTION_NAME=$(echo "$RESPONSE" | jq -r '.choices[0].message.tool_calls[0].function.name')
    FUNCTION_ARGS=$(echo "$RESPONSE" | jq -r '.choices[0].message.tool_calls[0].function.arguments')
    
    # Extract location and unit from arguments
    LOCATION=$(echo "$FUNCTION_ARGS" | jq -r '.location')
    UNIT=$(echo "$FUNCTION_ARGS" | jq -r '.unit // "celsius"')
    
    # Get weather data
    WEATHER_DATA=$(get_weather "$LOCATION" "$UNIT")
    
    echo -e "Relevant answer: $WEATHER_DATA"
else
    # The model didn't call a tool, just return its response
    DIRECT_RESPONSE=$(echo "$RESPONSE" | jq -r '.choices[0].message.content')
    echo -e "The model provided a direct response (no tool call):"
    echo -e "Relevant answer: $DIRECT_RESPONSE"
fi

Tool call responses follow a predictable structure, making it easy to extract arguments and determine the function to execute. However, response behavior can vary based on the model, prompt structure, and tool definition quality.

You can also guide model behavior more precisely by:

  • Using detailed system prompts

  • Providing complete and clear tool descriptions

  • Adjusting the temperature or other generation parameters

In real-world use cases, always validate parameters and add safety checks before executing external actions based on user prompts.

Summary

In this tutorial, you learned how to:

  1. Create a mock weather function simulating a real API call

  2. Define a tool definition based on the function

  3. Prompt the LLM with a user query and tool definition

  4. Parse the model’s response to extract tool call details

  5. Execute the tool and return structured output

Tool calling enables your application to integrate LLMs with external data sources, APIs, or internal logic. This makes the LLM more powerful, responsive, and capable of handling real-time, or dynamic user scenarios.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

Meta ()

Meta ()

Mistral AI ()

IONOS AI Model Hub's OpenAI compatible ()

The concept of

For more information about other AI capabilities, see our documentation on and .

free
Create your contract
text generation API
tool calling
text generation
image generation
Increased Key Length in IONOS Object Storage
19KB
ai-model-hub-retrieval-augmented-generation.ipynb
Create a Dedicated Core server by dragging it onto the Workspace. Fill out the Inspector pane on the right with server properties
4KB
ai-model-hub-retrieval-augmented-generation.sh
License
License
License
311KB
ai-model-hub-semantic-file-search.zip
archive
Create a vCPU Server by dragging it onto the Workspace. Fill out the Inspector pane on the right with vCPU properties
4KB
ai-model-hub-tool-calling.py
snapshot
snapshot
16KB
ai-model-hub-tool-calling.ipynb
4KB
ai-model-hub-tool-calling.sh

Document Collections

The IONOS AI Model Hub API allows you to access vector databases to persist your document collections and find semantically similar documents.

The vector database is used to persist documents in document collections. Each document is any form of pure text. In the document collection not only the input text is persisted, but also a transformation of the input text into an embedding. Each embedding is a vector of numbers. Input texts which are semantically similar have similar embeddings. A similarity search on a document collection finds the most similar embeddings for a given input text. These embeddings and the corresponding input text are returned to the user.

Overview

This tutorial is intended for developers. It assumes you have basic knowledge of:

  • REST APIs and how to call them

  • A programming language to handle REST API endpoints (for illustration purposes, the tutorials uses Python and Bash scripting)

By the end of this tutorial, you'll be able to:

  • Create, delete and query a document collection in the IONOS vector database

  • Save, delete and modify documents in the document collection and

  • Answer customer queries using the document collection.

Background

  • The IONOS AI Model Hub API offers a vector database that you can use to persist text in document collections without having to manage corresponding hardware yourself.

  • Our AI Model Hub API provides all required functionality without your data being transfered out of Germany.

Before you begin

To get started, open your IDE to enter Python code.

Next generate a header document to authenticate yourself against the endpoints of our REST API:

# Python example to specify header

IONOS_API_TOKEN = [YOUR API TOKEN HERE]
header = {
    "Authorization": f"Bearer {IONOS_API_TOKEN}", 
    "Content-Type": "application/json"
}

After this step, you have one variable header you can use to access our vector database.

To get started, open a terminal and ensure that curl and jq is installed. While curl is essential for communicating with our API service, we use jq throughout our examples the improve the readability of our API results.

Download the respective code files to easily access document collection-specific scripts and examples and generate the intended output:

Download this Python Notebook file to easily access document collection-specific scripts and examples and generate the intended output.

Download this Python code file to easily access document collection-specific scripts and examples and generate the intended output.

Download this Bash code file to easily access document collection-specific scripts and examples and generate the intended output.

Manage document collections

In this section you learn how to create a document collection. We will use this document collection to fill it with the data from your knowledge base in the next step.

To track, if something is incorrect this section also shows how to:

  • List existing document collections

  • Remove document collections

  • Get meta data of a document collection

Create document collections

To create a document collection, you must specify the collection name and a description and invoke the endpoint to generate document collections:

# Python example to specify header
import requests

COLLECTION_NAME = [ YOUR COLLECTION NAME HERE ]
COLLECTION_DESCRIPTION = [ YOUR COLLECTION DESCRIPTION HERE ]
CHUNK_OVERLAP = [ NUMBER OF OVERLAPPING TOKENS ]
CHUNK_SIZE = [ MAXIMUM NUMBER OF TOKENS PER DOCUMENT ]
EMBEDDING_MODEL = [ YOUR EMBEDDING MODEL HERE ]
DATA_BACKEND = [ THE BACKEND TO USE ]
endpoint = "https://inference.de-txl.ionos.com/collections"
body = {
    "properties": {
        "name": COLLECTION_NAME,
        "description": COLLECTION_DESCRIPTION,
        "chunking": {
            "enabled": True,
            "strategy": {
                "config": {
                    "chunk_overlap": CHUNK_OVERLAP, 
                    "chunk_size": CHUNK_SIZE
                }
            }
        },
        "embedding": {
            "model": EMBEDDING_MODEL
        },
        "engine": {
            "db_type": DATA_BACKEND
        }
    }
}
requests.post(endpoint, json=body, headers=header)
#!/bin/bash

COLLECTION_NAME=[ YOUR COLLECTION NAME HERE ]
COLLECTION_DESCRIPTION=[ YOUR COLLECTION DESCRIPTION HERE ]
CHUNK_OVERLAP=[ NUMBER OF OVERLAPPING TOKENS ]
CHUNK_SIZE=[ MAXIMUM NUMBER OF TOKENS PER DOCUMENT ]
EMBEDDING_MODEL=[ YOUR EMBEDDING MODEL HERE ]
DATA_BACKEND=[ THE BACKEND TO USE ]
BODY='{ 
    "properties": { 
        "name": "'${COLLECTION_NAME}'", 
        "description": "'${COLLECTION_DESCRIPTION}'",
        "chunking": {
            "enabled": True,
            "strategy": {
                "config": {
                    "chunk_overlap": "'${CHUNK_OVERLAP}'", 
                    "chunk_size": "'${CHUNK_SIZE}'"
                }
            }
        },
        "embedding": {
            "model": "'${EMBEDDING_MODEL}'"
        },
        "engine": {
            "db_type": "'${DATA_BACKEND}'"
        }
    } 
}'

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
        -H "Content-Type: application/json" \
        -d "$BODY" \
        https://inference.de-txl.ionos.com/collections

You can specify the following parameters when you create your document collection:

Chunking

The AI Model Hub supports fixed-length chunking. If you apply chunking, long documents are split before being uploaded into the document collection. Is is beneficial in the following cases:

  • If your document exceeds the length of the text, your embedding model can cope with.

  • If your document spans over different semantic topics.

You can control chunking using:

  • CHUNK_OVERLAP: The number of overlaping tokens in two subsequent chunks.

  • CHUNK_SIZE: The maximum number of tokens per chunk.

Embedding Model

Database Engine

The AI Model Hub supports different databases in the backend to persist your data. Upon creation of your collection, you can choose which of them to use by setting DATA_BACKEND to:

  • pgvector: PGVector uses a PostgreSQL database as the backend to persist the document collection. We offer the corresponding PostgreSQL as a Database as a Service (DBaaS) offering. This allows you to scale as your demands grow by switching from the managed PostgreSQL to your own DBaaS instance.

  • chromadb: ChromaDB is a state-of-the-art database optimized for persisting document collections. It is strongly optimized but does not support relational database features like PostgreSQL.

If you remove the chunking, embedding, and engine sections from the body of your request, we will create a document collection with default parameters. Our approach does not apply chunking; sentence transformers will be used as the embedding models, and the data will be stored in our managed ChromaDB.

If the creation of the document collection was successful, the status code of the request is 201 and it returns a JSON document with all relevant information about the document collection.

To modify the document collection you need its identifier. You can extract it from the returned JSON document in the variable id.

List Existing Document Collections

To ensure that the previous step went as expected, you can list the existing document collections.

To retrieve a list of all document collections saved by you:

# Python example to list existing document collections
import requests

endpoint = "https://inference.de-txl.ionos.com/collections"
requests.get(endpoint, headers=header).json()
#!/bin/bash

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
        -H "Content-Type: application/json" \
        https://inference.de-txl.ionos.com/collections

This query returns a JSON document consisting of your document collections and corresponding meta information

The result consists of 8 attributes per collection of which 3 are relevant for you:

  • id: The identifier of the document collection

  • properties.description: The textual description of the document collection

  • properties.documentsCount: The number of documents persisted in the document collection

If you have not created a collection yet, the field items is an empty list.

Remove a Document Collection

If the list of document collections consists of document collections you do not need anymore, you can remove a document collection by invoking:

# Python example to delete collections
import requests

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
endpoint = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
requests.delete(endpoint, headers=header)
#!/bin/bash
COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -X DELETE \
     -i https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}

This query returns a status code which indicates whether the deletion was successful:

  • 204: Status code for successfull deletion

  • 404: Status code given the collection did not exist

Get Meta Data for a Document Collection

If you are interested in the meta data of a collection, you can extract it by invoking:

# Python example to extract meta information
import requests

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
endpoint = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
result = requests.get(endpoint, headers=header)
result.status_code
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}

This query returns a status code which indicates whether the collection exists:

  • 200: Status code if the collection exists

  • 404: Status code given the collection does not exist

The body of the request consists of all meta data of the document collection.

Manage Documents in Document Collection

In this section, you learn how to add documents to the newly created document collection. To validate your insertion, this section also shows how to

  • List the documents in the document collection,

  • Get meta data for a document,

  • Update an existing document and

  • Prune a document collection.

Add Documents to Document Collection

To add an entry to the document collection, you must at least specify the content, the name of the content, and the contentType:

# Python example to add documents to a collection
import requests
import base64

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
CONTENT = [ YOUR CONTENT HERE ]
NAME = [ YOUR NAME HERE]
content_base64 = base64.b64encode(CONTENT.encode('utf-8')).decode("utf-8")
body = { 
    "items": [{ 
        "properties": { 
            "name": NAME, 
            "contentType": "text/plain", 
            "content": content_base64
        }
    }]
}
endpoint = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}/documents"
requests.put(endpoint, json=body, headers=header)
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
CONTENT=[ YOUR CONTENT HERE ]
NAME=[ YOUR NAME HERE]

CONTENT_BASE64=$(echo -n ${CONTENT} | base64)
BODY='{
    "items": [{
        "properties": {
            "name": "'${NAME}'", 
            "contentType": "text/plain", 
            "content": "'${CONTENT_BASE64}'"
        }
    }]
}'

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     -X PUT \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/documents

Note:

You must encode your content using base64 before adding it to the document collection. This is done here in line 7 of the source code. We imply a document limit of 65535 characters for each document you upload. Ensure that your documents do not exceed this limit.

This request returns a status code 200 if adding the document to the document collection was successful.

List Existing Documents in Document Collection

To ensure that the previous step went as expected, you can list the existing documents of your document collection.

To retrieve a list of all documents in the document collection saved by you:

# Python example to list all existing documents in a document collections
import requests

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]

endpoint_coll = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
endpoint = f"{endpoint_coll}/documents"

requests.get(endpoint, headers=header).json()
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/documents

This query returns a JSON document consisting of your documents in the document collection and corresponding meta information

The result has a field items with all documents in the collection. This field consists of 10 attributes per entry of which 5 are relevant for you:

  • id: The identifier of the document

  • properties.content: The base64 encoded content of the document

  • properties.name: The name of the document

  • properties.description: The description of the document

  • properties.labels.number_of_tokens: The number of tokens in the document

If you have not created the collection yet, the request will return a status code 404. It will return a JSON document with the field items set to an empty list if no documents were added yet.

Get Meta Data for a Document

If you are interested in the metadata of a document, you can extract it by invoking:

# Python example to access meta data from a document
import requests

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
DOCUMENT_ID = [ YOUR DOCUMENT ID HERE ]

endpoint_coll = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
endpoint = f"{endpoint_coll}/documents/{DOCUMENT_ID}"

requests.get(endpoint, headers=header).json()
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
DOCUMENT_ID=[ YOUR DOCUMENT ID HERE ]

curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/documents/${DOCUMENT_ID}

This query returns a status code which indicates whether the document exists:

  • 200: Status code if the document exists

  • 404: Status code given the document does not exist

The body of the request consists of all meta data of the document.

Update a Document

If you want to update a document, invoke:

# Python example to update a document
import requests
import base64

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
DOCUMENT_ID = [ YOUR DOCUMENT ID HERE ]
CONTENT = [ YOUR CONTENT HERE ]
NAME = [ YOUR NAME HERE ]

endpoint_coll = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
endpoint = f"{endpoint_coll}/documents/{DOCUMENT_ID}"
content_base64 = base64.b64encode(CONTENT.encode('utf-8')).decode("utf-8")
body = { 
    "properties": { 
        "id": DOCUMENT_ID, 
        "name": NAME, 
        "contentType": 
        "text/plain", 
        "content": content_base64
    }
}

requests.put(endpoint, json=body, headers=header)
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
DOCUMENT_ID=[ YOUR DOCUMENT ID HERE ]
CONTENT=[ YOUR CONTENT HERE ]
NAME=[ YOUR NAME HERE ]
CONTENT_BASE64=$(echo -n ${CONTENT} | base64)
BODY='{
    "properties": {
        "name": "'${NAME}'", 
        "id": "'${DOCUMENT_ID}'", 
        "contentType": "text/plain", 
        "content": "'${CONTENT_BASE64}'"
    }
}'
curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     -X PUT \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/documents/${DOCUMENT_ID}

This will replace the existing entry in the document collection with the given id by the payload of this request.

Prune a Document Collection

If you want to remove all documents from a document collection invoke:

# Python example to prune a document collection
import requests

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
endpoint_coll = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}"
endpoint = f"{endpoint_coll}/documents"
requests.delete(endpoint, headers=header)
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -X DELETE \
     -i https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/documents

This query returns the status code 204 if pruning the document collection was successful.

Query Documents in the Document Collection

Finally, this section shows how to use the document collection and the contained documents to answer a user query.

To retrieve the documents relevant for answering the user query, invoke the query endpoint as follows:

# Python example to retrieve documents for answering a user query
import requests
import base64

COLLECTION_ID = [ YOUR COLLECTION ID HERE ]
USER_QUERY = [ USER QUERY HERE ]
NUM_OF_DOCUMENTS = [ NUMBER OF DOCUMENTS TO CONSIDER HERE ]

endpoint = f"https://inference.de-txl.ionos.com/collections/{COLLECTION_ID}/query"
body = {"query": USER_QUERY, "limit": NUM_OF_DOCUMENTS }

relevant_documents = requests.post(endpoint, json=body, headers=header)

[
    base64.b64decode(entry['document']['properties']['content']).decode()
    for entry in relevant_documents.json()['properties']['matches']
]
#!/bin/bash

COLLECTION_ID=[ YOUR COLLECTION ID HERE ]
USER_QUERY=[ USER QUERY HERE ]
NUM_OF_DOCUMENTS=[ NUMBER OF DOCUMENTS TO CONSIDER HERE ]
BODY='{"query": "'${USER_QUERY}'", "limit": "'${NUM_OF_DOCUMENTS}'" }'

RESULT=$(curl -H "Authorization: Bearer ${IONOS_API_TOKEN}" \
     -H "Content-Type: application/json" \
     -d "$BODY" \
     -X POST \
     https://inference.de-txl.ionos.com/collections/${COLLECTION_ID}/query)

echo "$RESULT" | \
jq -r '.["properties"]["matches"][].["document"]["properties"]["content"]' | \
base64 --decode 

This will return a list of the NUM_OF_DOCUMENTS most relevant documents in your document collection for answering the user query.

Summary

In this tutorial you learned how to use the IONOS AI Model Hub API to conduct semantic similarity searches using our vector database.

Namely, you learned how to:

  • Create a necessary document collection in the vector database and modify it

  • Insert your documents into the document collection and modify the documents

  • Conduct semantic similarity searches using your document collection.

AI Model Hub for Free: From December 1, 2024, to June 30, 2025, IONOS is offering all foundation models in the AI Model Hub for . today and kickstart your AI journey!

The AI Model Hub supports different embedding models. You can use any of them when saving your documents to the document collection by setting the parameter EMBEDDING_MODEL. To find all available models, invoke the models endpoint and use the variable id as parameter for the EMBEDDING_MODEL. For a more detailed documentation see Step 1 of the tutorial.

free
Create your contract
Text Embedding
Configuration of Cloud-init User Data
You may either use an IONOS image or upload your own via FTP and select it instead.
44KB
ai-model-hub-document-collections.ipynb
5KB
ai-model-hub-document-collections.py
5KB
ai-model-hub-document-collections.sh