IP Library Granted Patent US 11,630,705
Granted Patent B1
US 11,630,705 · App. 17/565,595 · Granted Apr 18, 2023

Dynamic generation of cloud platform application programming interface calls

Inventor: David Williams (Snohomish, WA)
Assignee: Virtustream IP Holding Company LLC
G06F9/5072G06F8/451G06F9/4416G06F9/44521G06F9/547
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,630,705
App. No.
17/565,595
Granted
Apr 18, 2023
Kind
B1
Abstract

An apparatus comprises a processing device configured to receive a request to execute an action on cloud assets of a cloud platform utilizing an application programming interface (API) exposed by the cloud platform, the request comprising a set of keyword arguments, and to generate a code class instance for the API. The processing device is also configured to instantiate, via the generated code class instance, a client for the cloud platform utilizing a first subset of arguments in the set of keyword arguments, to determine from the set of keyword arguments an identifier of the action to be executed, and to execute the action by running a function of the generated code class instance, the function dynamically generating an API call utilizing the instantiated client for the cloud platform, the determined identifier, and a second subset of arguments in the set of keyword arguments.

Claims (48)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

receiving a request to execute an action on one or more cloud assets of a cloud platform utilizing an application programming interface exposed by the cloud platform, the request comprising a set of keyword arguments;

generating a code class instance for the application programming interface exposed by the cloud platform;

instantiating, via the generated code class instance, a client for the cloud platform utilizing a first subset of arguments in the set of keyword arguments;

determining, from the set of keyword arguments, an identifier of the action to be executed on the one or more cloud assets of the cloud platform utilizing the application programming interface exposed by the cloud platform; and

executing the action on the one or more cloud assets of the cloud platform by running a function of the generated code class instance, the function dynamically generating an application programming interface call in the application programming interface exposed by the cloud platform utilizing the instantiated client for the cloud platform, the determined identifier, and a second subset of arguments in the set of keyword arguments.

2. The apparatus of claim 1 wherein the function of the generated code class instance is generic to each of a plurality of different application programming interface calls in the application programming interface exposed by the cloud platform.

3. The apparatus of claim 1 wherein the first subset of arguments in the set of keyword arguments comprises an identifier of the cloud platform application programming interface, an identifier of a given version of the cloud platform application programming interface, and a set of credentials for the cloud platform.

4. The apparatus of claim 1 wherein the first subset of arguments is removed from the set of keyword arguments subsequent to instantiating the client for the cloud platform.

5. The apparatus of claim 1 wherein running the function of the generated code class instance comprises:

storing the determined identifier in a separate variable; and

removing the determined identifier from the set of arguments.

6. The apparatus of claim 1 wherein running the function of the generated code class instance comprises cleaning the second subset of arguments in the set of keyword arguments, the second subset of arguments in the set of keyword arguments comprising remaining arguments in the set of keyword arguments other than the first subset of arguments and the determined identifier.

7. The apparatus of claim 6 wherein cleaning the second subset of arguments in the set of keyword arguments comprises removing any remaining arguments in the set of keyword arguments that have blank values.

8. The apparatus of claim 1 wherein running the function of the generated code class instance comprises:

creating a list by splitting the determined identifier based at least in part on one or more designated delimiter characters; and

iterating through the created list to generate a call for the function of the generated code class instance.

9. The apparatus of claim 8 wherein the one or more designated delimiter characters comprise periods.

10. The apparatus of claim 8 wherein iterating through the created list to generate a call for the function of the generated code class instance comprises:

setting a method variable to an identifier of the instantiated client for the cloud platform; and

for each entry in the created list, comparing an index value of a current entry in the list to a total number of entries in the created list.

11. The apparatus of claim 10 wherein iterating through the created list to generate a call for the function of the generated code class instance further comprises, responsive to the index value of the current entry in the list being less than a total number of entries in the created list minus one, appending the current entry of the created list to the method variable and incrementing the index value.

12. The apparatus of claim 10 wherein iterating through the created list to generate a call for the function of the generated code class instance further comprises, responsive to the index value of the current entry in the list being equal to a total number of entries in the created list minus one:

appending the current entry of the created list to the method variable; and

generating the call comprising (i) the method variable with the second subset of arguments in the set of arguments passed as parameters and (ii) an execution instruction.

13. The apparatus of claim 1 wherein the one or more cloud assets of the cloud platform comprise at least one of virtual computing resources and physical computing resources.

14. The apparatus of claim 13 wherein the request to execute the action on the one or more cloud assets of the cloud platform comprises at least one of:

a request to create a given one of the one or more cloud assets; and

a request to modify a configuration of the given one of the one or more cloud assets.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

receiving a request to execute an action on one or more cloud assets of a cloud platform utilizing an application programming interface exposed by the cloud platform, the request comprising a set of keyword arguments;

generating a code class instance for the application programming interface exposed by the cloud platform;

instantiating, via the generated code class instance, a client for the cloud platform utilizing a first subset of arguments in the set of keyword arguments;

determining, from the set of keyword arguments, an identifier of the action to be executed on the one or more cloud assets of the cloud platform utilizing the application programming interface exposed by the cloud platform; and

executing the action on the one or more cloud assets of the cloud platform by running a function of the generated code class instance, the function dynamically generating an application programming interface call in the application programming interface exposed by the cloud platform utilizing the instantiated client for the cloud platform, the determined identifier, and a second subset of arguments in the set of keyword arguments.

16. The computer program product of claim 15 wherein the function of the generated code class instance is generic to each of a plurality of different application programming interface calls in the application programming interface exposed by the cloud platform.

17. The computer program product of claim 15 wherein the one or more cloud assets of the cloud platform comprise at least one of virtual computing resources and physical computing resources, and wherein the request to execute the action on the one or more cloud assets of the cloud platform comprises at least one of: a request to create a given one of the one or more cloud assets; and a request to modify a configuration of the given one of the one or more cloud assets.

18. A method comprising:

receiving a request to execute an action on one or more cloud assets of a cloud platform utilizing an application programming interface exposed by the cloud platform, the request comprising a set of keyword arguments;

generating a code class instance for the application programming interface exposed by the cloud platform;

instantiating, via the generated code class instance, a client for the cloud platform utilizing a first subset of arguments in the set of keyword arguments;

determining, from the set of keyword arguments, an identifier of the action to be executed on the one or more cloud assets of the cloud platform utilizing the application programming interface exposed by the cloud platform; and

executing the action on the one or more cloud assets of the cloud platform by running a function of the generated code class instance, the function dynamically generating an application programming interface call in the application programming interface exposed by the cloud platform utilizing the instantiated client for the cloud platform, the determined identifier, and a second subset of arguments in the set of keyword arguments;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19. The method of claim 18 wherein the function of the generated code class instance is generic to each of a plurality of different application programming interface calls in the application programming interface exposed by the cloud platform.

20. The method of claim 18 wherein the one or more cloud assets of the cloud platform comprise at least one of virtual computing resources and physical computing resources, and wherein the request to execute the action on the one or more cloud assets of the cloud platform comprises at least one of: a request to create a given one of the one or more cloud assets; and a request to modify a configuration of the given one of the one or more cloud assets.

Assignments (2)
MERGER Recorded Sep 16, 2025
From: VIRTUSTREAM IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 072878/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: WILLIAMS, DAVID
To: VIRTUSTREAM IP HOLDING COMPANY LLC
Reel/Frame 058506/0291 →