IP Library Granted Patent US 11,245,592
Granted Patent B1
US 11,245,592 · App. 16/789,778 · Granted Feb 8, 2022

Template validation for virtualized resources

Inventors: Laura Wingert Thomson (Seattle, WA); Venkat Srinath Vutphala (Bothell, WA); Laxman Kasyap Kolipaka (Bellevue, WA); Hamrit Sidhu (Seattle, WA); Anoop Kapoor (Seattle, WA); Ajit Gupta (Seattle, WA); Udit Sharma (Bellevue, WA); Wayne Davies (Cape Town, SA); Zac Jared Melnick (Cape Town, SA); Jean Anre Breytenbach (Cape Town, SA); Kevin Boardman (Cape Town, SA)
Assignee: AMAZON TECHNOLOGIES, INC.
H04L41/14H04L41/069H04L67/10G06F9/45533
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,245,592
App. No.
16/789,778
Granted
Feb 8, 2022
Kind
B1
Abstract

Various embodiments provide for the creation and validation of resource templates that may be used to provision or launch resources or resource instances. In various embodiments, a user can use values for various resource instance parameters to create a resource template, and can request validation of that template. A validation service can perform multiple validations, including independent validation of all template parameters, as well as validations of cross-parameter dependencies. If any errors are detected that cause the template to be invalid, information for those errors can be returned to the user such that the user can make the appropriate changes to enable the template to be valid. Templates can be re-validated at future times, such as at launch time or for use with a new service, to ensure the template remains valid under those circumstances.

Claims (54)

1. A computer-implemented method, comprising:

receiving a request to validate a launch template including a plurality of parameters to be used to launch a resource in a cloud computing environment;

generating, from the launch template, a dependency graph including the plurality of parameters as nodes connected by cross-parameter dependencies;

performing independent validation for the plurality of parameters;

performing, subsequent to the independent validation, dependent validation of the cross-parameter dependencies;

logging error information if an error is encountered during the independent validation or the dependent validation;

providing, in response to the request, indication as to whether the launch template is valid, an indication of invalidity being accompanied with the error information;

receiving an updated launch template accounting for the error information; and

causing validation to be performed for the updated launch template, after accounting for the error information.

2. The computer-implemented method of claim 1 , further comprising:

performing the dependent validation of the cross-parameter dependencies starting with one or more leaf nodes of the dependency graph.

3. The computer-implemented method of claim 1 , wherein the independent validation includes at least one of a validation of syntax, capacity, permission, or existence corresponding to a specified resource parameter.

4. The computer-implemented method of claim 1 , wherein the request is received through a template management console or an application programming interface (API).

5. The computer-implemented method of claim 1 , wherein the resource is one of a storage volume, a compute instance, and a network interface to be launched in a resource provider environment.

6. A computer-implemented method, comprising:

performing independent validation of parameters of a resource launch template;

performing dependent validation of cross-parameter dependencies of the resource launch template;

providing indication as to whether the resource launch template is valid, wherein the indication includes information for one or more errors if the resource launch template is determined to be invalid;

receiving an updated launch template accounting for the one or more errors; and

causing validation to be performed for the updated launch template.

7. The computer-implemented method of claim 6 , further comprising:

generating a dependency graph from the resource launch template, the dependency graph including nodes, corresponding to the parameters, connected by the cross-parameter dependencies.

8. The computer-implemented method of claim 7 , further comprising:

performing the dependent validation starting at leaf nodes of the dependency graph; and

continuing to attempt to perform the dependent validation if one or more parameters or cross-parameter dependencies are determined to be invalid.

9. The computer-implemented method of claim 6 , further comprising:

performing additional validation of at least one permission or service associated with the resource launch template.

10. The computer-implemented method of claim 6 , further comprising:

logging error information for the one or more errors during at least one of the independent validation or the dependent validation.

11. The computer-implemented method of claim 6 , further comprising:

providing, with the information for one or more errors, one or more recommendations for correcting the one or more errors.

12. The computer-implemented method of claim 11 , further comprising:

performing a revalidation of the resource launch template after the correcting of the one or more errors.

13. The computer-implemented method of claim 6 , further comprising:

receiving a request to launch a resource instance using the resource launch template; and

performing a revalidation of the resource launch template.

14. The computer-implemented method of claim 6 , wherein the independent validation of parameters includes validating at least one of syntax, capacity, permission, or existence.

15. The computer-implemented method of claim 6 , wherein the dependent validation of cross-parameter dependencies includes determining whether values of two or more of the parameters are valid together for a resource instance to be launched using the resource launch template.

16. A system, comprising:

at least one processor; and

memory including instructions that, upon being executed by the at least one processor, cause the system to:

perform independent validation of parameters of a resource launch template;

perform dependent validation of cross-parameter dependencies of the resource launch template;

provide indication as to whether the resource launch template is valid, wherein the indication includes information for one or more errors if the resource launch template is determined to be invalid;

receive an updated launch template accounting for the one or more errors; and

cause validation to be performed for the updated launch template.

17. The system of claim 16 , wherein the instructions when executed further cause the system to:

generate a dependency graph from the resource launch template, the dependency graph including nodes, corresponding to the parameters, connected by the cross-parameter dependencies.

18. The system of claim 17 , wherein the instructions when executed further cause the system to:

perform the dependent validation starting at leaf nodes of the dependency graph.

19. The system of claim 17 , wherein the instructions when executed further cause the system to:

log error information for the one or more errors during at least one of the independent validation or the dependent validation.

20. The system of claim 19 , wherein the instructions when executed further cause the system to:

provide, with the information for one or more errors, one or more recommendations for correcting the one or more errors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2020
From: THOMSON, LAURA WINGERT; VUTPHALA, VENKAT SRINATH; KOLIPAKA, LAXMAN KASYAP; SIDHU, HAMRIT; KAPOOR, ANOOP; GUPTA, AJIT KUMAR; SHARMA, UDIT; DAVIES, WAYNE; MELNICK, ZAC JARED; BREYTENBACH, JEAN ANRE; BOARDMAN, KEVIN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 051810/0840 →
Cited By (5)
US 12,238,105 US 12,242,830 US 12,524,609 US 12,705,158 US 12,711,182