About
Welcome to my
Automation Blog
Since October 2022 I have been working in the field of infrastructure automation, which is also when I started this blog. Initially the focus was exclusively on VMware Cloud Foundation (VCF) automation environment. But since August 2025 I have also been working with Red Hat Ansible too. This extends the focus of this blog. In addition to data center automation the area of IT process automation is also considered. I have set my focus on programming in the context of this kind of automation, as well as integration scenarios of the environments. These aspects are reflected in this blog. They are mostly very technical and sometimes they show very unusual ways, but that opens new possibilities.
Have fun discovering it.

Overall for more than 33 years I have been involved in business with programmatic solutions and approaches for a wide variety of use cases and system environments. With different programming languages I program for almost 40 years. Interested?
Meet me at LinkedIn
Categories

Automation Blog from Stefan Schnell

  Automation Blogfrom Stefan Schnell
Last update 27.10.2025

Various Technical Posts for Automating Data Centers and IT Processes


Python Code to Check if Port is Open in the Firewall for VCF Automation and Ansible

#ansible #vcfAutomation
Check if Port is Open

Examples how to check if a port is open in the firewall. These implementations are demonstrated using different platforms.

Execute Rust WebAssembly (Wasm) Module with Python in Ansible

#ansible #webAssembly
Execute Wasm with Ansible

Tip to use Rust code via WebAssembly and Wasmtime with Python in Ansible.

Ansible Job Monitor in Python for VCF Automation

#ansible
Ansible Job Monitor

Approach how to invoke a template, monitor the running job and get the output from Ansible with VCF Automation.

Embed and Use Wasmtime with Python Runtime Environment in VCF Automation to Invoke WebAssembly (Wasm)

#vcfAutomation #webAssembly
Embed and Use Wasmtime with Python Runtime Environment

Approach how to embed and use the lightweight WebAssembly runtime Wasmtime with Python in VCF Automation.

graffiti with a person that reads a how to

Using Cast Notation in PowerShell Runtime Environment of VCF Automation

 
Using Cast Notation in PowerShell Runtime Environment

Check whether PowerShell type-constraint variables can be used in VCF Automation.

Python Class for Executing Actions in VCF Automation

 
Action Class for Python Runtime Environment

Python class for executing actions.

Using Unit Test Modules in Python Runtime Environment of VCF Automation

#assert #unittest
Using Unit Test Modules in Python Runtime Environment

Examples how to use Python doctest and unittest modules from the standard library for unit testing.

Python Class for HTTP REST Requests in VCF Automation

 
HTTP Class for Python Runtime Environment

Fundamental Python class for invoking REST requests.

graffiti with a smiling fish

Handle Temporary Directory with JavaScript and Python in VCF Automation

 
Handle Temporary Directory

JavaScript and Python code to list and delete files in the temporary folder.

Invoke ELF Executable with Python in VCF Automation

 
Invoke ELF Executable with Python

Python code to execute an embedded binary program.

Use an Internal Python Package Index (PyPI) with VCF Automation

 
Use an Internal PyPI

Description how to realize a Python Package Index (PyPI) simulation.

Get Information about the Java Plugins in VCF Automation

 
Get Information about Plugins

JavaScript code to detect information about installed plugins.

graffiti with a smiling snake

Tips for Handling the Hands-On Labs (HOLs) of VCF Automation

#base64
Tips for Handling the HOLs

Tips how Hands-On Lab environments can be handled, in consideration of another OS language.

JavaScript to List all Actions and Workflows of VCF Automation

 
List all Actions and Workflows

JavaScript code to list all actions and workflows in the log.

Prepare GitLab as Python Package Index (PyPI) for VCF Automation

 
Prepare GitLab as PyPI

Instructions for GitLab for use as Python Package Index (PyPI).

Using Type Hints in Python Runtime Environment of VCF Automation

 
Using Type Hints in Python Runtime Environment

Check whether Python type hints can be used in VCF Automation.

graffiti with a smiling piston

JavaScript Library to Emulate VCF Automation ZipWriter Class

 
Library to Emulate ZipWriter Class

JavaScript source code to mock-up the ZipWriter class, to handle string data in the context of compressed zip files.

