vRealize Business for Cloud provides you a template in the DRL and XLS format to enter the configuration of your cloud provider in a specific format. Based on your preference, you can download the template file to enter your cloud provider pricing information for comparison in vRealize Business for Cloud. The DRL template file provides more flexibility.

Prerequisites

Verify that you have the required details of your cloud provider to update the DRL template.

Procedure

  1. Log in to the vRealize Automation interface at https://vRealize_Automation_host_name/vcac/org/tenant_URL by using credentials of a tenant administrator.
  2. Click the Administration tab.
  3. Click Business Management.
  4. Click Manage Hybrid & Public Cloud Connections.
  5. Select Cloud Providers for Comparison, and click the add option icon.
  6. To download the DRL template, in the Add Cloud Provider dialog box, click on the Click to download the cloud provider comparison template link.
  7. Extract the downloaded ZIP file and open the DRL file (ComparisonProviderTemplate.drl) using an editor (for example, Notepad).

    Each section in a DRL file is called as a rule. Each rule has a unique name. A DRL file can have two types of rules.

    Option

    Description

    Matching Rule

    Defines which configuration is mapped to a specific instance from the cloud provider.

    For example, the following Azure DRL specifies the instance that must be mapped to an instance.

    rule “Azure_matching_A0”   
        dialect “mvel"  
        no-loop true
        When    
            config : MatchingDetails( ramGb <= 0.75 && (cpuGhz * numOfCpu) <= 1.0)
        then
            config.addMatchingInstance("A0”);    
        End
    

    Where,

    • Azure_matching_A0 is the rule name.

    • when config : MatchingDetails( ramGb <= 0.75 && (cpuGhz * numOfCpu) <= 1.0) is the condition to map the workload to the instance type..

    • ramGb <= 0.75 and cpuGhz*numOfCpu <=1.0 is the condition to map to the instance type.

    • config.addMatchingInstance("A0”) is the name to represent instance type.

    • MatchingDetails is the object with multiple fields that match the user configuration per virtual machine.

    The MatchingDetails supports the following fields:

    • private Double ramGb;

    • private Integer numOfCpu;

    • private Double cpuGhz;

    • private Boolean enforcePhysicalIsolation;

    • private String instance;

    • private Integer reservation;

    • private String osGenericType;

    • private Long configId;

    • private List<String> possibleInstances;

    • private StoragePriceSummaryDetails storage;

    • private Double upTimePct;

    • private Double cpuUtilization;

    • private Double ramUtilization;

    • public void addMatchingInstance(String instanceName);

    Pricing Rule

    Determines the price for the matched instance type.

    For example, the following Azure DRL specifies how to price a matching instance.

    rule “Azure_pricing_A0_WINDOWS”   
        dialect "mvel"
        no-loop true
        when
            compute : ComputePriceDetails(instanceName == "A0" && osGenericType == "WINDOWS”)   
        then
            compute.setPrice(0.02,"PER_HOUR”);   
            compute.addAdditionalDetail("Price Plan",compute.getPricePlanLabel(),"”); 
        end
    

    Where,

    • Azure_pricing_A0_WINDOWS specifies how to price the Windows Azure Instance.

    • when compute : ComputePriceDetails(instanceName == "A0" && osGenericType == "WINDOWS”) is the condition of when to map the workload to this rule.

    • instanceName == "A0" is the name of the instance, which is A0 and the operating system, Windows or LINUX.

    • compute.setPrice(0.02,"PER_HOUR"); is defining the price per hour or month, which is 0.02 per each hour.

    • compute.addAdditionalDetail("Price Plan",compute.getPricePlanLabel(),"”); is the tool-tip or additional details.

    • ComputePricingDetails is the object with multiple fields that match the user configuration per virtual machine.

    The ComputePricingDetails supports the following fields:

    • private String instance;

    • private Integer pricePlan;

    • private String osGenericType;

    • private String region;

    • private StoragePriceSummaryDetails storage;

    • private Double reservationDiscount;

    • private Map<String, AdditionalDetails> additionalDetails;

    • private Double osLaborCost;

    • private Map<String, AdditionalPriceDetails> additionalPrices;

    • private boolean computeIncludesStorage;

    • private boolean ignoreInTotalSum;

    • private String providerRegion;

    • public void setPrice(Double price, String unit, String providerRegion);

    • public void addAdditionalDetail(String name, String value);

  8. Update the matching rule or the pricing rule in the DRL template to define the rule for calculating the price of the cloud provider.
  9. Save the updated DRL template file.
  10. Click the Browse to locate the file link and select your configuration file.
  11. Click Save to save your cloud provider details.
  12. To modify the pricing of the existing cloud provider, perform the following steps.
    1. Click the edit Edit account icon.
    2. Click the download current settings icon.
    3. Open the DRL file, make the required changes and save the file.
    4. Click the Browse to locate the file link and select your configuration file.
    5. Click Save to save your cloud provider details.

Results

Now, your cloud provider is added to vRealize Business for Cloud to compare the price against other cloud providers.