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 03.11.2024

 
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.

 
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.

graffiti with a person that reads a how to
 
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.

 
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.

graffiti with a smiling fish
 
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.

 
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.

graffiti with a smiling snake
 
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.

#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.

graffiti with a smiling piston
 
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.

 
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.

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

 
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.

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

#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.

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

 
Core Concepts Enhancements

Summary of possible programming language extensions.

 
Execute Workflow from Action

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

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

 
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.

graffiti with parachuting elephant
 
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
 
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.

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

 
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.

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

 
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.

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

#webAssembly
Use C / C++ Language via Node

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

 
Use Java Classes without Shutter File

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

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

 
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.

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

 
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.

graffiti with a person
 
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.

 
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

Fix for accessing Java classes.

graffiti with a person
 
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).

 
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.

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