This page describes how to configure To display Azure billing data for resellers . For standard accounts see Display and their customers:
Abiquo can obtain Azure billing data
...
with
...
Install and configure billing packages
You will need a server with MariaDB running with access to the Abiquo API, Abiquo database, and public cloud providers.
...
Create the local billing databases for Azure and import schema
Code Block |
---|
mysql -e "create database arm_billing"
mysql -h -p -u arm_billing < /opt/abiquo-billing-arm/lib/app/schema.sql |
...
Grant privileges to a user for the local billing databases
Configure the billing packages, edit the config.yml file. By default for Azure, this is file is located at /opt/abiquo-billing-arm/config/config.yml and the following example file shows the values that you must replace.
Code Block |
---|
abiquo_database:
host: 10.10.10.36
user: user
password: password
port: 3306
billing_database:
host: 10.10.10.38
user: user
password: password
port: 3306
abiquo:
api_url: http://10.10.10.32/api
user: admin
password: xabiquo
seed: |
...
The billing database is the one you created in the above steps, so it can be hosted on localhost
"seed" is the name of a custom seed that encrypts the Abiquo database. Copy the custom seed into the same directory as the config.yml file for each provider
...
Configure CSP accounts
For reseller tenants that use a CSP account, do the following steps:
...
CSP resellers must give consent for the use of the CSP account in the platform. Contact Customer Service for more information
Create a CSP billing configuration file at the following location:
Code Block |
---|
/opt/abiquo-billing-arm/lib/app/config/csp.yml |
Add the billing credentials for the CSP subscription used by each reseller. Create a unique random string to use as a reseller key for each entry, which in this example is "4caba317".
Code Block |
---|
4caba317:
tenantId:
clientId:
clientSecret: ''
accessToken: ''
refreshToken: ''
resource: 'https://api.partnercenter.microsoft.com' |
...
- "OfferDurableID" with the value of tenant key in the format "CSP_ID_[UUID_key_from_csp.yml_file]". So from the above example, for the tenant with ID 4caba317, this would be CSP_ID_4caba317.
- "azurecompute-arm_discount" with the value of the discount applied by Azure to partner providers. To find the PVP, the values on the bills must be divided by (1- CSP_discount). The default is 0.15.
- "Currency", the default is "USD"
- "Locale", the default is "en-US"
- "RegionInfo", the default is "US", which is a two digit ISO code representing the country where you purchased the subscription
- For customers with Azure plans, add "onlyazuresubscriptionbill" with any value to indicate that an enterprise should not display the products and services that are invoiced to the customer
...
- "azurecompute-arm_price_factor" with the value of the discount or markup applied by the partner to the end user. The default value is 1
...
the credentials you enter when you configure Abiquo to:
Create a reseller with CSP pricing credentials; OR
Create an enterprise with compute or billing only credentials, with a
Contributor
role.
See Onboard an Azure CSP or AWS organization account.
Edit the CSP reseller enterprise and set the following enterprise properties:
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. We use the formula: total = TotalFromCSP/(1 - azurecompute-arm_discount). This is a required property
azurecompute-arm_currency_code: The default is
USD
. Three character currency code of the bill. Warning - this is different from currency_code used for conversion factor. This is a required propertybilling.azure.country_code: Two digit ISO code representing the country where you purchased the subscription. The default of
US
is set inabiquo.properties
on Remote Services asabiquo.billing.azure.country_code
.
Optionally, configure price factors for markups. See Manage price factors
Edit reseller customer enterprises and add this enterprise property:
azurecompute-arm_discount: Decimal value (with dot separator), used to calculate the user invoice for billing dashboard.
If the customer enterprise has Azure plans, they may have a keynode enterprise and several standard enterprises below it to use the plans credentials. Edit the standard enterprises and add this property.
azurecompute-arm_only_bill_subscription: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.
...
Abiquo properties for Azure billing data display
On the Abiquo Server, you can configure the following properties for Azure billing.
abiquo.enterprise.property.billing.monthoffset: By default, the platform will retrieve billing data for the last two months. To change this set the following property to the number of months to retrieve.
Default value:2
abiquo.azure.billing.parser.lineitem.publisher.ignore: By default, Abiquo will bill SaaS resources, such as a Twilio subscription, to the enterprise that the subscription is assigned to. This corresponds to the billing scope ID of a billing line item. To exclude products from specific publishers from Azure billing, add the following property, and enter a string of publishers to exclude from billing line items in CSV format. With the public-cloud-billing-check-tool for Azure, use the
--excludedPublishers
option. Default value:Microsoft Office
On the Remote Services, you can configure the following properties for Azure billing.
abiquo.billing.azure.country_code: For Azure price factors. Two digit ISO code representing the country where you will obtain the product list. Default value:
US
...