Modules

auth

This module provides the default authentication provider configurations, which can be extended to create new authentication providers.

awslambda

This module offers the capabilities of creating AWS Lambda Functions using ballerina.

azure.functions

This module offers the capabilities of creating Azure Functions using ballerina.

cache

This module provides APIs for handle caching in Ballerina. It consists of a default implementation based on the map data structure. It also provides a default cache eviction policy object, which is based on the LRU eviction algorithm.

config

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

docker

This module offers an annotation based docker extension implementation for ballerina.

email

This module contains functions to perform email operations such as sending and reading emails using the SMTP, POP3, and IMAP4 protocols.

encoding

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

file

This module contains functions to perform file system based operations such as create, delete, rename the file/directory, and retrieve metadata of the file.

filepath

This module provides a platform-independent API for working with file paths.

grpc

This module provides support for the gRPC messaging protocol. gRPC is an inter-process communication technology that allows you to connect, invoke and operate distributed heterogeneous applications as easily as making a local function call. The gRPC protocol is layered over HTTP/2 and It uses Protocol Buffers for marshaling/unmarshaling messages. This makes gRPC, highly efficient on wire and a simple service definition framework.

http

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

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.

istio

This module offers an annotation based Istio extension implementation for ballerina.

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 of Ballerina functions with external function bodies.

java.arrays

This module provides APIs to create new Java array instances, get elements from arrays, set elements, etc.

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

jsonutils

This module provides utility functions to manipulate the built-in json data type. It provides APIs to convert an xml to a json or convert a table to a json.

jwt

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

kafka

This module is used to interact with Kafka Brokers via Kafka Consumer and Kafka Producer clients. This module supports Kafka 1.x.x and 2.0.0 versions.

knative

This module offers an annotation based Knative extension implementation for ballerina.

kubernetes

This module offers an annotation based Kubernetes extension implementation for ballerina.

lang.array

This module provides lang library list operations defined by the language specification 2020R1.

lang.boolean

This module provides lang library operations on boolean values defined by the language specification 2020R1.

lang.decimal

This module provides lang library operations on decimal values defined by the language specification 2020R1.

lang.error

This module provides lang library operations on error values defined by the language specification 2020R1.

lang.float

This module provides lang library operations on float values defined by the language specification 2020R1.

lang.future

This module provides lang library operations on future values defined by the language specification 2020R1.

lang.int

This module provides lang library operations on int values defined by the language specification 2020R1.

lang.map

This module provides lang library map operations defined by the language specification 2020R1.

lang.object

This module defines the shape expected from all listeners as defined by the language specification 2020R1.

lang.stream

This module provides lang library operations on stream values defined by the language specification 2020R1.

lang.string

This module provides lang library string operations defined by the language specification 2020R1.

lang.table

This module provides lang library operations on table values defined by the language specification 2020R1.

lang.typedesc

This module provides lang library operations on typedesc values defined by the language specification 2020R1.

lang.value

This module provides lang library operations common to all values defined by the language specification 2020R1.

lang.xml

This module provides lang library operations on xml values defined by the language specification 2020R1.

ldap

This module provides an inbound LDAP authentication provider, which is 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 into a single message. The communication of such messages follow the MIME (Multipurpose Internet Mail Extensions) specification as specified in the RFC 2045 standard.

nats

This module provides the capability to connect with NATS and NATS Streaming servers and performs the below functionalities.

oauth2

This module provides an inbound OAuth2 authentication provider, which can be used to authenticate the provided credentials against an introspection endpoint and an outbound OAuth2 authentication provider, which can be used to authenticate 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.

openshift

This module offers an annotation based OpenShift extension implementation for ballerina.

rabbitmq

RabbitMQ is one of the most popular open-source enterprise messaging systems modelled on the Advanced Message Queuing Protocol (AMQP) standard. This guide covers the Ballerina RabbitMQ module and its public API. This module contains the functionality to support messaging with the RabbitMQ broker (AMQP 0-9-1). It assumes that the most recent version of Ballerina is used and is built on top of the basics.

reflect

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

runtime

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

socket

This module provides an implementation for sending/receiving messages to/from another application process (local or remote) for both connection-oriented and connectionless protocols.

stringutils

This module provides utility functions to manipulate the built-in string data type.

system

This module provides functions to retrieve information about the system and the current users of the system. The system:exec method creates the system:Process object, which can control and obtain information about a Ballerina process.

task

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

test

This module allow developers to write testable code.

time

This module provides implementations related to time, date, time zones, and durations.

transactions

This module provides Ballerina transaction manager implementation.

websub

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

xmlutils

This module provides utility functions to manipulate the built-in xml data type. It provides APIs to convert a json to an xml or convert a table to an xml.

xslt

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