Application Programming Interface (API) is a formalized set of software-controlled calls and computer routines that an application can use to access available network services. RPC (Remote Procedure Call) and SOAP APIs (Simple Object Access Protocol) are the origins of APIs, and it was Roy Fiedling’s PhD dissertation published in 2000 that originally coined the acronym REST (Representational State Transfer).

The abbreviation REST refers to how a server responds to a request by returning a representation of a resource, which today is typically an HTML, XML, or JSON document. This resource also includes hypermedia links that can be used to alter the system’s state. Each such request will return a representation of the resource and so on. Ideas that came after REST are Websocket API but also GraphQL, which is a query language for APIs.

Fiedling determined the criteria that must be met when developing an Internet-based application while using the REST style. The low entry barrier, such as caching and client-server architectural elements, as well as those specific to REST, like the concept of resources, reflect the requirements. The primary focus of existing REST services is on resource lifecycle events (creation, update, deletion, and read access), which are represented by the proper HTTP methods (PUT, POST, DELETE, GET). The standard for REST API design is OpenAPI6 and is based on Swagger.

The REST paradigm is ideal for cloud computing because cloud capabilities are easily viewed as first-class REST resources. Direct API calls are rarely used while managing cloud resources. Generally, the API is consumed through the OCI console, an SDK for several languages, a command-line interface (OCI CLI), or infrastructure-as-code software such as Terraform. API requests are created and sent in the background in each of these scenarios. The user provides only the required input.

OCI SDK je biblioteka za određeni programski jezik koja omogućava vašem softveru interakciju sa područjem za upravljanje oblakom Oracle Cloud Infrastructure. SDK izlaže OCI API pozive kao funkcije ili metode koje je programeru lakše koristiti i sa kojima se brže može raditi. Na ovaj način, prilagođena logika koja upravlja i nadgleda OCI resurse mogu biti ugrađeni u vaše aplikacije.

OCI CLI (interfejs komandne linije) je uslužni program komandne linije koji vam omogućava interakciju sa Oracle Cloud Infrastructure REST API-jima na skriptovan način. CLI je bogatiji opcijama u odnosu na OCI konzolu jer možete pronaći funkcije dostupne kao CLI komande koje nisu implementirane u OCI konzoli.

Terraform, an infrastructure-as-code provisioning tool, keeps track of the condition of the infrastructure it manages in order to support a declarative approach. Terraform allows you to specify the anticipated state of your infrastructure rather than specifying and sequencing activities within a command line interface. Terraforms task becomes to find out what activities and in what order should be performed to get the cloud resources to the expected condition. There aren’t any intermediary states to be concerned about. Only the outcome counts.

Terraform supports a wide range of cloud providers through a set of plugins called providers. When you use the terraform init command to start a new project, Terraform reads your configuration files in this directory, determines which vendor you should use, and downloads the most recent plugin from that vendor. Dodatak dobavljača je taj koji je odgovoran za interakciju sa, u ovom slučaju, In this scenario, the provider plugin is responsible for interacting with Oracle Cloud Infrastructure’s REST APIs.