Get Python Packages Version in VCF Automation

 
Get Python Packages Version

Code how to detect the version of Python packages.

Handle Files in GitLab with Python of VCF Automation

 
Handle Files in GitLab with Python

Code how to create, read, update and delete files in the connected GitLab.

Test Configuration in VCF Automation

 
Test Configuration

Tip how to validate configurations by executing simulated provisioning requests.

graffiti with a smile

Execute Workflow from Python in VCF Automation

 
Execute Workflow from Python

An Example how to call a workflow from Python runtime environment.

Get Resource with Python in VCF Automation

 
Get Resource with Python

Python source to get resource.

Command Palette of Orchestrator Editor in VCF Automation

 
Command Palette of Orchestrator Editor

List of the commands in the palette of the Orchestrator editor.

JavaScript Library to Emulate URL Class of VCF Automation

 
Library to Emulate URL Class

JavaScript source code to mock-up the URL class, to put HTTP requests.

graffiti with an image

Get Configuration Variable Value with Python in VCF Automation

 
Get Configuration Variable Value with Python

Python source to get configuration variable value.

Call Action from Python in VCF Automation

 
Call Action from Python

Example how to call any action from Python runtime environment.

REST Request with JavaScript in VCF Automation

 
REST Request with JavaScript

Example how to use a REST call in JavaScript runtime environment.

Use Shared Object with Python in VCF Automation

 
Use Shared Object with Python

Example how to use a shared library with the Python runtime environment.

graffiti with a smile

Get Photon OS Version with VCF Automation

 
Get Photon OS Version

Approaches how to detect information about the OS version of the different RTEs.

Comparison of RTE Execution Times in VCF Automation

 
Comparison of RTE Execution Times

Review of the time required to create and remove a container of Python RTE compared to the JavaScript RTE.

JSON Schema Validator for VCF Automation

 
JSON Schema Validator

Example how to realize a JSON schema validator.

Python Code to Calculate SHA256 Hashes for Workflows in VCF Automation

 
Calculate SHA256 Hashes for Workflows

Python action to calculate Secure Hash Algorithm SHA256 values for all workflows.

graffiti with wizard

Python Code to Calculate SHA256 Hashes for Actions in VCF Automation

 
Calculate SHA256 Hashes for Actions

Python action to calculate Secure Hash Algorithm SHA256 values for all actions.

Execute WebAssembly (Wasm) with JavaScript in VCF Automation

#vcfAutomation #webAssembly
Execute Wasm with JavaScript

Tip to use C / C++ code with Emscripten or Rust code via WebAssembly and Chicory with JavaScript in VCF Automation.

How to Profile Python Actions in VCF Automation

 
How to Profile Python Actions

Description how to analyze how long and how often calls are executed in Python actions.

How to Profile Node JavaScript Actions in VCF Automation

 
How to Profile Node Actions

Description how to analyze the frequency and duration of calls in Node actions.

graffiti with parachuting elephant

How to Mock a Web Server in VCF Automation

#webServer
How to Mock a Web Server

Description how to create and use a mock web server inside the runtime environments.

Direct Links of Swagger API Documentation of VCF Automation

 
Direct Links of Swagger API Documentation

List of direct links to the API Documentation of the different services.

Get Optimization Level of the Rhino Engine in VCF Automation

 
Get Optimization Level of the Rhino Engine

JavaScript source code to detect the optimization level of the Rhino engine.

Test Driven Development with the Orchestrator of VCF Automation

 
Test Driven Development with the Orchestrator

Description how to use Test Driven Development (TDD) in the context of the Orchestrator.

graffiti with alien

REST API Calling Conventions for Executing an Action of VCF Automation

 
REST API Calling Conventions for Executing an Action

Examples of calling conventions of parameter passing of the REST requests to create and run an action.

Ansible Module Emulation for a Simplified Python Development

#ansible
Ansible Module Emulation for a Simplified Development

Approach to emulate an Ansible module in a development process of a local environment.

Emulation Templates in Node JavaScript, Python and PowerShell for the Runtime Environments of VCF Automation

 
Emulation Templates for the Runtime Environments

Node.js, Python and PowerShell code templates for a local handler emulation of the runtime environments.

Execute Java Code via JShell in VCF Automation

 
Execute Java Code via JShell

