4. RBAC
Automate Methods should only be allowed to see objects that
they can access based on Tenant.
Backward Compatibility
● Enable RBAC $evm.enable_rbac
● Disable RBAC $evm.disable_rbac
● Query RBAC $evm.rbac_enabled?
Default Setting
● Disabled
6. METHOD::
● Optionally allows a state field to directly contain a method
● Methods can be stored in the same class
Advantages
● Don’t need method instances to accompany each method
● Reduces the number of instances in the Automate
Database
9. .missing - (instance_name)
The .missing instance contains default values for use when
an instance is not found.
● A new attribute _missing_instance contains the name of
the original instance
● Can be used in substitution e.g ${#_missing_instance}
● This attribute is only available on the .missing instance
13. Git Integration
● Import an Automate Domain from Git Repositories
● User can select a Branch or Tag
● Automate Model stored in Postgres DB and shared between
appliances
● Branches and Tags stored in Postgres DB
● Domains are locked
● Sync overwrites existing domain
14. ● A single appliance acts as a Git Owner
● Refresh and Import calls get routed to the Git Owner
Appliance
● Rest API call to initiate domain updates
Git Integration
17. Expression Method
New Automate Method that uses Expressions
● Expression Method runs inside the Automate Engine
● Ideal for Dynamic Dialogs
● Results can be processed as Hash, Array
● RBAC enforced
● Expression stored in Automate model
● Works on a single database object
Advantages:
● Performance - No DRb overhead
22. Email Consolidation
● Uses a single built-in method
● Define email parameters in instance
● Fetch values from config object
● Default implementation does not require scripts
27. New features to support Consolidated Email
● Null Coalescing Operator
● Substitution support for methods with arguments
● Accessing VMDB Objects from model
28. Null Coalescing Operator
● Multiple String values separated by “||”
● Evaluated on new attribute data type “Null Coalescing”
● Order dependent, left to right evaluation
● First non-blank value is used
● Skip and warn about missing objects
e.g.
${/#owner.email} || ${/#miq_request.get_option(:owner_email)} ||
${/#miq_request.requester.email} || ${/#config.to_email_address}
31. Accessing VMDB objects
● Class Schema allows for the following new data types
○ EMS (Provider)
○ Host
○ Policy
○ Provision
○ Request
○ Server
○ Storage
○ User
○ VM (or Template)
32.
33. Enhanced State Machine Messaging
● Adopted Kevin Morey’s update_provision_status method enhancements
Sample
34. State Machine Runtime Statistics
● Record the following stats when we execute a state
○ Start Time
○ End Time
○ Number of Retries
○ Status (ok/retry/warn/error)
○ Server IDs where it was executed
● State Machine Visualizer
○ During execution
35. Additional Items
● Custom Button Multi Select
○ Allow user to select multiple items (vm, host, …)
● Rest Integration
○ RBAC
● Running automate methods inside a docker container
○ Security
● Schedule Automate Tasks
○ Schedule Automate Tasks from UI