/agent/enroll, /agent/unenroll api (#967)

This commit is contained in:
Michael Quigley
2025-05-30 13:35:08 -04:00
parent f4057655be
commit 8a4e535dfb
39 changed files with 3389 additions and 84 deletions

View File

@@ -21,6 +21,8 @@ models/CreateOrganization201Response.ts
models/CreateOrganizationRequest.ts
models/DisableRequest.ts
models/EnableRequest.ts
models/Enroll200Response.ts
models/EnrollRequest.ts
models/Environment.ts
models/EnvironmentAndResources.ts
models/Frontend.ts
@@ -41,7 +43,6 @@ models/MetricsSample.ts
models/ModelConfiguration.ts
models/Overview.ts
models/Ping200Response.ts
models/PingRequest.ts
models/Principal.ts
models/RegenerateAccountToken200Response.ts
models/RegenerateAccountTokenRequest.ts

View File

@@ -15,18 +15,29 @@
import * as runtime from '../runtime';
import type {
Enroll200Response,
EnrollRequest,
Ping200Response,
PingRequest,
} from '../models/index';
import {
Enroll200ResponseFromJSON,
Enroll200ResponseToJSON,
EnrollRequestFromJSON,
EnrollRequestToJSON,
Ping200ResponseFromJSON,
Ping200ResponseToJSON,
PingRequestFromJSON,
PingRequestToJSON,
} from '../models/index';
export interface PingOperationRequest {
body?: PingRequest;
export interface EnrollOperationRequest {
body?: EnrollRequest;
}
export interface PingRequest {
body?: EnrollRequest;
}
export interface UnenrollRequest {
body?: EnrollRequest;
}
/**
@@ -36,7 +47,38 @@ export class AgentApi extends runtime.BaseAPI {
/**
*/
async pingRaw(requestParameters: PingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Ping200Response>> {
async enrollRaw(requestParameters: EnrollOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Enroll200Response>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/zrok.v1+json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication
}
const response = await this.request({
path: `/agent/enroll`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: EnrollRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => Enroll200ResponseFromJSON(jsonValue));
}
/**
*/
async enroll(requestParameters: EnrollOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Enroll200Response> {
const response = await this.enrollRaw(requestParameters, initOverrides);
return await response.value();
}
/**
*/
async pingRaw(requestParameters: PingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Ping200Response>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
@@ -52,7 +94,7 @@ export class AgentApi extends runtime.BaseAPI {
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: PingRequestToJSON(requestParameters['body']),
body: EnrollRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => Ping200ResponseFromJSON(jsonValue));
@@ -60,9 +102,39 @@ export class AgentApi extends runtime.BaseAPI {
/**
*/
async ping(requestParameters: PingOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Ping200Response> {
async ping(requestParameters: PingRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Ping200Response> {
const response = await this.pingRaw(requestParameters, initOverrides);
return await response.value();
}
/**
*/
async unenrollRaw(requestParameters: UnenrollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/zrok.v1+json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["x-token"] = await this.configuration.apiKey("x-token"); // key authentication
}
const response = await this.request({
path: `/agent/unenroll`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: EnrollRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
*/
async unenroll(requestParameters: UnenrollRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.unenrollRaw(requestParameters, initOverrides);
}
}

View File

@@ -0,0 +1,65 @@
/* tslint:disable */
/* eslint-disable */
/**
* zrok
* zrok client access
*
* 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 { mapValues } from '../runtime';
/**
*
* @export
* @interface Enroll200Response
*/
export interface Enroll200Response {
/**
*
* @type {string}
* @memberof Enroll200Response
*/
token?: string;
}
/**
* Check if a given object implements the Enroll200Response interface.
*/
export function instanceOfEnroll200Response(value: object): value is Enroll200Response {
return true;
}
export function Enroll200ResponseFromJSON(json: any): Enroll200Response {
return Enroll200ResponseFromJSONTyped(json, false);
}
export function Enroll200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Enroll200Response {
if (json == null) {
return json;
}
return {
'token': json['token'] == null ? undefined : json['token'],
};
}
export function Enroll200ResponseToJSON(json: any): Enroll200Response {
return Enroll200ResponseToJSONTyped(json, false);
}
export function Enroll200ResponseToJSONTyped(value?: Enroll200Response | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'token': value['token'],
};
}

View File

@@ -16,29 +16,29 @@ import { mapValues } from '../runtime';
/**
*
* @export
* @interface PingRequest
* @interface EnrollRequest
*/
export interface PingRequest {
export interface EnrollRequest {
/**
*
* @type {string}
* @memberof PingRequest
* @memberof EnrollRequest
*/
envZId?: string;
}
/**
* Check if a given object implements the PingRequest interface.
* Check if a given object implements the EnrollRequest interface.
*/
export function instanceOfPingRequest(value: object): value is PingRequest {
export function instanceOfEnrollRequest(value: object): value is EnrollRequest {
return true;
}
export function PingRequestFromJSON(json: any): PingRequest {
return PingRequestFromJSONTyped(json, false);
export function EnrollRequestFromJSON(json: any): EnrollRequest {
return EnrollRequestFromJSONTyped(json, false);
}
export function PingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PingRequest {
export function EnrollRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): EnrollRequest {
if (json == null) {
return json;
}
@@ -48,11 +48,11 @@ export function PingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean
};
}
export function PingRequestToJSON(json: any): PingRequest {
return PingRequestToJSONTyped(json, false);
export function EnrollRequestToJSON(json: any): EnrollRequest {
return EnrollRequestToJSONTyped(json, false);
}
export function PingRequestToJSONTyped(value?: PingRequest | null, ignoreDiscriminator: boolean = false): any {
export function EnrollRequestToJSONTyped(value?: EnrollRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}

View File

@@ -14,6 +14,8 @@ export * from './CreateOrganization201Response';
export * from './CreateOrganizationRequest';
export * from './DisableRequest';
export * from './EnableRequest';
export * from './Enroll200Response';
export * from './EnrollRequest';
export * from './Environment';
export * from './EnvironmentAndResources';
export * from './Frontend';
@@ -34,7 +36,6 @@ export * from './MetricsSample';
export * from './ModelConfiguration';
export * from './Overview';
export * from './Ping200Response';
export * from './PingRequest';
export * from './Principal';
export * from './RegenerateAccountToken200Response';
export * from './RegenerateAccountTokenRequest';