Approach to run JShell with Java code.

graffiti with monkey

Building a Python Runtime Environment with pyVmomi in VCF Automation

 
Building a Python Runtime Environment with pyVmomi

Approach to manage and automate VMware infrastructure with pyVmomi on Python.

JavaScript Code to Execute Operating System Commands in VCF Automation

#commandClass #executeCommand
Execute Operating System Commands

Approach with advanced possibilities for executing operating system commands.

Installation and Testing vCenter API Simulator

#vcSim
Installation and Testing vCenter API Simulator

Example how to implement a locally test environment with vCenter simulator with PowerCLI and pyVmomi.

Detect Orchestrator Version of VCF Automation

#getOrchestratorVersion
Detect Orchestrator Version

JavaScript source code to detect the version of the Orchestrator.

graffiti with a painter

Stopwatch Class for VCF Automation

 
Stopwatch Class

Time consumption measurement class for determining code execution times.

Core Concepts Enhancements for VCF Automation

 
Core Concepts Enhancements

Summary of possible programming language extensions.

JavaScript Code to Execute a Workflow from an Action in VCF Automation

 
Execute Workflow from Action

A JavaScript example how to invoke a workflow from an action, e.g. in the context of unit tests.

Integrate TypeScript Programming Language in VCF Automation

 
Integrate TypeScript Programming Language

Approach to store and to invoke TypeScript code seamlessly.

graffiti with technician

Integrate C# Programming Language in VCF Automation

#cSharp
Integrate C# Programming Language

Approach to store and to invoke C# code seamlessly.

JavaScript Code for the Parallelization of Threads in VCF Automation

 
Parallelization with Threads

An Example of a parallelized function execution with threads in the JavaScript runtime environment.

JavaScript Library to Emulate MimeAttachment Class of VCF Automation

 
Library to Emulate MimeAttachment Class

JavaScript source code to mock-up the mime attachment class, to use multipurpose internet mail extensions.

JavaScript Library to Emulate ByteBuffer Class of VCF Automation

 
Library to Emulate ByteBuffer Class

JavaScript source code to mock-up the byte buffer class, as wrapper around a byte array to use it for passing references to binary content.

graffiti with a face

Extension of JavaScript Runtime Environment (RTE) to use Java Archives (JAR) in VCF Automation

 
Extension of JavaScript RTE to use JAR

This technical white paper describes ways to store any kind of files and to use them. Furthermore how to use Java archive files, for all the possibilities of Java.

Open white paper

JavaScript Library to Emulate File Classes of VCF Automation

 
Library to Emulate File Classes

JavaScript source code to mock-up the file classes File, FileReader and FileWriter, to operate with and handle the access to text files.

Trick to use Java Output Stream with VCF Automation

 
Use Java Output Stream

A trick to use Java standard output stream (stdout) and standard error stream (stderr) in the JavaScript runtime environment via redirecting.

Program Example Using a JavaScript VCF Automation Emulation

 
Program Example Using a JavaScript Emulation

Combination of different approaches which build a basis, to execute a program unmodified in different system environments, to get system information.

graffiti with a person

JavaScript Library to Emulate Command Class of VCF Automation

 
Library to Emulate Command Class

JavaScript source code to mock-up the command class, to execute commands of the host operating system.

Unit Test Library for Actions for VCF Automation

#assert #unittest
Unit Test Library for Actions

JavaScript source code for an assert library (called Aromatical), to simplify the build of unit tests for actions.

JavaScript and Python Code to Detect if Script is Executing in VCF Automation

#printenv #getenv
Detect if Script is Executing in VCF Automation

An approach how to detect if a script program is running in the context of VCF Automation.

Get all Properties of the SDKType Object in VCF Automation

 
Get all Properties of the SDKType Object

Tip to detect all properties of the all plugins.

graffiti with a person

JavaScript Library to Emulate System Class of VCF Automation

 
Library to Emulate System Class

JavaScript source code to mock-up the system class. It is a general set of functions for local emulation.

Local Approaches to Simulate the JavaScript Runtime Environment of VCF Automation

 
Local Approaches to Simulate the JavaScript Runtime Environment

Tip to build local JavaScript runtime environments for simulation purposes.

