Modules

artemis

This module provides the capability to connect with a ActiveMQ Artemis broker using the Core API.

auth

This module provides default authentication provider configurations that can be extended to create new authentication providers.

builtin
cache

This module offers a cache that supports time-based eviction, and size-based eviction. This means that entries are removed from the cache once the expiry time has elapsed (i.e., time-based eviction), or when the cache runs out of space (i.e., size-based eviction). Caching is useful when a value takes significant cost or time to compute and retrieve, and it is therefore useful to cache it for future use.

config

The ballerina/config module provides the Config API to read configurations from environment variables, TOML files, and command-line parameters, and build a consolidated set of configurations.

crypto

This module provides the necessary utilities that are required to hash content using different hashing mechanisms and algorithms.

encoding

This module provides the necessary utilities that are required to encode and decode content using different encoding mechanisms and algorithms.

file

This module contains services that register listeners against a local folder and identify events that create, modify, and delete files.

filepath

The file path module implements the utility functions for manipulating the file path in a way that is compatible with the target operating system. This module uses either forward slashes or backslashes, depending on the operating system.

grpc

This module contains functions to support gRPC protocol based communication. gRPC is a framework developed by Google to support the RPC (Remote Procedure Call) protocol. The gRPC protocol is layered over HTTP/2. This protocol only supports client-initiated communication.

h2

This module provides the functionality that is required to access and manipulate the data stored in an H2 database.

http

This module provides an implementation for connecting and interacting with HTTP, HTTP2, and WebSocket endpoints. The module facilitates two types of endpoints as ‘Client’ and ‘Listener’.

internal
io

This module is designed to support input and output operations via channels in a canonical way, either in a blocking, or non-blocking manner.

jms

The ballerina/jms module provides an API to connect to an external JMS provider like Ballerina Message Broker or ActiveMQ.

jwt

This module provides a inbound and outbound JWT authentication provider, which can be used to authenticate using a JWT and the functionality related to issuing a JWT and validating it.

ldap

This module provides inbound LDAP authentication provider, which can be used to authenticate using LDAP credentials.

llvm
log

This module provides a basic API for logging.

math

This module provides functions to perform fixed-precision integer arithmetic and fixed-precision decimal arithmetic. It includes functions to get the absolute, cosine, sine, root, tangent, and more for a given value.

mime

This module provides functions to encapsulate multiple body parts, such as attachments in a single message. The communication of such messages follow the MIME (Multipurpose Internet Mail Extensions) specification as specified in the RFC 2045 standard.

mysql

This module provides the functionality that is required to access and manipulate the data stored in a MySQL database.

nats

'ballerina/nats' provides the capability to connect with a NATS server and perform the following

oauth2

This module provides an inbound and outbound OAuth2 authentication provider, which can be used to authenticate the provided credentials against an introspection endpoint and authenticate with an external endpoint.

observe

This module provides apis for observing Ballerina services. Ballerina supports Observability out of the box. This module provides user api's to make Ballerina Observability more flexible for the user.

openapi

This module provides the following code generation capabilities to Ballerina:

privacy

The privacy module acts as the foundation in making the Ballerina a privacy-aware programming language. The module provides the required utility functions that allow pseudonymization, de-pseudonymization, and deletion of Personally Identifiable Information (PII).

rabbitmq

'ballerina/rabbitmq' provides the capability to connect with a RabbitMQ server and perform the following

reflect

This module provides utility methods for obtaining reflective information about the Ballerina runtime.

runtime

This module includes functions to interact with the runtime, the invocation context and to manage errors.

socket

This module provides an implementation for connecting to a remote socket server or acts as a server for an incoming socket request. The module facilitates two types of endpoints called Client and Listener.

sql

This module provides the common record types and constants required for other data management modules such as jdbc, mysql, and h2.

streams
system

This module contains functions to retrieve information about the system, the current users of the system and to perform file system based operations.

task

Task Listeners and Task Schedulers can be used to perform tasks periodically. This module provides the functionality to configure and manage Task Listeners and Task Schedulers.

test
time

The ballerina/time module provides implementations related to time, date, time zones, and durations.

transactions
utils