AWS Marketplace Metering Service is a usage and billing service that allows AWS Marketplace sellers to report the usage of their products for billing purposes. This service supports both software-as-a-service (SaaS) products and metering products sold through AWS Marketplace.
The ballerinax/aws.marketplace.mpm
package provides APIs to interact with the AWS Marketplace Metering Service,
enabling developers to submit usage records, batch meter usage data, and manage metering-related tasks programmatically.
Before using this connector in your Ballerina application, complete the following:
- Create an AWS account
- Obtain tokens
To use the aws.marketplace.mpm
connector in your Ballerina project, modify the .bal
file as follows:
Import the ballerinax/aws.marketplace.mpm
module into your Ballerina project.
import ballerinax/aws.marketplace.mpm;
Create a new mpm:Client
by providing the access key ID, secret access key, and the region.
configurable string accessKeyId = ?;
configurable string secretAccessKey = ?;
mpm:Client mpm = check new(region = mpm:US_EAST_1, auth = {
accessKeyId,
secretAccessKey
});
Now, utilize the available connector operations.
mpm:ResolveCustomerResponse response = check mpm->resolveCustomer("<registration-token>");
Use the following command to compile and run the Ballerina program.
bal run
-
Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOME
environment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test
-
To build the without the tests:
./gradlew clean build -x test
-
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
aws.marketplace.mpm
package. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.