About

Welcome to my
VMware Cloud Foundation Automation Blog

With the VMware Cloud Foundation (VCF) Automation environment I have been working since October 2022. In this time I have set my focus on programming in the context of data center automation, as well as integration scenarios of the automation environment. These aspects are reflected in this blog. You will find here a collection of different perspectives of this kind, that I have considered in detail. They are mostly very technical and sometimes they show very unusual ways, but that opened new possibilities.
Have fun discovering it.

Overall for more than 32 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
 

VMware Cloud Foundation Automation Blog

from Stefan Schnell
Last update 21.11.2024

 
Execute Workflow from Python

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

 
Get Resource with Python

Python source to get resource.

 
Command Palette of Orchestrator Editor

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

 
Library to Emulate URL Class

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

graffiti with a person that reads a how to
 
Get Configuration Variable Value with Python

Python source to get configuration variable value.

 
Call Action from Python

Example how to call any action from Python runtime environment.

 
REST Request with JavaScript

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

 
Use Shared Object with Python

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

graffiti with a smiling fish
 
Get Photon OS Version

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

 
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

Example how to realize a JSON schema validator.

 
Calculate SHA256 Hashes for Workflows

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

graffiti with a smiling snake
 
Calculate SHA256 Hashes for Actions

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

#webAssembly
Use C / C++ Language via JShell

Tip to use C / C++ code with Emscripten and WebAssembly via Chicory with the JavaScript runtime engine.

 
How to Profile Python Actions

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

#getActionInformation
Get Detailed Information about an Action via API

JavaScript source code of an action to get detail information about an action.

graffiti with a smiling piston
#getFQDN
Get Full Qualified Domain Name (FQDN)

JavaScript source code to detect the FQDN.

 
How to Profile Node Actions

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

 
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

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

graffiti with a smile
 
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

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

 
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 Development

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

graffiti with an image
 
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

Approach to run JShell with Java code.

 
Building a Python Runtime Environment with pyVmomi

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

 
Integrate Lua Scripting Language

Approach to execute Lua scripts seamlessly.

graffiti with a smile
#executeCommand
Execute Operating System Commands

Approach with advanced possibilities for executing operating system commands.

#vcSim
Installation and Testing vCenter API Simulator

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

#getOrchestratorVersion
Detect Orchestrator Version

JavaScript source code to detect the version of the Orchestrator.

 
Stopwatch Class

Time consumption measurement class for determining code execution times.

graffiti with wizard
 
Core Concepts Enhancements

Summary of possible programming language extensions.

 
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

Approach to store and to invoke TypeScript code seamlessly.

 
Integrate C# Programming Language

Approach to store and to invoke C# code seamlessly.

graffiti with parachuting elephant
 
Parallelization with Threads

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

 
Library to Emulate MimeAttachment Class

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

 
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.

 
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
graffiti with alien
 
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.

 
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 Emulation

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

 
Library to Emulate Command Class

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

graffiti with monkey
 
Unit Test Library for Actions

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

 
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

Tip to detect all properties of the all plugins.

 
Library to Emulate System Class

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

graffiti with eyes
 
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

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

 
Emulate getModule

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

 
Variablized Modules, a Blind Spot of Find Usages/Dependencies

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

graffiti with technician
#webAssembly
Use C / C++ Language via Node

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

#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

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

 
Temporary Data Storage in a PowerShell Container at Runtime

Tip to get access to the file system of a PowerShell container by using dotNET methods.

graffiti with a face
 
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

Listing of undocumented WorkflowItem classes.

#exportConfiguration
How to Export Orchestrator Configurations as JSON

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

 
How to use PowerShell Classes

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

graffiti with a person
 
Get Detailed Information about all Workflows

An action to generate XML information about all workflows.

 
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

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

 
Embed and use dotNET Assemblies in PowerCLI RTE

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

graffiti with a person
 
Information About the PowerCLI Infrastructure

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

#javaVersion
Set JavaScript Access to Java Classes

Fix for accessing Java classes.

 
Easier Way to Detect Rhino Engine Version

Tip to detect the used version of the Rhino engine.

#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 a motorcycle
 
Connect vCenter in HOL with PowerCLI

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

 
Get Objects of Inventory Hierarchy

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

 
Orchestrator in Dark Mode

Cosmetic tip to switch the Google Chrome or Microsoft Edge browser in dark mode and with it the web UI.

 
VCF Automation Architecture

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



meet me at github rss feed ©2024, private website by Stefan Schnell, all rights reserved.   imprint