Use JavaScript 3rd Party Libraries, with LINQ as an Example, in VCF Automation

 
Use JavaScript 3rd Party Libraries, with LINQ as an Example

Tip to use libraries from other vendors in the JavaScript runtime environment.

Emulate getModule in Node JavaScript in VCF Automation

 
Emulate getModule

JavaScript source code to emulate getModule method from System class with Node.

graffiti with a motorcycle

Variablized Modules, a Blind Spot of Find Usages/Dependencies in VCF Automation

 
Variablized Modules, a Blind Spot of Find Usages/Dependencies

Hint to a restriction that should be note when using the where-used list.

Execute WebAssembly (Wasm) with Node JavaScript in VCF Automation

#vcfAutomation #webAssembly
Execute Wasm with Node

Tip to use C / C++ code with Emscripten and WebAssembly via Node runtime engine in VCF Automation.

Use Java Classes without Shutter File in VCF Automation

#setSystemProperties #executeJavaCode #javaPackages
Use Java Classes without Shutter File

Tip to use Java classes with a property, so that a shutter file is not necessary.

Flattening of Deep Objects in VCF Automation

 
Flattening of Deep Objects

JavaScript source code to reduce a deep object to one level.

graffiti with a cat

How to use dotNET Assemblies with JavaScript Runtime in VCF Automation

 
How to use dotNET Assemblies with JavaScript Runtime

An example to use external modules, in this case a dotNET assemblies, into the context of JavaScript.

Note of Undocumented WorkflowItem Classes of VCF Automation

 
Note of Undocumented WorkflowItem Classes

Listing of undocumented WorkflowItem classes.

Export Orchestrator Configurations as JSON with VCF Automation

#exportConfiguration
Export Orchestrator Configurations as JSON

JavaScript code snippets to export configuration elements of the Orchestrator in JSON format.

How to use PowerShell Classes in VCF Automation

 
How to use PowerShell Classes

An approach to use PowerShell classes, on the same way as third-party libraries.

graffiti with a sprayer

Get Detailed Information about all Workflows of VCF Automation

 
Get Detailed Information about all Workflows

An action to generate XML information about all workflows.

Get Detailed Information about all Actions of VCF Automation

 
Get Detailed Information about all Actions

An action to generate XML information about all actions.

Automatic Type Casting of Java Data Types in JavaScript Data Types in VCF Automation

 
Automatic Type Casting of Java Data Types in JavaScript Data Types

Observation of automatic Java data type conversion in JavaScript runtime environment.

Embed and use dotNET Assemblies in PowerCLI Runtime Environment (RTE) of VCF Automation

 
Embed and use dotNET Assemblies in PowerCLI RTE

An unusual way to use binary embedded dotNET assemblies in PowerCLI runtime environment.

graffiti with hermes

Information About the PowerCLI Infrastructure of VCF Automation

 
Information About the PowerCLI Infrastructure

A tip to get more information about the technical infrastructure of the PowerCLI container.

Set JavaScript Access to Java Classes in VCF Automation

#shutterFile #javaVersion
Set JavaScript Access to Java Classes

Configuration guide for accessing Java classes.

Detect Rhino JavaScript Engine Version of VCF Automation

 
Detect Rhino JavaScript Engine Version

Tip to detect the used version of the Rhino engine.

JavaScript Code to Retrieve Bearer Token for the HOL with VCF Automation

#getBearerToken
Retrieve Bearer Token for the HOL

JavaScript source code to get the CSP or the refresh token with the Bearer-Token for the Hands-on Lab (HOL).

graffiti with eyes

Connect vCenter in HOL with PowerCLI of VCF Automation

 
Connect vCenter in HOL with PowerCLI

PowerShell source code to show how to connect vCenter server system in the Hands-on Lab (HOL) via PowerCLI.

Get Objects of Inventory Hierarchy in VCF Automation

 
Get Objects of Inventory Hierarchy

Different JavaScript source codes that returns the objects of the vCenter hierarchy.

VCF Automation Architecture

 
VCF Automation Architecture

Translated VMware blog post by Swathi Prabhu, with updates and own additions.



rss feed ©2025, private website by Stefan Schnell, all rights reserved.   imprint