Modules

auth

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

bir
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.

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.

java

This module provides the API for Java interoperability in Ballerina. It includes a set of Ballerina annotations with which Java constructors, methods and fields can provide implementations to Ballerina functions with external function bodies.

java.jdbc

This module provides the functionality required to access and manipulate data stored in any type of relational database that is accessible via Java Database Connectivity (JDBC).

jvm
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.

kafka
lang.array

This module provides lang library list operations defined by the language specification 2019R2.

lang.decimal

This module provides lang library operations on decimal values defined by the language specification 2019R2.

lang.error

This module provides lang library operations on error values defined by the language specification 2019R2.

lang.float

This module provides lang library operations on float values defined by the language specification 2019R2.

lang.future

This module provides lang library operations on future values defined by the language specification 2019R2.

lang.int

This module provides lang library operations on int values defined by the language specification 2019R2.

lang.map

This module provides lang library map operations defined by the language specification 2019R2.

lang.object

This module provides lang library operations on object values defined by the language specification 2019R2.

lang.stream

This module provides lang library operations on stream values defined by the language specification 2019R2.

lang.string

This module provides lang library string operations defined by the language specification 2019R2.

lang.table

This module provides lang library operations on table values defined by the language specification 2019R2.

lang.typedesc

This module provides lang library operations on typedesc values defined by the language specification 2019R2.

lang.value

This module provides lang library operations for all values defined by the language specification 2019R2.

lang.xml

This module provides lang library operations on xml values defined by the language specification 2019R2.

ldap

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

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.

nats

NATS is a simple, secure, and high-performance open source messaging system for cloud-native applications. The 'ballerina/nats' module provides the capability to connect with NATS and Streaming servers and perform the following functionalities.

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:

rabbitmq

RabbitMQ is one of the most popular open-source enterprise messaging systems, modeled on the Advanced Message Queuing Protocol (AMQP) standard. This guide covers Ballerina RabbitMQ module and its public API. This module contains functionality to support messaging with RabbitMQ broker (AMQP 0-9-1).

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.

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
websub

This module contains an implementation of the W3C WebSub recommendation, which facilitates a push-based content delivery/notification mechanism between publishers and subscribers.

xslt

This module provides a function to transform the XML content to another XML/HTML/plain text using XSL transformations.