ezero-apimatic / ezero-apimatic-sdk
Sample SDKs for ezero by APIMatic
Package info
github.com/sdks-io/ezero-apimatic-php-sdk
pkg:composer/ezero-apimatic/ezero-apimatic-sdk
Requires
- php: ^7.2 || ^8.0
- ext-curl: *
- ext-json: *
- apimatic/core: ~0.3.17
- apimatic/core-interfaces: ~0.1.5
- apimatic/unirest-php: ^4.0.6
Requires (Dev)
- phan/phan: 5.4.5
- squizlabs/php_codesniffer: ^3.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Introduction
This document describes the resources that make up the official env zero REST API.
Base URL
https://api.env0.com
Content types
All requests should be in JSON format and include the accept: application/json header.
Authentication
HTTP Basic authentication. Send the API Key ID as the username and the API Key Secret as the password. Keys are created under Organization Settings -> API Keys (Admin or User scope) or Personal Settings -> API Keys (Personal scope).
Scope of this document
This specification covers the environment drift-governance surface of the env zero API and the environment, deployment, template, configuration and project endpoints that support it. It was reconstructed from the OpenAPI fragments published on https://docs.envzero.com and is a subset of the full API.
Error responses
401 and 403 responses return { "message": string } and are documented on every operation. The upstream documentation does not define response bodies for other non-2xx status codes, so none are asserted here.
Install the Package
Run the following command to install the package and automatically add the dependency to your composer.json file:
composer require "ezero-apimatic/ezero-apimatic-sdk:0.0.1"
Or add it to the composer.json file manually as given below:
"require": { "ezero-apimatic/ezero-apimatic-sdk": "0.0.1" }
You can also view the package at: https://packagist.org/packages/ezero-apimatic/ezero-apimatic-sdk#0.0.1
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| timeout | int |
Timeout for API calls in seconds. Default: 30 |
| enableRetries | bool |
Whether to enable retries and backoff feature. Default: false |
| numberOfRetries | int |
The number of retries to make. Default: 0 |
| retryInterval | float |
The retry time interval between the endpoint calls. Default: 1 |
| backOffFactor | float |
Exponential backoff factor to increase interval between retries. Default: 2 |
| maximumRetryWaitTime | int |
The maximum wait time in seconds for overall retrying requests. Default: 0 |
| retryOnTimeout | bool |
Whether to retry on request timeout. Default: true |
| httpStatusCodesToRetry | array |
Http status codes to retry against. Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524 |
| httpMethodsToRetry | array |
Http methods to retry against. Default: 'GET', 'PUT' |
| loggingConfiguration | LoggingConfigurationBuilder |
Represents the logging configurations for API calls |
| proxyConfiguration | ProxyConfigurationBuilder |
Represents the proxy configurations for API calls |
| basicAuthCredentials | BasicAuthCredentials |
The Credentials Setter for Basic Authentication |
The API client can be initialized as follows:
use EnvZeroApiLib\Logging\LoggingConfigurationBuilder; use EnvZeroApiLib\Logging\RequestLoggingConfigurationBuilder; use EnvZeroApiLib\Logging\ResponseLoggingConfigurationBuilder; use Psr\Log\LogLevel; use EnvZeroApiLib\Authentication\BasicAuthCredentialsBuilder; use EnvZeroApiLib\EnvZeroApiClientBuilder; $client = EnvZeroApiClientBuilder::init() ->basicAuthCredentials( BasicAuthCredentialsBuilder::init( 'BasicAuthUserName', 'BasicAuthPassword' ) ) ->loggingConfiguration( LoggingConfigurationBuilder::init() ->level(LogLevel::INFO) ->requestConfiguration(RequestLoggingConfigurationBuilder::init()->body(true)) ->responseConfiguration(ResponseLoggingConfigurationBuilder::init()->headers(true)) ) ->build();
Authorization
This API uses the following authentication schemes.
List of APIs
- Bulk Operations
- Deployment Logs
- Approval Policy
- Environment Outputs
- Environments
- Drift
- Scheduling
- Templates
- Configuration
- Projects
- Organization
- Notifications
- Credentials
SDK Infrastructure
Configuration
- ProxyConfigurationBuilder
- LoggingConfigurationBuilder
- RequestLoggingConfigurationBuilder
- ResponseLoggingConfigurationBuilder