117 lines
2.7 KiB
PHP
117 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace Hosterra\NetBox\Api\IPAM;
|
|
|
|
use GuzzleHttp\Exception\GuzzleException;
|
|
use Hosterra\NetBox\Api\AbstractApi;
|
|
|
|
class Prefixes extends AbstractApi
|
|
{
|
|
/**
|
|
* @param array $params
|
|
* @return array
|
|
* @throws GuzzleException
|
|
*/
|
|
public function add(array $params = []): array
|
|
{
|
|
return $this->post("/ipam/prefixes/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return bool
|
|
* @throws GuzzleException
|
|
*/
|
|
public function remove(int $id, array $params = []): bool
|
|
{
|
|
return $this->delete("/ipam/prefixes/" . $id . "/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return array
|
|
* @throws GuzzleException
|
|
*/
|
|
public function edit(int $id, array $params = []): array
|
|
{
|
|
return $this->put("/ipam/prefixes/" . $id . "/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return array
|
|
* @throws GuzzleException
|
|
*/
|
|
public function update(int $id, array $params = []): array
|
|
{
|
|
return $this->patch("/ipam/prefixes/" . $id . "/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param array $params
|
|
* @return mixed
|
|
* @throws GuzzleException
|
|
*/
|
|
public function list(array $params = [])
|
|
{
|
|
return $this->get("/ipam/prefixes/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return mixed
|
|
* @throws GuzzleException
|
|
*/
|
|
public function show(int $id, array $params = [])
|
|
{
|
|
return $this->get("/ipam/prefixes/" . $id . "/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return mixed
|
|
* @throws GuzzleException
|
|
*/
|
|
public function showAvailableIps(int $id, array $params = [])
|
|
{
|
|
return $this->get("/ipam/prefixes/" . $id . "/available-ips/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return array
|
|
* @throws GuzzleException
|
|
*/
|
|
public function addAvailableIps(int $id, array $params = []): array
|
|
{
|
|
return $this->post("/ipam/prefixes/" . $id . "/available-ips/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return mixed
|
|
* @throws GuzzleException
|
|
*/
|
|
public function showAvailable(int $id, array $params = [])
|
|
{
|
|
return $this->get("/ipam/prefixes/" . $id . "/available-prefixes/", $params);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param array $params
|
|
* @return array
|
|
* @throws GuzzleException
|
|
*/
|
|
public function addAvailable(int $id, array $params = []): array
|
|
{
|
|
return $this->post("/ipam/prefixes/" . $id . "/available-prefixes/", $params);
|
|
}
|
|
}
|