486 lines
20 KiB
TypeScript
486 lines
20 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* Defined Networking API
|
|
* <br/> <br/> This API enables automated administration of Defined Networking hosts, roles, logs, and more. To authenticate, obtain an api key to use as a bearer token from your Defined Networking admin panel [API Keys page](https://admin.defined.net/settings/api-keys). API keys must be given the appropriate permission scopes for every method and endpoint, as specified throughout this documentation. Please [contact us](https://www.defined.net/contact?reason=support) for any questions or issues. In the event of a token leak, please take care to [rotate the key](/guides/rotating-api-keys). <div className=\'introduction-end\'></div>
|
|
*
|
|
* The version of the OpenAPI document: 1.0.0
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
|
|
import * as runtime from '../runtime';
|
|
import type {
|
|
HostAndEnrollCodeCreate200Response,
|
|
HostAndEnrollCodeCreate400Response,
|
|
HostBlock200Response,
|
|
HostCreate200Response,
|
|
HostCreate400Response,
|
|
HostCreateRequest,
|
|
HostDelete200Response,
|
|
HostEdit200Response,
|
|
HostEditRequest,
|
|
HostEnrollCodeCreate200Response,
|
|
HostGet200Response,
|
|
HostsList200Response,
|
|
} from '../models';
|
|
import {
|
|
HostAndEnrollCodeCreate200ResponseFromJSON,
|
|
HostAndEnrollCodeCreate200ResponseToJSON,
|
|
HostAndEnrollCodeCreate400ResponseFromJSON,
|
|
HostAndEnrollCodeCreate400ResponseToJSON,
|
|
HostBlock200ResponseFromJSON,
|
|
HostBlock200ResponseToJSON,
|
|
HostCreate200ResponseFromJSON,
|
|
HostCreate200ResponseToJSON,
|
|
HostCreate400ResponseFromJSON,
|
|
HostCreate400ResponseToJSON,
|
|
HostCreateRequestFromJSON,
|
|
HostCreateRequestToJSON,
|
|
HostDelete200ResponseFromJSON,
|
|
HostDelete200ResponseToJSON,
|
|
HostEdit200ResponseFromJSON,
|
|
HostEdit200ResponseToJSON,
|
|
HostEditRequestFromJSON,
|
|
HostEditRequestToJSON,
|
|
HostEnrollCodeCreate200ResponseFromJSON,
|
|
HostEnrollCodeCreate200ResponseToJSON,
|
|
HostGet200ResponseFromJSON,
|
|
HostGet200ResponseToJSON,
|
|
HostsList200ResponseFromJSON,
|
|
HostsList200ResponseToJSON,
|
|
} from '../models';
|
|
|
|
export interface HostAndEnrollCodeCreateRequest {
|
|
hostCreateRequest: HostCreateRequest;
|
|
}
|
|
|
|
export interface HostBlockRequest {
|
|
hostID: string;
|
|
}
|
|
|
|
export interface HostCreateOperationRequest {
|
|
hostCreateRequest: HostCreateRequest;
|
|
}
|
|
|
|
export interface HostDeleteRequest {
|
|
hostID: string;
|
|
}
|
|
|
|
export interface HostEditOperationRequest {
|
|
hostID: string;
|
|
hostEditRequest: HostEditRequest;
|
|
}
|
|
|
|
export interface HostEnrollCodeCreateRequest {
|
|
hostID: string;
|
|
}
|
|
|
|
export interface HostGetRequest {
|
|
hostID: string;
|
|
}
|
|
|
|
export interface HostsListRequest {
|
|
includeCounts?: boolean;
|
|
cursor?: string;
|
|
pageSize?: number;
|
|
filterIsBlocked?: boolean;
|
|
filterIsLighthouse?: boolean;
|
|
filterIsRelay?: boolean;
|
|
filterMetadataLastSeenAt?: HostsListFilterMetadataLastSeenAtEnum;
|
|
filterMetadataPlatform?: HostsListFilterMetadataPlatformEnum;
|
|
filterMetadataUpdateAvailable?: boolean;
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
export class HostsApi extends runtime.BaseAPI {
|
|
|
|
/**
|
|
* Token scopes required: `hosts:create`, `hosts:enroll` ### Request
|
|
* Create host & enrollment code
|
|
*/
|
|
async hostAndEnrollCodeCreateRaw(requestParameters: HostAndEnrollCodeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostAndEnrollCodeCreate200Response>> {
|
|
if (requestParameters.hostCreateRequest === null || requestParameters.hostCreateRequest === undefined) {
|
|
throw new runtime.RequiredError('hostCreateRequest','Required parameter requestParameters.hostCreateRequest was null or undefined when calling hostAndEnrollCodeCreate.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
headerParameters['Content-Type'] = 'application/json';
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/host-and-enrollment-code`,
|
|
method: 'POST',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: HostCreateRequestToJSON(requestParameters.hostCreateRequest),
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostAndEnrollCodeCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Token scopes required: `hosts:create`, `hosts:enroll` ### Request
|
|
* Create host & enrollment code
|
|
*/
|
|
async hostAndEnrollCodeCreate(requestParameters: HostAndEnrollCodeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostAndEnrollCodeCreate200Response> {
|
|
const response = await this.hostAndEnrollCodeCreateRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Prevent a host from being able to interact with other nodes on your network. See https://www.defined.net/blog/blocklisting/ for more details. To unblock, re-enroll the host. Token scope required: `hosts:block` ### Request
|
|
* Block host
|
|
*/
|
|
async hostBlockRaw(requestParameters: HostBlockRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostBlock200Response>> {
|
|
if (requestParameters.hostID === null || requestParameters.hostID === undefined) {
|
|
throw new runtime.RequiredError('hostID','Required parameter requestParameters.hostID was null or undefined when calling hostBlock.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts/{hostID}/block`.replace(`{${"hostID"}}`, encodeURIComponent(String(requestParameters.hostID))),
|
|
method: 'POST',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostBlock200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Prevent a host from being able to interact with other nodes on your network. See https://www.defined.net/blog/blocklisting/ for more details. To unblock, re-enroll the host. Token scope required: `hosts:block` ### Request
|
|
* Block host
|
|
*/
|
|
async hostBlock(requestParameters: HostBlockRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostBlock200Response> {
|
|
const response = await this.hostBlockRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Create a new host, lighthouse, or relay. Token scope required: `hosts:create` ### Request
|
|
* Create host
|
|
*/
|
|
async hostCreateRaw(requestParameters: HostCreateOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostCreate200Response>> {
|
|
if (requestParameters.hostCreateRequest === null || requestParameters.hostCreateRequest === undefined) {
|
|
throw new runtime.RequiredError('hostCreateRequest','Required parameter requestParameters.hostCreateRequest was null or undefined when calling hostCreate.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
headerParameters['Content-Type'] = 'application/json';
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts`,
|
|
method: 'POST',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: HostCreateRequestToJSON(requestParameters.hostCreateRequest),
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Create a new host, lighthouse, or relay. Token scope required: `hosts:create` ### Request
|
|
* Create host
|
|
*/
|
|
async hostCreate(requestParameters: HostCreateOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostCreate200Response> {
|
|
const response = await this.hostCreateRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `hosts:delete` ### Request
|
|
* Delete host
|
|
*/
|
|
async hostDeleteRaw(requestParameters: HostDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostDelete200Response>> {
|
|
if (requestParameters.hostID === null || requestParameters.hostID === undefined) {
|
|
throw new runtime.RequiredError('hostID','Required parameter requestParameters.hostID was null or undefined when calling hostDelete.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts/{hostID}`.replace(`{${"hostID"}}`, encodeURIComponent(String(requestParameters.hostID))),
|
|
method: 'DELETE',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostDelete200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `hosts:delete` ### Request
|
|
* Delete host
|
|
*/
|
|
async hostDelete(requestParameters: HostDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostDelete200Response> {
|
|
const response = await this.hostDeleteRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `hosts:update` :::caution Any properties not provided in the request will be reset to their default values. ::: ### Request
|
|
* Edit host
|
|
*/
|
|
async hostEditRaw(requestParameters: HostEditOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostEdit200Response>> {
|
|
if (requestParameters.hostID === null || requestParameters.hostID === undefined) {
|
|
throw new runtime.RequiredError('hostID','Required parameter requestParameters.hostID was null or undefined when calling hostEdit.');
|
|
}
|
|
|
|
if (requestParameters.hostEditRequest === null || requestParameters.hostEditRequest === undefined) {
|
|
throw new runtime.RequiredError('hostEditRequest','Required parameter requestParameters.hostEditRequest was null or undefined when calling hostEdit.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
headerParameters['Content-Type'] = 'application/json';
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts/{hostID}`.replace(`{${"hostID"}}`, encodeURIComponent(String(requestParameters.hostID))),
|
|
method: 'PUT',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: HostEditRequestToJSON(requestParameters.hostEditRequest),
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostEdit200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `hosts:update` :::caution Any properties not provided in the request will be reset to their default values. ::: ### Request
|
|
* Edit host
|
|
*/
|
|
async hostEdit(requestParameters: HostEditOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostEdit200Response> {
|
|
const response = await this.hostEditRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Obtain a code that can be used with the `dnclient enroll` command on a host, lighthouse, or relay to enroll it into your Managed Nebula network. Token scope required: `hosts:enroll` ### Request
|
|
* Create enrollment code
|
|
*/
|
|
async hostEnrollCodeCreateRaw(requestParameters: HostEnrollCodeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostEnrollCodeCreate200Response>> {
|
|
if (requestParameters.hostID === null || requestParameters.hostID === undefined) {
|
|
throw new runtime.RequiredError('hostID','Required parameter requestParameters.hostID was null or undefined when calling hostEnrollCodeCreate.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts/{hostID}/enrollment-code`.replace(`{${"hostID"}}`, encodeURIComponent(String(requestParameters.hostID))),
|
|
method: 'POST',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostEnrollCodeCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Obtain a code that can be used with the `dnclient enroll` command on a host, lighthouse, or relay to enroll it into your Managed Nebula network. Token scope required: `hosts:enroll` ### Request
|
|
* Create enrollment code
|
|
*/
|
|
async hostEnrollCodeCreate(requestParameters: HostEnrollCodeCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostEnrollCodeCreate200Response> {
|
|
const response = await this.hostEnrollCodeCreateRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Fetch information about a particular host, lighthouse, or relay. Token scope required: `hosts:read` ### Request
|
|
* Get host
|
|
*/
|
|
async hostGetRaw(requestParameters: HostGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostGet200Response>> {
|
|
if (requestParameters.hostID === null || requestParameters.hostID === undefined) {
|
|
throw new runtime.RequiredError('hostID','Required parameter requestParameters.hostID was null or undefined when calling hostGet.');
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts/{hostID}`.replace(`{${"hostID"}}`, encodeURIComponent(String(requestParameters.hostID))),
|
|
method: 'GET',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostGet200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Fetch information about a particular host, lighthouse, or relay. Token scope required: `hosts:read` ### Request
|
|
* Get host
|
|
*/
|
|
async hostGet(requestParameters: HostGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostGet200Response> {
|
|
const response = await this.hostGetRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Get a paginated list of hosts, lighthouses, and relays. Token scope required: `hosts:list` ### Request
|
|
* List hosts
|
|
*/
|
|
async hostsListRaw(requestParameters: HostsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostsList200Response>> {
|
|
const queryParameters: any = {};
|
|
|
|
if (requestParameters.includeCounts !== undefined) {
|
|
queryParameters['includeCounts'] = requestParameters.includeCounts;
|
|
}
|
|
|
|
if (requestParameters.cursor !== undefined) {
|
|
queryParameters['cursor'] = requestParameters.cursor;
|
|
}
|
|
|
|
if (requestParameters.pageSize !== undefined) {
|
|
queryParameters['pageSize'] = requestParameters.pageSize;
|
|
}
|
|
|
|
if (requestParameters.filterIsBlocked !== undefined) {
|
|
queryParameters['filter.isBlocked'] = requestParameters.filterIsBlocked;
|
|
}
|
|
|
|
if (requestParameters.filterIsLighthouse !== undefined) {
|
|
queryParameters['filter.isLighthouse'] = requestParameters.filterIsLighthouse;
|
|
}
|
|
|
|
if (requestParameters.filterIsRelay !== undefined) {
|
|
queryParameters['filter.isRelay'] = requestParameters.filterIsRelay;
|
|
}
|
|
|
|
if (requestParameters.filterMetadataLastSeenAt !== undefined) {
|
|
queryParameters['filter.metadata.lastSeenAt'] = requestParameters.filterMetadataLastSeenAt;
|
|
}
|
|
|
|
if (requestParameters.filterMetadataPlatform !== undefined) {
|
|
queryParameters['filter.metadata.platform'] = requestParameters.filterMetadataPlatform;
|
|
}
|
|
|
|
if (requestParameters.filterMetadataUpdateAvailable !== undefined) {
|
|
queryParameters['filter.metadata.updateAvailable'] = requestParameters.filterMetadataUpdateAvailable;
|
|
}
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
if (this.configuration && this.configuration.accessToken) {
|
|
const token = this.configuration.accessToken;
|
|
const tokenString = await token("ApiToken", []);
|
|
|
|
if (tokenString) {
|
|
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
}
|
|
}
|
|
const response = await this.request({
|
|
path: `/v1/hosts`,
|
|
method: 'GET',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostsList200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Get a paginated list of hosts, lighthouses, and relays. Token scope required: `hosts:list` ### Request
|
|
* List hosts
|
|
*/
|
|
async hostsList(requestParameters: HostsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostsList200Response> {
|
|
const response = await this.hostsListRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* @export
|
|
*/
|
|
export const HostsListFilterMetadataLastSeenAtEnum = {
|
|
Null: 'null'
|
|
} as const;
|
|
export type HostsListFilterMetadataLastSeenAtEnum = typeof HostsListFilterMetadataLastSeenAtEnum[keyof typeof HostsListFilterMetadataLastSeenAtEnum];
|
|
/**
|
|
* @export
|
|
*/
|
|
export const HostsListFilterMetadataPlatformEnum = {
|
|
Mobile: 'mobile',
|
|
Dnclient: 'dnclient',
|
|
Null: 'null'
|
|
} as const;
|
|
export type HostsListFilterMetadataPlatformEnum = typeof HostsListFilterMetadataPlatformEnum[keyof typeof HostsListFilterMetadataPlatformEnum];
|