286 lines
12 KiB
TypeScript
286 lines
12 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 {
|
|
HostAndEnrollCodeCreate400Response,
|
|
HostDelete200Response,
|
|
RoleCreate200Response,
|
|
RoleCreateRequest,
|
|
RoleEditRequest,
|
|
RolesList200Response,
|
|
} from '../models';
|
|
import {
|
|
HostAndEnrollCodeCreate400ResponseFromJSON,
|
|
HostAndEnrollCodeCreate400ResponseToJSON,
|
|
HostDelete200ResponseFromJSON,
|
|
HostDelete200ResponseToJSON,
|
|
RoleCreate200ResponseFromJSON,
|
|
RoleCreate200ResponseToJSON,
|
|
RoleCreateRequestFromJSON,
|
|
RoleCreateRequestToJSON,
|
|
RoleEditRequestFromJSON,
|
|
RoleEditRequestToJSON,
|
|
RolesList200ResponseFromJSON,
|
|
RolesList200ResponseToJSON,
|
|
} from '../models';
|
|
|
|
export interface RoleCreateOperationRequest {
|
|
roleCreateRequest: RoleCreateRequest;
|
|
}
|
|
|
|
export interface RoleDeleteRequest {
|
|
roleID: string;
|
|
}
|
|
|
|
export interface RoleEditOperationRequest {
|
|
roleID: string;
|
|
roleEditRequest: RoleEditRequest;
|
|
}
|
|
|
|
export interface RoleGetRequest {
|
|
roleID: string;
|
|
}
|
|
|
|
export interface RolesListRequest {
|
|
includeCounts?: boolean;
|
|
cursor?: string;
|
|
pageSize?: number;
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
export class RolesApi extends runtime.BaseAPI {
|
|
|
|
/**
|
|
* Create a new role. Token scope required: `roles:create` ### Request
|
|
* Create role
|
|
*/
|
|
async roleCreateRaw(requestParameters: RoleCreateOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RoleCreate200Response>> {
|
|
if (requestParameters.roleCreateRequest === null || requestParameters.roleCreateRequest === undefined) {
|
|
throw new runtime.RequiredError('roleCreateRequest','Required parameter requestParameters.roleCreateRequest was null or undefined when calling roleCreate.');
|
|
}
|
|
|
|
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/roles`,
|
|
method: 'POST',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: RoleCreateRequestToJSON(requestParameters.roleCreateRequest),
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => RoleCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Create a new role. Token scope required: `roles:create` ### Request
|
|
* Create role
|
|
*/
|
|
async roleCreate(requestParameters: RoleCreateOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RoleCreate200Response> {
|
|
const response = await this.roleCreateRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `roles:delete` ### Request
|
|
* Delete role
|
|
*/
|
|
async roleDeleteRaw(requestParameters: RoleDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HostDelete200Response>> {
|
|
if (requestParameters.roleID === null || requestParameters.roleID === undefined) {
|
|
throw new runtime.RequiredError('roleID','Required parameter requestParameters.roleID was null or undefined when calling roleDelete.');
|
|
}
|
|
|
|
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/roles/{roleID}`.replace(`{${"roleID"}}`, encodeURIComponent(String(requestParameters.roleID))),
|
|
method: 'DELETE',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => HostDelete200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `roles:delete` ### Request
|
|
* Delete role
|
|
*/
|
|
async roleDelete(requestParameters: RoleDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HostDelete200Response> {
|
|
const response = await this.roleDeleteRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `roles:update` :::caution Any properties not provided in the request will be reset to their default values. If only changing one firewall rule, be sure to include the others as well, otherwise they will be removed. ::: ### Request
|
|
* Edit role
|
|
*/
|
|
async roleEditRaw(requestParameters: RoleEditOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RoleCreate200Response>> {
|
|
if (requestParameters.roleID === null || requestParameters.roleID === undefined) {
|
|
throw new runtime.RequiredError('roleID','Required parameter requestParameters.roleID was null or undefined when calling roleEdit.');
|
|
}
|
|
|
|
if (requestParameters.roleEditRequest === null || requestParameters.roleEditRequest === undefined) {
|
|
throw new runtime.RequiredError('roleEditRequest','Required parameter requestParameters.roleEditRequest was null or undefined when calling roleEdit.');
|
|
}
|
|
|
|
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/roles/{roleID}`.replace(`{${"roleID"}}`, encodeURIComponent(String(requestParameters.roleID))),
|
|
method: 'PUT',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: RoleEditRequestToJSON(requestParameters.roleEditRequest),
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => RoleCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Token scope required: `roles:update` :::caution Any properties not provided in the request will be reset to their default values. If only changing one firewall rule, be sure to include the others as well, otherwise they will be removed. ::: ### Request
|
|
* Edit role
|
|
*/
|
|
async roleEdit(requestParameters: RoleEditOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RoleCreate200Response> {
|
|
const response = await this.roleEditRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Fetch information about a particular role. Token scope required: `roles:read` ### Request
|
|
* Get role
|
|
*/
|
|
async roleGetRaw(requestParameters: RoleGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RoleCreate200Response>> {
|
|
if (requestParameters.roleID === null || requestParameters.roleID === undefined) {
|
|
throw new runtime.RequiredError('roleID','Required parameter requestParameters.roleID was null or undefined when calling roleGet.');
|
|
}
|
|
|
|
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/roles/{roleID}`.replace(`{${"roleID"}}`, encodeURIComponent(String(requestParameters.roleID))),
|
|
method: 'GET',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => RoleCreate200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Fetch information about a particular role. Token scope required: `roles:read` ### Request
|
|
* Get role
|
|
*/
|
|
async roleGet(requestParameters: RoleGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RoleCreate200Response> {
|
|
const response = await this.roleGetRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Get a paginated list of roles. Token scope required: `roles:list` ### Request
|
|
* List roles
|
|
*/
|
|
async rolesListRaw(requestParameters: RolesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RolesList200Response>> {
|
|
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;
|
|
}
|
|
|
|
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/roles`,
|
|
method: 'GET',
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
}, initOverrides);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) => RolesList200ResponseFromJSON(jsonValue));
|
|
}
|
|
|
|
/**
|
|
* Get a paginated list of roles. Token scope required: `roles:list` ### Request
|
|
* List roles
|
|
*/
|
|
async rolesList(requestParameters: RolesListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RolesList200Response> {
|
|
const response = await this.rolesListRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
}
|