Books & Videos

Table of Contents

  1. Working with CloudForms Automate

    1. Chapter 1 Introduction to CloudForms

      1. What Is CloudForms?
      2. Providers
      3. The Capabilities of CloudForms
      4. The CloudForms Appliance
      5. Projects, Products, and Some History
      6. Summary
    2. Chapter 2 Introduction to the Automate Datastore

      1. The Automate Explorer
      2. The Automate Datastore
      3. Domains
      4. Namespaces
      5. Classes
      6. Instances
      7. Methods
      8. Summary
    3. Chapter 3 Writing and Running Our Own Automation Scripts

      1. Creating the Environment
      2. Hello, World!
      3. Running the Instance
      4. Exit Status Codes
      5. Summary
    4. Chapter 4 Using Schema Variables

      1. Preparing the Schema
      2. The Instance
      3. The Method
      4. Running the Instance
      5. Summary
    5. Chapter 5 Working with Virtual Machines

      1. Custom Attributes
      2. Creating the Service Dialog
      3. Creating the Instance and Method
      4. Running Automation Scripts from a Button
      5. Summary
    6. Chapter 6 Peeping Under the Hood

      1. A Little Rails Knowledge (Goes a Long Way)
      2. Service Models
      3. Service Model Object Properties
      4. Distributed Ruby
      5. Summary
    7. Chapter 7 $evm and the Workspace

      1. $evm.log
      2. $evm.root
      3. $evm.object, $evm.current, and $evm.parent
      4. $evm.vmdb
      5. $evm.execute
      6. $evm.instantiate
      7. Summary
    8. Chapter 8 A Practical Example: Enforcing Anti-Affinity Rules

      1. Task
      2. Solution
      3. Summary
    9. Chapter 9 Using Tags from Automate

      1. Creating Tags and Categories
      2. Assigning and Removing Tags
      3. Testing Whether an Object Is Tagged
      4. Retrieving an Object’s Tags
      5. Searching for Specifically Tagged Objects
      6. Getting the List of Tag Categories
      7. Getting the List of Tags in a Category
      8. Finding a Tag’s Name, Given Its Description
      9. Finding a Specific Tag (MiqAeServiceClassification) Object
      10. Deleting a Tag Category
      11. Summary
    10. Chapter 10 Investigative Debugging

      1. InspectMe
      2. object_walker
      3. Rails Console
      4. Rails db
      5. Summary
    11. Chapter 11 Ways of Entering Automate

      1. Buttons and Simulation
      2. RESTful API
      3. Control Policy Actions
      4. Alerts
      5. Service Dialog Dynamic Elements
      6. Finding Out How Our Method Has Been Called
      7. Summary
    12. Chapter 12 Requests and Tasks

      1. The Need for Approval
      2. Request and Task Objects
      3. Approval
      4. Object Class Ancestry
      5. Context
      6. Object Contents
      7. Summary
    13. Chapter 13 State Machines

      1. Building a State Machine
      2. State Variables
      3. State Machine Enhancements in CloudForms 4.0
      4. Saving Variables Between State Retries
      5. Summary
    14. Chapter 14 More Advanced Schema Features

      1. Messages
      2. Assertions
      3. Collections
      4. Summary
    15. Chapter 15 Event Processing

      1. Event Processing Component Parts
      2. Catching and Handling External Events
      3. Creating and Processing Internal Events
      4. Event-Initiated Automation Request Workflows
      5. Extending Automate Event Handling
      6. Summary
      7. Next Steps
  2. Provisioning Virtual Machines

    1. Chapter 16 Provisioning a Virtual Machine

      1. The Provisioning Process
      2. Group-Specific Considerations, and Common Processing
      3. Summary
    2. Chapter 17 The Provisioning Profile

      1. Location
      2. Schema
      3. Customizing the Profile
      4. Profile Processing in Detail
      5. Summary
    3. Chapter 18 Approval

      1. Approval Workflow
      2. Overriding the Defaults
      3. VM Provisioning–Related Email
      4. Summary
    4. Chapter 19 Quota Management

      1. Quotas in Cloudforms 4.0
      2. Quota Workflow
      3. Summary
    5. Chapter 20 The Options Hash

      1. Request Object (miq_provision_request)
      2. Task Object (miq_provision)
      3. Correlation with the Provisioning Dialog
      4. Adding Our Own Options: The ws_values Hash
      5. Summary
    6. Chapter 21 The Provisioning State Machine

      1. State Machine Schema
      2. Filling in the Blanks
      3. Summary
    7. Chapter 22 Customizing Virtual Machine Provisioning

      1. Scenario
      2. Task
      3. Methodology
      4. Summary
    8. Chapter 23 Virtual Machine Naming During Provisioning

      1. VM Name-Related Provisioning Options
      2. Name Processing
      3. Customizing the Naming Process
      4. Summary
    9. Chapter 24 Virtual Machine Placement During Provisioning

      1. Placement Methods
      2. Method Description
      3. Customising Placement
      4. Summary
    10. Chapter 25 The Provisioning Dialog

      1. Tabs and Input Fields
      2. Dialog YAML
      3. Selection of VM Provisioning Dialog
      4. Group-Specific Dialogs
      5. Summary
    11. Chapter 26 Virtual Machine Provisioning Objects

      1. Object Overview
      2. The Provision Request Object
      3. The Provision Task Object
      4. The Source Object
      5. The Destination Object
      6. Summary
    12. Chapter 27 Creating Provisioning Requests Programmatically

      1. Making the Call
      2. Argument List
      3. Setting Placement Options
      4. Summary
    13. Chapter 28 Integrating with Satellite 6 During Provisioning

      1. Hosts and Content Hosts
      2. The Satellite 6 Host Entry
      3. Non-CloudForms Preparation
      4. Installing and Configuring Ansible on the CloudForms Appliance
      5. Modifying the CloudForms Provisioning Workflow
      6. Testing the Integration: Provisioning a New VM
      7. Summary
  3. Working with Services

    1. Chapter 29 Service Dialogs

      1. Dialog Elements
      2. Dynamic Elements
      3. Read-Only and Protected Elements
      4. Element Validation
      5. Using the Input from One Element in Another Element’s Dynamic Method
      6. Summary
    2. Chapter 30 The Service Provisioning State Machine

      1. Class and Instances
      2. Passing Service Dialog Options to the Child and Grandchild Tasks
      3. Accessing the Service Dialog Options
      4. Summary
    3. Chapter 31 Catalog{Item,Bundle}Initialization

      1. CatalogItemInitialization
      2. CatalogBundleInitialization
      3. Summary
    4. Chapter 32 Approval and Quota

      1. Triggering Events
      2. Approval
      3. Quota
      4. Summary
    5. Chapter 33 Creating a Service Catalog Item

      1. The Service Dialog
      2. Creating the Service Catalog Item
      3. Ordering the Catalog Item
      4. Summary
    6. Chapter 34 Creating a Service Catalog Bundle

      1. Creating the Service Dialog for the Bundle
      2. Preparing the Service Catalog Items
      3. Creating the Service Catalog Bundle
      4. Ordering the Catalog Bundle
      5. Summary
    7. Chapter 35 Service Objects

      1. Object Structure
      2. Summary
    8. Chapter 36 Log Analysis During Service Provisioning

      1. Initial Request
      2. Profile Lookup
      3. Request Processing and Approval
      4. Service Template Provisioning Tasks
      5. VM Provisioning Task
      6. Service State Machine CheckProvisioned
      7. VM State Machine CheckProvisioned
      8. Virtual Machine Provision Complete
      9. Service Provision Complete
      10. Summary
    9. Chapter 37 Service Hierarchies

      1. Organizing Our Services
      2. Adding VMs and Services to Existing Services
      3. Summary
    10. Chapter 38 Service Reconfiguration

      1. Reconfigure Entry Point
      2. Service Design
      3. Adding a Configuration Management Provider
      4. Automate Datastore Components
      5. Modifying the VM Provision Workflow
      6. Service Dialog
      7. Instances and Methods
      8. Testing
      9. Summary
    11. Chapter 39 Service Tips and Tricks

      1. Test Virtual Machine Provisioning First
      2. Re-create the Service Item if the Template Changes
      3. Custom State Machines
      4. Summary
  4. Retirement

    1. Chapter 40 Virtual Machine and Instance Retirement

      1. Initiating Retirement
      2. Retirement-Related Attributes and Methods
      3. VM Retirement State Machine
      4. Summary
    2. Chapter 41 Service Retirement

      1. Defining a Service Retirement Entry Point
      2. Initiating Retirement
      3. Retirement-Related Attributes and Methods
      4. Service Retirement State Machine
      5. Summary
  5. Integration

    1. Chapter 42 Calling Automation Using the RESTful API

      1. API Entry Point
      2. Returning Results to the Caller
      3. Authentication and auto_approve
      4. Zone Implications
      5. run_via_api
      6. Summary
    2. Chapter 43 Automation Request Approval

      1. Implementing a Custom Approval Workflow
      2. Policies
      3. Testing
      4. Summary
    3. Chapter 44 Calling External Services

      1. Calling a SOAP API Using the Savon Gem
      2. Calling an OpenStack API Using the fog Gem
      3. Reading from a MySQL Database Using the MySQL Gem
      4. Summary
  6. Miscellaneous

    1. Chapter 45 Distributed Automation Processing

      1. Nondistributed Automation Operations
      2. Distributed Automation Operations
      3. Tracing Queueing/Dequeueing Operations
      4. Detailed Queue Analysis
      5. Troubleshooting
      6. Summary
    2. Chapter 46 Argument Passing and Handling

      1. Case 1: Calling from a Button
      2. Case 2: Calling from the RESTful API
      3. Case 3: Calling from a Relationship or Automate Datastore URI
      4. Case 4: Passing Arguments via the ws_values Hash During a VM Provision
      5. Passing Arguments When Calling a Method in the Same Class
      6. Summary
    3. Chapter 47 Miscellaneous Tips

      1. Updating the Appliance
      2. The ManageIQ Coding Style and Standards Guide
      3. Defensive Programming
      4. Catch Exceptions
      5. Use an External IDE
      6. Version Control
      7. Use Configuration Domains
      8. Summary