Configure public cloud reseller accounts
Before you do these steps, first create the reseller tenant and organization hierarchy. See Organization hierarchy in hybrid cloud
Add public cloud credentials for resellers
To work with a public cloud region, each enterprise should have its own public cloud account for each cloud provider. All the users in the tenant will work with this same account.
Privilege: Manage provider credentials
Before you begin:
Obtain credentials to access the cloud provider's API. For Abiquo's basic guides, see Obtain public cloud credentials. Always check your provider documentation too.
To add public cloud credentials:
- Go to Users → select and edit enterprise → Credentials → Public
- Enter the Credentials as described here
- Select the Provider: Some providers may require different credentials for groups of regions
Enter Access key ID: Identity to access the cloud provider API
For Azure enter subscription-id#app-id#tenant-id
For Google enter project_id#client_id#client_email#private_key_id
For OCI enter format is tenancy#user#fingerprint
Enter Secret access key
For OCI enter the private key in PEM format.
See GUI Edit enterprise Credentials - Click Add account. The platform will validate your credentials with the cloud provider and save them
Finish editing the enterprise and click Save
This will add a cloud provider account for a tenant enterprise with access to a public cloud region.
In resellers with Amazon, Azure ARM, and other partner accounts, to create a customer account in the provider and add it to an enterprise in the platform, click the enterprise building Create account button. See Create an account in public cloud for the customer of a reseller
Synchronize public cloud price lists
The platform can import hardware profile prices from public cloud for use in pricing.
- The prices are for Linux instances with no pre-installed software
- For AWS, the only currency available is US dollars.
Before you begin:
- Check that there is a public cloud region for the provider. See Create a public cloud region.
- Check that the tenant has a pricing model assigned. See Create a new pricing model
- For Amazon regions, use US Dollars as the currency
- Obtain credentials to retrieve pricing information from the provider
- For AWS pricing, an IAMS user must have the AWSPriceListServiceFullAccess permission. You can add the permission to the regular public cloud user account or create a separate user. See Obtain AWS credentials
For Azure, see Obtain Azure ARM credentials.
Tenant type Format_of_Access_ Key_ID_for Pricing_____ Secret access key Notes Standard account
normal#subscription-id#app-id#tenant-id#offer-durable-id
OR
subscription-id#app-id#tenant-id#offer-durable-idApplication secret key Add the text string "normal#" as a prefix to the pricing credentials. To facilitate upgrades, existing credentials will remain valid CSP account owner csp#tenantId#accessToken#refreshToken Application secret key You MUST add the text string "csp#" as a prefix to the credentials Customer of CSP - - Do not enter credentials because the platform will use the CSP credentials
To retrieve the hardware profile prices:
- Add pricing credentials for the tenant
- From the username menu go to Edit credentials or go to Users → edit enterprise
- Go to Credentials → Public (for compute or for combined credentials in Amazon) or Pricing (for separate credentials)
- Enter the credentials
If the tenant is a CSP and/or reseller, go to Edit enterprise → Properties and enter the following properties with appropriate values:
azurecompute-arm_discount=0.2 amazon_discount=0
Note that CSP accounts return the prices with the discount factor applied, so the platform will not apply it again.
To configure a custom suffix of the discount properties, set abiquo.enterprise.property.discount.suffix in abiquo.properties. See Abiquo Configuration Properties#enterprise.If the tenant is a customer of the CSP and/or reseller, go to Properties and enter the following properties with appropriate values:
azurecompute-arm_price_factor=1.25 amazon_price_factor=1.17
To configure a custom suffix of the price factor properties, set abiquo.enterprise.property.pricefactor.suffix in abiquo.properties. See Abiquo Configuration Properties#enterprise.
- When you save the tenant, if the pricing credentials are present, the platform will retrieve the prices.
To display and edit the prices of public cloud hardware profiles:
- Go to Pricing → edit pricing model.
- Go to Resource Prices → select the public cloud region
- For each hardware profile, enter a New price as required
- Click Save
The platform will update the hardware profile prices from the public cloud provider every 24 hours.
- To set a custom interval, set abiquo.pricing.import.check.delayInHrs in abiquo.properties. See Abiquo Configuration Properties#pricing
- To prevent the platform from updating the prices from the public cloud provider, remove the pricing credentials
Create an account in public cloud account for the customer of a reseller
The Create accounts feature for public cloud is for resellers with AWS partner and Azure CSP accounts.
- For Azure, you can configure some default values for customer accounts and so on in the Abiquo properties. See Abiquo Configuration Properties#azure
- For AWS, to ensure that the permissions are ready for the new account, you can configure the waitforassumerole and sleepbeforetry properties. See Abiquo Configuration Properties#amazon
To create accounts for a reseller customer:
- Edit the enterprise, go to Credentials
- The enterprise must have the Azure CSP or AWS partner credentials
- For Azure, the account must have the User Administrator role to create users and the Owner role to assign roles.
- For AWS, for the policies to assign to an account, see AWS account policies
- For vCloud, the user must be an Organization Administrator
- The enterprise must have the Azure CSP or AWS partner credentials
- Click the building Create account button
- Enter the customer details for the provider.
AWS
For more details see GUI Create account AWS
Azure
For more details see GUI Create account Azure
Abiquo will automatically create the account in the cloud provider and add the credentials to the reseller customer's enterprise.
Display Amazon billing data
This section describes how to configure Amazon billing data for resellers. For standard accounts see Display Amazon billing data for standard accounts
To configure AWS to supply billing data, do the following steps.
Create an S3 bucket, for example, "costandusagebillingreport"
- Within the bucket, create a folder where AWS will store your reports. Give it the name of your report, for example "costandusagebillingreport"
Note the billing bucket name, for example, "costandusagebillingreport"
- Create a new user, such as "programmaticbilling" to create the reports
- Assign the AmazonS3ReadOnlyAccess policy
Activate the IAM user's access to billing information. See https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/control-access-billing.html
Optionally configure legacy billing reports
Go to Billing → Billing preferences
Open the Detailed Billing Reports [Legacy] section
Select the option to Turn on the legacy Detailed Billing Reports feature to receive ongoing reports of your AWS charges
Click Configure and enter your S3 bucket details
- Select all of the available reports including
- Monthly report
- Detailed billing report
- Cost allocation report
- Detailed billing report with resources and tags
Click Save preferences
Configure Cost & Usage Reports
Go to Cost & Usage Reports
Enter the Report name, which you will need to enter in Abiquo later, then click Next
- Click Configure and select the S3 bucket. Click Next, then select I have confirmed that this policy is correct.
- By default, Amazon will put the reports in a folder with the name format "/report-name/date-range/". Note this as the value for the report prefix in Abiquo. Click Next
- Review your configuration and check that the following parameters are set:
- bucket name
- path (folder/subfolder)
- time detail: Hourly
- GZIP or ZIP format
The AWS account with credentials to use in Abiquo should have the following permissions
Type Privileges Resources Price list Full access All resources S3 Full: list, read Multiple
To configure billing dashboards in Abiquo for resellers, do these steps.
- The Abiquo users should have the privileges to Display hybrid dashboard tab, View bills, and optionally to Display VM cost view widget (hybrid tab)
In Abiquo, edit the reseller enterprise and create the following enterprise properties
Property Description Previous name Migration for v5.2.0 amazon_bucket Name of the S3 bucket where Amazon stores billing data.
Change value for v5.2.0. This was previously reseller ID in the yaml configuration file.
billing_bucket Enter the new value amazon_report_name amazon_bucket/amazon_bucket_prefix/amazon_report_name/file.csv report_name amazon_bucket_prefix amazon_bucket/ amazon_bucket_prefix /amazon_report_name/file.csv report_prefix amazon_billing_compress_format
Compression format of the billing report file: ZIP or GZIP
- amazon_price_factor Default provider markup for customer enterprises with no value - amazon_mpa Set to "dedicated" or "no" to use blended costs.
If not present or "shared", use unblended costs- amazon_discount Discount you have agreed on with Amazon. Typical values are 0.03, 0.02 or similar. - In Abiquo, edit the enterprises of the customers of the reseller and create the following property. You can also set the default value in the reseller.
Property
Description
Previous name Migration for v5.2.0 amazon_price_factor Markup or discount applied by the partner to their customer.
The default value is 1.-
Display Azure billing data
This page describes how to configure Azure billing data for resellers with CSP accounts.
- For standard accounts see Display Azure billing data for standard accounts.
The platform populates the billing dashboard with data from the cloud provider, so you will need to allow programmatic access to billing in the cloud provider.
- After you configure this feature, the platform may take up to 2 days to display data in the Estimated bill section of the Hybrid dashboard.
To display billing data for reseller tenants and their customers, do these steps:
CSP resellers must give consent for the use of the CSP account in the platform. Contact Customer Service for more information.
The consent process will generate the accessToken and the refreshToken, which are part of the pricing credentials.By default, the platform will retrieve billing data for the last two months. To change this value, on the Abiquo Server, edit the abiquo.properties file and add the following property with the number of months to retrieve:
abiquo.enterprise.property.billing.monthoffset=2
In Abiquo, edit the reseller enterprise and create the enterprise properties:
Property Description Previous value Migration azurecompute-arm_discount
Decimal value (with dot separator), used to calculate the user invoice for billing dashboard.
CSP APIs return prices with a discount applied, which we remove to display for customers.
This is done using the formula total = TotalFromCSP/(1 - azurecompute-arm_discount )- azurecompute-arm_price_factor
Default value for enterprises that do not have this value in their hierarchy.
Also used to calculate the user invoice for billing dashboard.
Also used for retrieving hardware profile prices from the provider.
The platform will apply changes to the price factor in the next billing period.- azurecompute-arm_currency_code
Default is "USD". Three character currency code of the bill. WARNING! Different from currency_code used for conversion factor
Currency billing.azure.country_code
Two digit ISO code representing the country where you purchased the subscription.
The default of "US" is set in abiquo.properties in Remote Services as abiquo.billing.azure.country_code.
So you only need to set this enterprise property to change the default value.RegionInfo - The following properties are deprecated in Abiquo 5.2.0 and the upgrade process will remove them:
- OfferDurableID
- Locale
For reseller customers, edit the enterprise and create the following properties:
Property Description Previous value Migration azurecompute-arm_discount
Decimal value (with dot separator), used to calculate the user invoice for billing dashboard.
- azurecompute-arm_price_factor
The value of the discount or markup applied by the partner to the end user.
The default value is 1.- For reseller customers with Azure plans under “CSP” subscriptions, create the following properties:
Property Description Previous value Migration azurecompute-arm_only_bill_subscription For Azure plans under CSP accounts only.
If this property is "true", for an Azure plan, only bill for usage -
do not include the customer's products and services in the billing data for this enterprise.New - - For any reseller customer that will not use the compute features of the provider, to display data on the Billing dashboard, enter compute Credentials on the Public tab in the format Subscription##TenantId.
See Add credentials of reseller customers for billing only. - In Abiquo, edit the reseller enterprise and go to Credentials → Pricing and add the Pricing credentials,
- In Abiquo, users will require the privileges to Display hybrid dashboard tab and View bills. See Configure dashboard display
Display Google Cloud Platform billing data
This page describes how to configure Google Cloud Platform billing data for display on the dashboard of the Abiquo multi-cloud platform.
- To configure Google to supply billing data, follow Google documentation to set up billing data export.
See https://cloud.google.com/billing/docs/how-to/export-data-bigquery-setup
This will require permissions to administer the account.
To summarize, you can go to the Google console → BigQuery → select the Project and create a dataset, for example, "billingDatasetId". Note the name of your billing dataset. - Check that the service account for Abiquo has the "Big Query Viewer" role
- Log in to Abiquo and edit the Abiquo enterprise
Go to Properties and enter the properties as described here.
Property Description dataset_id Name of your billing dataset, e.g. billingDatasetId googleCloudPlatform_price_factor Optional markup property googleCloudPlatform_discount Optional discount property - If you already entered the compute credentials but did not mark Also use for pricing, go to Credentials→ Pricing and enter them in the following format:
- Access key ID: project_id#client_id#client_email#private_key_id
- Secret access key: private_key
Configure billing dashboard
By default, the billing data does not display on the Hybrid tab.
To enable the display of the billing details on the Hybrid tab, configure billing dashboards and assign the following privileges to user roles:
Configure billing charts
To configure the billing charts, use UI configuration properties. For example:
- Number of months to display bills for
- The currency conversion factors for billing dashboards
- Provider list with complete friendly names
For UI configuration properties documentation, see Configure Abiquo UI
Configure billing data
If there is no data, the Billing sections will not display.
To configure the scripts to obtain data for the billing sections on the Hybrid tab, see Display cloud provider billing data.
Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved