Python Example

What is Python?
Python is a high-level programming language known for its simplicity and readability. It emphasizes code readability and its syntax allows programmers to express concepts in fewer lines of code compared to other languages. Python is versatile, supporting multiple programming paradigms such as procedural, object-oriented, and functional programming. It is widely used in various domains including web development, data science, artificial intelligence, and automation.

Here's a basic example of how to use Python to interact with the xcware API:
To interact with the xcware API, you'll need to ensure that you're sending POST requests with JSON data and expect JSON-structured data in response.
Copy
#CREATE CONTAINER API CALL

import requests

apiUrl = "https://your_nexus_server_or_ip/api/v3/"              #<-- replace

#JSON data to be sent
data = {
    "cloudid": "V7d41fdc53-xxxx-xxxx-xxxx-5c1fxxxx3cbc",        #<-- replace
    "name": "My Container",
    "os": "cn-rocky-9",
    "password": "test"
}

headers = {
    "Content-Type": "application/json",
    "x-access-account": "YOUR_ACCOUNT_ID",                      #<-- replace
    "x-access-authorization": "YOUR_ACCESS_KEY",                #<-- replace
    "x-secret-key": "YOUR_SECRET_KEY",                          #<-- replace
    "x-api": "instances-cn",
    "x-api-command": "create"
}

###
#    Using verify=False in the following code as a workaround for
#    self-signed certificate errors is discouraged in production environments.
###
response = requests.post(apiUrl, headers=headers, json=data, verify=False)

#process received JSON data
ret = response.json()

if (ret['result'] == "OK"):
    print("Container was created with the ID: "+ret['id'])
else:
    print("Error: "+ret['message'])

Request Headers
Now that we've laid down the groundwork, let's delve into the essential headers needed to construct a valid POST request for the xcware API.

x-access-account
This header denotes the account ID and is required for any request. You can find your account ID in the "Actions" menu situated at the top right corner of the Nexus interface.

x-access-authorization
This header signifies the access key linked to the roles and policies within the specified account, and it's a requisite for all requests. Please obtain your access key from your system administrator.

x-secret-key
This header indicates the secret key tied to the specified account, and it's mandatory for all requests. Please obtain your secret key from your system administrator.

x-api
This header defines the name of the API containing the commands and is obligatory. Refer to the API Builder for potential API names.

x-api-command
This header specifies the name of the function to be executed and is mandatory. Refer to the API Builder for potential command names.

Data
The "data =" section in the code signifies the JSON structured input data transmitted to the API task and is mandatory. For potential data input options, refer to the API Builder.

Get Started with API Builder

We utilize xcware specifically for our external CAD/CAE workforce needs. Our vGPU Workstations outperform our previously used VMware Horizon on the same hardware. More importantly, it is now easier to onboard and scalable for every project.

— Mark K.
IT-Manager @ Bielomatik

I rely on xcware for crafting and implementing solutions for my clients due to its scalability and quick setup time for projects. 8 out of 10 customers remain with the initial xcware project setup, streamlining my delivery process.

— Thomas B.
Cloud Solutions Architect

We have successfully migrated 500+ servers and desktops from VMware to xcware. We extend our gratitude to the xcware Consulting Team for delivering exceptional work.

— Franco O.
IT Manager @ SportSA

We were pleasantly surprised by how effortlessly we could construct our Big Data platform and extend it to various production lines across the globe.

— Simone C.
Big Data Engineer @ UBX

As a developer specializing in native cloud solutions, I am delighted that xcware is available for free for developers like me. This allows me to enhance my cloud skills and expand my expertise.

— Sindra L.
Cloud Engineer

My favorite is the Flow-fx engine and the API. With Nexus Flow-fx, you can automate everything, and I mean everything! I manage over 150+ Linux servers fully automated.

— Mirco. W.
Linux Administrator @ S&P

xcware Strategic Partners