feat: add version info

Signed-off-by: allanice001 <allanice001@gmail.com>
This commit is contained in:
allanice001
2025-11-08 13:08:19 +00:00
parent c9d5080d50
commit 56ea963b47
159 changed files with 17643 additions and 6 deletions

15
ui/src/api/footer.ts Normal file
View File

@@ -0,0 +1,15 @@
export const metaApi = {
footer: async () => {
const res = await fetch("/api/v1/version", { cache: "no-store" })
if (!res.ok) throw new Error("failed to fetch version")
return (await res.json()) as {
built: string
builtBy: string
commit: string
go: string
goArch: string
goOS: string
version: string
}
},
}

View File

@@ -1,7 +1,7 @@
import { useEffect, useState } from "react"
import { meApi } from "@/api/me.ts"
import { orgStore } from "@/auth/org.ts"
import { authStore } from "@/auth/store.ts"
import { Footer } from "@/layouts/footer.tsx"
import { adminNav, mainNav, orgNav, userNav } from "@/layouts/nav-config.ts"
import { OrgSwitcher } from "@/layouts/org-switcher.tsx"
import { Topbar } from "@/layouts/topbar.tsx"
@@ -171,11 +171,12 @@ export const AppShell = () => {
</SidebarFooter>
</Sidebar>
<SidebarInset className="min-h-screen">
<SidebarInset className="flex min-h-screen flex-col">
<Topbar />
<main className="p-4">
<Outlet />
</main>
<Footer />
</SidebarInset>
</SidebarProvider>
)

135
ui/src/layouts/footer.tsx Normal file
View File

@@ -0,0 +1,135 @@
import { memo, useMemo } from "react"
import { metaApi } from "@/api/footer"
import { useQuery } from "@tanstack/react-query"
import { Clipboard, ExternalLink, GitCommit, Info } from "lucide-react"
import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button"
import { Separator } from "@/components/ui/separator"
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
type VersionInfo = {
built: string // ISO string or "unknown"
builtBy: string
commit: string
go: string
goArch: string
goOS: string
version: string
}
function shortCommit(c?: string) {
return c && c !== "none" ? c.slice(0, 7) : "none"
}
function formatBuilt(built: string) {
if (!built || built === "unknown") return "unknown"
const d = new Date(built)
return isNaN(+d) ? built : d.toLocaleString()
}
function asClipboardText(v?: VersionInfo) {
if (!v) return ""
return `v${v.version} (${shortCommit(v.commit)}) • built ${v.built}${v.go} ${v.goOS}/${v.goArch}`
}
export const Footer = memo(function Footer({ className }: { className?: string }) {
const footerQ = useQuery({
queryKey: ["footer"],
queryFn: () => metaApi.footer() as Promise<VersionInfo>,
staleTime: 60_000,
refetchOnWindowFocus: false,
})
const data = footerQ.data
const copyText = useMemo(() => asClipboardText(data), [data])
return (
<footer className="bg-background text-muted-foreground w-full border-t px-3 py-2 text-xs sm:text-sm">
<div className="mx-auto flex max-w-screen-2xl items-center justify-between">
{/* Left: brand / copyright */}
<div className="flex items-center gap-2 text-xs sm:text-sm">
<span>© {new Date().getFullYear()} GlueOps</span>
<Separator orientation="vertical" className="hidden h-4 sm:block" />
<span className="hidden sm:block">All systems nominal.</span>
</div>
{/* Right: version/meta */}
<div className="flex flex-wrap items-center gap-2 text-xs sm:text-sm">
{footerQ.isLoading ? (
<span className="animate-pulse">loading version</span>
) : footerQ.isError ? (
<span className="text-destructive">version unavailable</span>
) : data ? (
<TooltipProvider>
<div className="flex flex-wrap items-center gap-2">
<Badge variant="secondary" className="font-mono">
{data.version}
</Badge>
<Tooltip>
<TooltipTrigger asChild>
<span className="inline-flex items-center gap-1">
<GitCommit className="h-3.5 w-3.5" />
<span className="font-mono">{shortCommit(data.commit)}</span>
</span>
</TooltipTrigger>
<TooltipContent side="top">
<div className="font-mono text-xs">{data.commit}</div>
</TooltipContent>
</Tooltip>
<Separator orientation="vertical" className="h-4" />
<Tooltip>
<TooltipTrigger asChild>
<span className="inline-flex items-center gap-1">
<Info className="h-3.5 w-3.5" />
<span>{data.go}</span>
</span>
</TooltipTrigger>
<TooltipContent side="top">
<div className="font-mono text-xs">
{data.goOS}/{data.goArch}
</div>
</TooltipContent>
</Tooltip>
<Separator orientation="vertical" className="hidden h-4 sm:block" />
<span className="hidden sm:inline">
built <span className="font-mono">{formatBuilt(data.built)}</span>
</span>
<Separator orientation="vertical" className="hidden h-4 sm:block" />
<Button
variant="ghost"
size="icon"
className="h-7 w-7"
onClick={() => {
navigator.clipboard?.writeText(copyText).catch(() => {})
}}
title="Copy version details"
>
<Clipboard className="h-4 w-4" />
</Button>
<a
href="/api/v1/version"
target="_blank"
rel="noreferrer"
className="inline-flex items-center gap-1 text-xs underline-offset-4 hover:underline"
title="Open raw version JSON"
>
JSON <ExternalLink className="h-3.5 w-3.5" />
</a>
</div>
</TooltipProvider>
) : null}
</div>
</div>
</footer>
)
})

4
ui/src/sdk/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
wwwroot/*.js
node_modules
typings
dist

1
ui/src/sdk/.npmignore Normal file
View File

@@ -0,0 +1 @@
README.md

View File

@@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View File

@@ -0,0 +1,135 @@
.gitignore
.npmignore
.openapi-generator-ignore
README.md
docs/AnnotationsApi.md
docs/ArcherAdminApi.md
docs/AuthApi.md
docs/DtoAnnotationResponse.md
docs/DtoAttachAnnotationsRequest.md
docs/DtoAttachLabelsRequest.md
docs/DtoAttachServersRequest.md
docs/DtoAttachTaintsRequest.md
docs/DtoAuthStartResponse.md
docs/DtoCreateAnnotationRequest.md
docs/DtoCreateLabelRequest.md
docs/DtoCreateNodePoolRequest.md
docs/DtoCreateSSHRequest.md
docs/DtoCreateServerRequest.md
docs/DtoCreateTaintRequest.md
docs/DtoJWK.md
docs/DtoJWKS.md
docs/DtoJob.md
docs/DtoJobStatus.md
docs/DtoLabelResponse.md
docs/DtoLogoutRequest.md
docs/DtoNodePoolResponse.md
docs/DtoPageJob.md
docs/DtoQueueInfo.md
docs/DtoRefreshRequest.md
docs/DtoServerResponse.md
docs/DtoSshResponse.md
docs/DtoSshRevealResponse.md
docs/DtoTaintResponse.md
docs/DtoTokenPair.md
docs/DtoUpdateAnnotationRequest.md
docs/DtoUpdateLabelRequest.md
docs/DtoUpdateNodePoolRequest.md
docs/DtoUpdateServerRequest.md
docs/DtoUpdateTaintRequest.md
docs/HandlersCreateUserKeyRequest.md
docs/HandlersHealthStatus.md
docs/HandlersMeResponse.md
docs/HandlersMemberOut.md
docs/HandlersMemberUpsertReq.md
docs/HandlersOrgCreateReq.md
docs/HandlersOrgKeyCreateReq.md
docs/HandlersOrgKeyCreateResp.md
docs/HandlersOrgUpdateReq.md
docs/HandlersUpdateMeRequest.md
docs/HandlersUserAPIKeyOut.md
docs/HandlersVersionResponse.md
docs/HealthApi.md
docs/LabelsApi.md
docs/MeAPIKeysApi.md
docs/MeApi.md
docs/MetaApi.md
docs/ModelsAPIKey.md
docs/ModelsOrganization.md
docs/ModelsUser.md
docs/ModelsUserEmail.md
docs/NodePoolsApi.md
docs/OrgsApi.md
docs/ServersApi.md
docs/SshApi.md
docs/TaintsApi.md
docs/UtilsErrorResponse.md
package.json
src/apis/AnnotationsApi.ts
src/apis/ArcherAdminApi.ts
src/apis/AuthApi.ts
src/apis/HealthApi.ts
src/apis/LabelsApi.ts
src/apis/MeAPIKeysApi.ts
src/apis/MeApi.ts
src/apis/MetaApi.ts
src/apis/NodePoolsApi.ts
src/apis/OrgsApi.ts
src/apis/ServersApi.ts
src/apis/SshApi.ts
src/apis/TaintsApi.ts
src/apis/index.ts
src/index.ts
src/models/DtoAnnotationResponse.ts
src/models/DtoAttachAnnotationsRequest.ts
src/models/DtoAttachLabelsRequest.ts
src/models/DtoAttachServersRequest.ts
src/models/DtoAttachTaintsRequest.ts
src/models/DtoAuthStartResponse.ts
src/models/DtoCreateAnnotationRequest.ts
src/models/DtoCreateLabelRequest.ts
src/models/DtoCreateNodePoolRequest.ts
src/models/DtoCreateSSHRequest.ts
src/models/DtoCreateServerRequest.ts
src/models/DtoCreateTaintRequest.ts
src/models/DtoJWK.ts
src/models/DtoJWKS.ts
src/models/DtoJob.ts
src/models/DtoJobStatus.ts
src/models/DtoLabelResponse.ts
src/models/DtoLogoutRequest.ts
src/models/DtoNodePoolResponse.ts
src/models/DtoPageJob.ts
src/models/DtoQueueInfo.ts
src/models/DtoRefreshRequest.ts
src/models/DtoServerResponse.ts
src/models/DtoSshResponse.ts
src/models/DtoSshRevealResponse.ts
src/models/DtoTaintResponse.ts
src/models/DtoTokenPair.ts
src/models/DtoUpdateAnnotationRequest.ts
src/models/DtoUpdateLabelRequest.ts
src/models/DtoUpdateNodePoolRequest.ts
src/models/DtoUpdateServerRequest.ts
src/models/DtoUpdateTaintRequest.ts
src/models/HandlersCreateUserKeyRequest.ts
src/models/HandlersHealthStatus.ts
src/models/HandlersMeResponse.ts
src/models/HandlersMemberOut.ts
src/models/HandlersMemberUpsertReq.ts
src/models/HandlersOrgCreateReq.ts
src/models/HandlersOrgKeyCreateReq.ts
src/models/HandlersOrgKeyCreateResp.ts
src/models/HandlersOrgUpdateReq.ts
src/models/HandlersUpdateMeRequest.ts
src/models/HandlersUserAPIKeyOut.ts
src/models/HandlersVersionResponse.ts
src/models/ModelsAPIKey.ts
src/models/ModelsOrganization.ts
src/models/ModelsUser.ts
src/models/ModelsUserEmail.ts
src/models/UtilsErrorResponse.ts
src/models/index.ts
src/runtime.ts
tsconfig.esm.json
tsconfig.json

View File

@@ -0,0 +1 @@
7.17.0

View File

@@ -0,0 +1,352 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoAnnotationResponse, DtoCreateAnnotationRequest, DtoUpdateAnnotationRequest, } from "../models/index"
import {
DtoAnnotationResponseFromJSON,
DtoCreateAnnotationRequestToJSON,
DtoUpdateAnnotationRequestToJSON,
} from "../models/index"
export interface CreateAnnotationRequest {
body: DtoCreateAnnotationRequest;
xOrgID?: string;
}
export interface DeleteAnnotationRequest {
id: string;
xOrgID?: string;
}
export interface GetAnnotationRequest {
id: string;
xOrgID?: string;
}
export interface ListAnnotationsRequest {
xOrgID?: string;
key?: string;
value?: string;
q?: string;
}
export interface UpdateAnnotationRequest {
id: string;
body: DtoUpdateAnnotationRequest;
xOrgID?: string;
}
/**
*
*/
export class AnnotationsApi extends runtime.BaseAPI {
/**
* Creates an annotation.
* Create annotation (org scoped)
*/
async createAnnotationRaw(requestParameters: CreateAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoAnnotationResponse>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createAnnotation().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/annotations`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoCreateAnnotationRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoAnnotationResponseFromJSON(jsonValue));
}
/**
* Creates an annotation.
* Create annotation (org scoped)
*/
async createAnnotation(requestParameters: CreateAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoAnnotationResponse> {
const response = await this.createAnnotationRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes the annotation.
* Delete annotation (org scoped)
*/
async deleteAnnotationRaw(requestParameters: DeleteAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteAnnotation().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/annotations/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Permanently deletes the annotation.
* Delete annotation (org scoped)
*/
async deleteAnnotation(requestParameters: DeleteAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.deleteAnnotationRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns one annotation. Add `include=node_pools` to include node pools.
* Get annotation by ID (org scoped)
*/
async getAnnotationRaw(requestParameters: GetAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoAnnotationResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getAnnotation().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/annotations/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoAnnotationResponseFromJSON(jsonValue));
}
/**
* Returns one annotation. Add `include=node_pools` to include node pools.
* Get annotation by ID (org scoped)
*/
async getAnnotation(requestParameters: GetAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoAnnotationResponse> {
const response = await this.getAnnotationRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns annotations for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node pools.
* List annotations (org scoped)
*/
async listAnnotationsRaw(requestParameters: ListAnnotationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoAnnotationResponse>>> {
const queryParameters: any = {};
if (requestParameters['key'] != null) {
queryParameters['key'] = requestParameters['key'];
}
if (requestParameters['value'] != null) {
queryParameters['value'] = requestParameters['value'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/annotations`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoAnnotationResponseFromJSON));
}
/**
* Returns annotations for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node pools.
* List annotations (org scoped)
*/
async listAnnotations(requestParameters: ListAnnotationsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoAnnotationResponse>> {
const response = await this.listAnnotationsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Partially update annotation fields.
* Update annotation (org scoped)
*/
async updateAnnotationRaw(requestParameters: UpdateAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoAnnotationResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateAnnotation().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateAnnotation().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/annotations/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: DtoUpdateAnnotationRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoAnnotationResponseFromJSON(jsonValue));
}
/**
* Partially update annotation fields.
* Update annotation (org scoped)
*/
async updateAnnotation(requestParameters: UpdateAnnotationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoAnnotationResponse> {
const response = await this.updateAnnotationRaw(requestParameters, initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,280 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoJob, DtoPageJob, DtoQueueInfo, } from "../models/index"
import { DtoJobFromJSON, DtoPageJobFromJSON, DtoQueueInfoFromJSON, } from "../models/index"
export interface AdminCancelArcherJobRequest {
id: string;
}
export interface AdminEnqueueArcherJobRequest {
body: object;
}
export interface AdminListArcherJobsRequest {
status?: AdminListArcherJobsStatusEnum;
queue?: string;
q?: string;
page?: number;
pageSize?: number;
}
export interface AdminRetryArcherJobRequest {
id: string;
}
/**
*
*/
export class ArcherAdminApi extends runtime.BaseAPI {
/**
* Set job status to canceled if cancellable. For running jobs, this only affects future picks; wire to Archer if you need active kill.
* Cancel an Archer job (admin)
*/
async adminCancelArcherJobRaw(requestParameters: AdminCancelArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoJob>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling adminCancelArcherJob().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/admin/archer/jobs/{id}/cancel`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoJobFromJSON(jsonValue));
}
/**
* Set job status to canceled if cancellable. For running jobs, this only affects future picks; wire to Archer if you need active kill.
* Cancel an Archer job (admin)
*/
async adminCancelArcherJob(requestParameters: AdminCancelArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoJob> {
const response = await this.adminCancelArcherJobRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create a job immediately or schedule it for the future via `run_at`.
* Enqueue a new Archer job (admin)
*/
async adminEnqueueArcherJobRaw(requestParameters: AdminEnqueueArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoJob>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling adminEnqueueArcherJob().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/admin/archer/jobs`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: requestParameters['body'] as any,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoJobFromJSON(jsonValue));
}
/**
* Create a job immediately or schedule it for the future via `run_at`.
* Enqueue a new Archer job (admin)
*/
async adminEnqueueArcherJob(requestParameters: AdminEnqueueArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoJob> {
const response = await this.adminEnqueueArcherJobRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Paginated background jobs with optional filters. Search `q` may match id, type, error, payload (implementation-dependent).
* List Archer jobs (admin)
*/
async adminListArcherJobsRaw(requestParameters: AdminListArcherJobsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoPageJob>> {
const queryParameters: any = {};
if (requestParameters['status'] != null) {
queryParameters['status'] = requestParameters['status'];
}
if (requestParameters['queue'] != null) {
queryParameters['queue'] = requestParameters['queue'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['pageSize'] != null) {
queryParameters['page_size'] = requestParameters['pageSize'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/admin/archer/jobs`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoPageJobFromJSON(jsonValue));
}
/**
* Paginated background jobs with optional filters. Search `q` may match id, type, error, payload (implementation-dependent).
* List Archer jobs (admin)
*/
async adminListArcherJobs(requestParameters: AdminListArcherJobsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoPageJob> {
const response = await this.adminListArcherJobsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Summary metrics per queue (pending, running, failed, scheduled).
* List Archer queues (admin)
*/
async adminListArcherQueuesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoQueueInfo>>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/admin/archer/queues`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoQueueInfoFromJSON));
}
/**
* Summary metrics per queue (pending, running, failed, scheduled).
* List Archer queues (admin)
*/
async adminListArcherQueues(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoQueueInfo>> {
const response = await this.adminListArcherQueuesRaw(initOverrides);
return await response.value();
}
/**
* Marks the job retriable (DB flip). Swap this for an Archer admin call if you expose one.
* Retry a failed/canceled Archer job (admin)
*/
async adminRetryArcherJobRaw(requestParameters: AdminRetryArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoJob>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling adminRetryArcherJob().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/admin/archer/jobs/{id}/retry`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoJobFromJSON(jsonValue));
}
/**
* Marks the job retriable (DB flip). Swap this for an Archer admin call if you expose one.
* Retry a failed/canceled Archer job (admin)
*/
async adminRetryArcherJob(requestParameters: AdminRetryArcherJobRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoJob> {
const response = await this.adminRetryArcherJobRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
*/
export const AdminListArcherJobsStatusEnum = {
queued: 'queued',
running: 'running',
succeeded: 'succeeded',
failed: 'failed',
canceled: 'canceled',
retrying: 'retrying',
scheduled: 'scheduled'
} as const;
export type AdminListArcherJobsStatusEnum = typeof AdminListArcherJobsStatusEnum[keyof typeof AdminListArcherJobsStatusEnum];

231
ui/src/sdk/apis/AuthApi.ts Normal file
View File

@@ -0,0 +1,231 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoAuthStartResponse, DtoJWKS, DtoLogoutRequest, DtoRefreshRequest, DtoTokenPair, } from "../models/index"
import {
DtoAuthStartResponseFromJSON,
DtoJWKSFromJSON,
DtoLogoutRequestToJSON,
DtoRefreshRequestToJSON,
DtoTokenPairFromJSON,
} from "../models/index"
export interface AuthCallbackRequest {
provider: string;
}
export interface AuthStartRequest {
provider: string;
}
export interface LogoutRequest {
body: DtoLogoutRequest;
}
export interface RefreshRequest {
body: DtoRefreshRequest;
}
/**
*
*/
export class AuthApi extends runtime.BaseAPI {
/**
* Handle social login callback
*/
async authCallbackRaw(requestParameters: AuthCallbackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoTokenPair>> {
if (requestParameters['provider'] == null) {
throw new runtime.RequiredError(
'provider',
'Required parameter "provider" was null or undefined when calling authCallback().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
let urlPath = `/auth/{provider}/callback`;
urlPath = urlPath.replace(`{${"provider"}}`, encodeURIComponent(String(requestParameters['provider'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoTokenPairFromJSON(jsonValue));
}
/**
* Handle social login callback
*/
async authCallback(requestParameters: AuthCallbackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoTokenPair> {
const response = await this.authCallbackRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns provider authorization URL for the frontend to redirect
* Begin social login
*/
async authStartRaw(requestParameters: AuthStartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoAuthStartResponse>> {
if (requestParameters['provider'] == null) {
throw new runtime.RequiredError(
'provider',
'Required parameter "provider" was null or undefined when calling authStart().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
let urlPath = `/auth/{provider}/start`;
urlPath = urlPath.replace(`{${"provider"}}`, encodeURIComponent(String(requestParameters['provider'])));
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoAuthStartResponseFromJSON(jsonValue));
}
/**
* Returns provider authorization URL for the frontend to redirect
* Begin social login
*/
async authStart(requestParameters: AuthStartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoAuthStartResponse> {
const response = await this.authStartRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns the JSON Web Key Set for token verification
* Get JWKS
*/
async getJWKSRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoJWKS>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
let urlPath = `/.well-known/jwks.json`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoJWKSFromJSON(jsonValue));
}
/**
* Returns the JSON Web Key Set for token verification
* Get JWKS
*/
async getJWKS(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoJWKS> {
const response = await this.getJWKSRaw(initOverrides);
return await response.value();
}
/**
* Revoke refresh token family (logout everywhere)
*/
async logoutRaw(requestParameters: LogoutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling logout().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
let urlPath = `/auth/logout`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoLogoutRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Revoke refresh token family (logout everywhere)
*/
async logout(requestParameters: LogoutRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.logoutRaw(requestParameters, initOverrides);
}
/**
* Rotate refresh token
*/
async refreshRaw(requestParameters: RefreshRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoTokenPair>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling refresh().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
let urlPath = `/auth/refresh`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoRefreshRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoTokenPairFromJSON(jsonValue));
}
/**
* Rotate refresh token
*/
async refresh(requestParameters: RefreshRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoTokenPair> {
const response = await this.refreshRaw(requestParameters, initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,56 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { HandlersHealthStatus, } from "../models/index"
import { HandlersHealthStatusFromJSON, } from "../models/index"
/**
*
*/
export class HealthApi extends runtime.BaseAPI {
/**
* Returns 200 OK when the service is up
* Basic health check
*/
async healthCheckOperationIdRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersHealthStatus>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
let urlPath = `/healthz`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersHealthStatusFromJSON(jsonValue));
}
/**
* Returns 200 OK when the service is up
* Basic health check
*/
async healthCheckOperationId(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersHealthStatus> {
const response = await this.healthCheckOperationIdRaw(initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,348 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoCreateLabelRequest, DtoLabelResponse, DtoUpdateLabelRequest, } from "../models/index"
import { DtoCreateLabelRequestToJSON, DtoLabelResponseFromJSON, DtoUpdateLabelRequestToJSON, } from "../models/index"
export interface CreateLabelRequest {
body: DtoCreateLabelRequest;
xOrgID?: string;
}
export interface DeleteLabelRequest {
id: string;
xOrgID?: string;
}
export interface GetLabelRequest {
id: string;
xOrgID?: string;
}
export interface ListLabelsRequest {
xOrgID?: string;
key?: string;
value?: string;
q?: string;
}
export interface UpdateLabelRequest {
id: string;
body: DtoUpdateLabelRequest;
xOrgID?: string;
}
/**
*
*/
export class LabelsApi extends runtime.BaseAPI {
/**
* Creates a label.
* Create label (org scoped)
*/
async createLabelRaw(requestParameters: CreateLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoLabelResponse>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createLabel().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/labels`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoCreateLabelRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoLabelResponseFromJSON(jsonValue));
}
/**
* Creates a label.
* Create label (org scoped)
*/
async createLabel(requestParameters: CreateLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoLabelResponse> {
const response = await this.createLabelRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes the label.
* Delete label (org scoped)
*/
async deleteLabelRaw(requestParameters: DeleteLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteLabel().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/labels/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Permanently deletes the label.
* Delete label (org scoped)
*/
async deleteLabel(requestParameters: DeleteLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.deleteLabelRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns one label.
* Get label by ID (org scoped)
*/
async getLabelRaw(requestParameters: GetLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoLabelResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getLabel().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/labels/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoLabelResponseFromJSON(jsonValue));
}
/**
* Returns one label.
* Get label by ID (org scoped)
*/
async getLabel(requestParameters: GetLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoLabelResponse> {
const response = await this.getLabelRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns node labels for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node groups.
* List node labels (org scoped)
*/
async listLabelsRaw(requestParameters: ListLabelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoLabelResponse>>> {
const queryParameters: any = {};
if (requestParameters['key'] != null) {
queryParameters['key'] = requestParameters['key'];
}
if (requestParameters['value'] != null) {
queryParameters['value'] = requestParameters['value'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/labels`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoLabelResponseFromJSON));
}
/**
* Returns node labels for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node groups.
* List node labels (org scoped)
*/
async listLabels(requestParameters: ListLabelsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoLabelResponse>> {
const response = await this.listLabelsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Partially update label fields.
* Update label (org scoped)
*/
async updateLabelRaw(requestParameters: UpdateLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoLabelResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateLabel().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateLabel().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/labels/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: DtoUpdateLabelRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoLabelResponseFromJSON(jsonValue));
}
/**
* Partially update label fields.
* Update label (org scoped)
*/
async updateLabel(requestParameters: UpdateLabelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoLabelResponse> {
const response = await this.updateLabelRaw(requestParameters, initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,159 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { HandlersCreateUserKeyRequest, HandlersUserAPIKeyOut, } from "../models/index"
import { HandlersCreateUserKeyRequestToJSON, HandlersUserAPIKeyOutFromJSON, } from "../models/index"
export interface CreateUserAPIKeyRequest {
body: HandlersCreateUserKeyRequest;
}
export interface DeleteUserAPIKeyRequest {
id: string;
}
/**
*
*/
export class MeAPIKeysApi extends runtime.BaseAPI {
/**
* Returns the plaintext key once. Store it securely on the client side.
* Create a new user API key
*/
async createUserAPIKeyRaw(requestParameters: CreateUserAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersUserAPIKeyOut>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createUserAPIKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-API-KEY"] = await this.configuration.apiKey("X-API-KEY"); // ApiKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/me/api-keys`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: HandlersCreateUserKeyRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersUserAPIKeyOutFromJSON(jsonValue));
}
/**
* Returns the plaintext key once. Store it securely on the client side.
* Create a new user API key
*/
async createUserAPIKey(requestParameters: CreateUserAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersUserAPIKeyOut> {
const response = await this.createUserAPIKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Delete a user API key
*/
async deleteUserAPIKeyRaw(requestParameters: DeleteUserAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteUserAPIKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/me/api-keys/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete a user API key
*/
async deleteUserAPIKey(requestParameters: DeleteUserAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteUserAPIKeyRaw(requestParameters, initOverrides);
}
/**
* List my API keys
*/
async listUserAPIKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<HandlersUserAPIKeyOut>>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-API-KEY"] = await this.configuration.apiKey("X-API-KEY"); // ApiKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/me/api-keys`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(HandlersUserAPIKeyOutFromJSON));
}
/**
* List my API keys
*/
async listUserAPIKeys(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<HandlersUserAPIKeyOut>> {
const response = await this.listUserAPIKeysRaw(initOverrides);
return await response.value();
}
}

113
ui/src/sdk/apis/MeApi.ts Normal file
View File

@@ -0,0 +1,113 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { HandlersMeResponse, HandlersUpdateMeRequest, ModelsUser, } from "../models/index"
import { HandlersMeResponseFromJSON, HandlersUpdateMeRequestToJSON, ModelsUserFromJSON, } from "../models/index"
export interface UpdateMeRequest {
body: HandlersUpdateMeRequest;
}
/**
*
*/
export class MeApi extends runtime.BaseAPI {
/**
* Get current user profile
*/
async getMeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersMeResponse>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-API-KEY"] = await this.configuration.apiKey("X-API-KEY"); // ApiKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/me`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersMeResponseFromJSON(jsonValue));
}
/**
* Get current user profile
*/
async getMe(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersMeResponse> {
const response = await this.getMeRaw(initOverrides);
return await response.value();
}
/**
* Update current user profile
*/
async updateMeRaw(requestParameters: UpdateMeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelsUser>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateMe().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-API-KEY"] = await this.configuration.apiKey("X-API-KEY"); // ApiKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/me`;
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: HandlersUpdateMeRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ModelsUserFromJSON(jsonValue));
}
/**
* Update current user profile
*/
async updateMe(requestParameters: UpdateMeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelsUser> {
const response = await this.updateMeRaw(requestParameters, initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,56 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { HandlersVersionResponse, } from "../models/index"
import { HandlersVersionResponseFromJSON, } from "../models/index"
/**
*
*/
export class MetaApi extends runtime.BaseAPI {
/**
* Returns build/runtime metadata for the running service.
* Service version information
*/
async versionOperationIdRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersVersionResponse>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
let urlPath = `/version`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersVersionResponseFromJSON(jsonValue));
}
/**
* Returns build/runtime metadata for the running service.
* Service version information
*/
async versionOperationId(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersVersionResponse> {
const response = await this.versionOperationIdRaw(initOverrides);
return await response.value();
}
}

File diff suppressed because it is too large Load Diff

576
ui/src/sdk/apis/OrgsApi.ts Normal file
View File

@@ -0,0 +1,576 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 {
HandlersMemberOut,
HandlersMemberUpsertReq,
HandlersOrgCreateReq,
HandlersOrgKeyCreateReq,
HandlersOrgKeyCreateResp,
HandlersOrgUpdateReq,
ModelsAPIKey,
ModelsOrganization,
} from "../models/index"
import {
HandlersMemberOutFromJSON,
HandlersMemberUpsertReqToJSON,
HandlersOrgCreateReqToJSON,
HandlersOrgKeyCreateReqToJSON,
HandlersOrgKeyCreateRespFromJSON,
HandlersOrgUpdateReqToJSON,
ModelsAPIKeyFromJSON,
ModelsOrganizationFromJSON,
} from "../models/index"
export interface AddOrUpdateMemberRequest {
id: string;
body: HandlersMemberUpsertReq;
}
export interface CreateOrgRequest {
body: HandlersOrgCreateReq;
}
export interface CreateOrgKeyRequest {
id: string;
body: HandlersOrgKeyCreateReq;
}
export interface DeleteOrgRequest {
id: string;
}
export interface DeleteOrgKeyRequest {
id: string;
keyId: string;
}
export interface GetOrgRequest {
id: string;
}
export interface ListMembersRequest {
id: string;
}
export interface ListOrgKeysRequest {
id: string;
}
export interface RemoveMemberRequest {
id: string;
userId: string;
}
export interface UpdateOrgRequest {
id: string;
body: HandlersOrgUpdateReq;
}
/**
*
*/
export class OrgsApi extends runtime.BaseAPI {
/**
* Add or update a member (owner/admin)
*/
async addOrUpdateMemberRaw(requestParameters: AddOrUpdateMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersMemberOut>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling addOrUpdateMember().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling addOrUpdateMember().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/members`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: HandlersMemberUpsertReqToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersMemberOutFromJSON(jsonValue));
}
/**
* Add or update a member (owner/admin)
*/
async addOrUpdateMember(requestParameters: AddOrUpdateMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersMemberOut> {
const response = await this.addOrUpdateMemberRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create organization
*/
async createOrgRaw(requestParameters: CreateOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelsOrganization>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createOrg().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: HandlersOrgCreateReqToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ModelsOrganizationFromJSON(jsonValue));
}
/**
* Create organization
*/
async createOrg(requestParameters: CreateOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelsOrganization> {
const response = await this.createOrgRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create org key/secret pair (owner/admin)
*/
async createOrgKeyRaw(requestParameters: CreateOrgKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HandlersOrgKeyCreateResp>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling createOrgKey().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createOrgKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/api-keys`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: HandlersOrgKeyCreateReqToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HandlersOrgKeyCreateRespFromJSON(jsonValue));
}
/**
* Create org key/secret pair (owner/admin)
*/
async createOrgKey(requestParameters: CreateOrgKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HandlersOrgKeyCreateResp> {
const response = await this.createOrgKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Delete organization (owner)
*/
async deleteOrgRaw(requestParameters: DeleteOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteOrg().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete organization (owner)
*/
async deleteOrg(requestParameters: DeleteOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteOrgRaw(requestParameters, initOverrides);
}
/**
* Delete org key (owner/admin)
*/
async deleteOrgKeyRaw(requestParameters: DeleteOrgKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteOrgKey().'
);
}
if (requestParameters['keyId'] == null) {
throw new runtime.RequiredError(
'keyId',
'Required parameter "keyId" was null or undefined when calling deleteOrgKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/api-keys/{key_id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
urlPath = urlPath.replace(`{${"key_id"}}`, encodeURIComponent(String(requestParameters['keyId'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete org key (owner/admin)
*/
async deleteOrgKey(requestParameters: DeleteOrgKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteOrgKeyRaw(requestParameters, initOverrides);
}
/**
* Get organization
*/
async getOrgRaw(requestParameters: GetOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelsOrganization>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getOrg().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ModelsOrganizationFromJSON(jsonValue));
}
/**
* Get organization
*/
async getOrg(requestParameters: GetOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelsOrganization> {
const response = await this.getOrgRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* List members in org
*/
async listMembersRaw(requestParameters: ListMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<HandlersMemberOut>>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling listMembers().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/members`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(HandlersMemberOutFromJSON));
}
/**
* List members in org
*/
async listMembers(requestParameters: ListMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<HandlersMemberOut>> {
const response = await this.listMembersRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* List organizations I belong to
*/
async listMyOrgsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelsOrganization>>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelsOrganizationFromJSON));
}
/**
* List organizations I belong to
*/
async listMyOrgs(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelsOrganization>> {
const response = await this.listMyOrgsRaw(initOverrides);
return await response.value();
}
/**
* List org-scoped API keys (no secrets)
*/
async listOrgKeysRaw(requestParameters: ListOrgKeysRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelsAPIKey>>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling listOrgKeys().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/api-keys`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelsAPIKeyFromJSON));
}
/**
* List org-scoped API keys (no secrets)
*/
async listOrgKeys(requestParameters: ListOrgKeysRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelsAPIKey>> {
const response = await this.listOrgKeysRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Remove a member (owner/admin)
*/
async removeMemberRaw(requestParameters: RemoveMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling removeMember().'
);
}
if (requestParameters['userId'] == null) {
throw new runtime.RequiredError(
'userId',
'Required parameter "userId" was null or undefined when calling removeMember().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}/members/{user_id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
urlPath = urlPath.replace(`{${"user_id"}}`, encodeURIComponent(String(requestParameters['userId'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Remove a member (owner/admin)
*/
async removeMember(requestParameters: RemoveMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.removeMemberRaw(requestParameters, initOverrides);
}
/**
* Update organization (owner/admin)
*/
async updateOrgRaw(requestParameters: UpdateOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelsOrganization>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateOrg().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateOrg().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/orgs/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: HandlersOrgUpdateReqToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ModelsOrganizationFromJSON(jsonValue));
}
/**
* Update organization (owner/admin)
*/
async updateOrg(requestParameters: UpdateOrgRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelsOrganization> {
const response = await this.updateOrgRaw(requestParameters, initOverrides);
return await response.value();
}
}

View File

@@ -0,0 +1,343 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoCreateServerRequest, DtoServerResponse, DtoUpdateServerRequest, } from "../models/index"
import { DtoCreateServerRequestToJSON, DtoServerResponseFromJSON, DtoUpdateServerRequestToJSON, } from "../models/index"
export interface CreateServerRequest {
body: DtoCreateServerRequest;
xOrgID?: string;
}
export interface DeleteServerRequest {
id: string;
xOrgID?: string;
}
export interface GetServerRequest {
id: string;
xOrgID?: string;
}
export interface ListServersRequest {
xOrgID?: string;
status?: string;
role?: string;
}
export interface UpdateServerRequest {
id: string;
body: DtoUpdateServerRequest;
xOrgID?: string;
}
/**
*
*/
export class ServersApi extends runtime.BaseAPI {
/**
* Creates a server bound to the org in X-Org-ID. Validates that ssh_key_id belongs to the org.
* Create server (org scoped)
*/
async createServerRaw(requestParameters: CreateServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoServerResponse>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createServer().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/servers`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoCreateServerRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoServerResponseFromJSON(jsonValue));
}
/**
* Creates a server bound to the org in X-Org-ID. Validates that ssh_key_id belongs to the org.
* Create server (org scoped)
*/
async createServer(requestParameters: CreateServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoServerResponse> {
const response = await this.createServerRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes the server.
* Delete server (org scoped)
*/
async deleteServerRaw(requestParameters: DeleteServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteServer().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/servers/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Permanently deletes the server.
* Delete server (org scoped)
*/
async deleteServer(requestParameters: DeleteServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.deleteServerRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns one server in the given organization.
* Get server by ID (org scoped)
*/
async getServerRaw(requestParameters: GetServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoServerResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getServer().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/servers/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoServerResponseFromJSON(jsonValue));
}
/**
* Returns one server in the given organization.
* Get server by ID (org scoped)
*/
async getServer(requestParameters: GetServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoServerResponse> {
const response = await this.getServerRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns servers for the organization in X-Org-ID. Optional filters: status, role.
* List servers (org scoped)
*/
async listServersRaw(requestParameters: ListServersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoServerResponse>>> {
const queryParameters: any = {};
if (requestParameters['status'] != null) {
queryParameters['status'] = requestParameters['status'];
}
if (requestParameters['role'] != null) {
queryParameters['role'] = requestParameters['role'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/servers`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoServerResponseFromJSON));
}
/**
* Returns servers for the organization in X-Org-ID. Optional filters: status, role.
* List servers (org scoped)
*/
async listServers(requestParameters: ListServersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoServerResponse>> {
const response = await this.listServersRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Partially update fields; changing ssh_key_id validates ownership.
* Update server (org scoped)
*/
async updateServerRaw(requestParameters: UpdateServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoServerResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateServer().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateServer().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/servers/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: DtoUpdateServerRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoServerResponseFromJSON(jsonValue));
}
/**
* Partially update fields; changing ssh_key_id validates ownership.
* Update server (org scoped)
*/
async updateServer(requestParameters: UpdateServerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoServerResponse> {
const response = await this.updateServerRaw(requestParameters, initOverrides);
return await response.value();
}
}

360
ui/src/sdk/apis/SshApi.ts Normal file
View File

@@ -0,0 +1,360 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoCreateSSHRequest, DtoSshResponse, DtoSshRevealResponse, } from "../models/index"
import { DtoCreateSSHRequestToJSON, DtoSshResponseFromJSON, DtoSshRevealResponseFromJSON, } from "../models/index"
export interface CreateSSHKeyRequest {
body: DtoCreateSSHRequest;
xOrgID?: string;
}
export interface DeleteSSHKeyRequest {
id: string;
xOrgID?: string;
}
export interface DownloadSSHKeyRequest {
xOrgID: string;
id: string;
part: DownloadSSHKeyPartEnum;
}
export interface GetSSHKeyRequest {
id: string;
xOrgID?: string;
reveal?: boolean;
}
export interface ListPublicSshKeysRequest {
xOrgID?: string;
}
/**
*
*/
export class SshApi extends runtime.BaseAPI {
/**
* Generates an RSA or ED25519 keypair, saves it, and returns metadata. For RSA you may set bits (2048/3072/4096). Default is 4096. ED25519 ignores bits.
* Create ssh keypair (org scoped)
*/
async createSSHKeyRaw(requestParameters: CreateSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoSshResponse>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createSSHKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/ssh`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoCreateSSHRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoSshResponseFromJSON(jsonValue));
}
/**
* Generates an RSA or ED25519 keypair, saves it, and returns metadata. For RSA you may set bits (2048/3072/4096). Default is 4096. ED25519 ignores bits.
* Create ssh keypair (org scoped)
*/
async createSSHKey(requestParameters: CreateSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoSshResponse> {
const response = await this.createSSHKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes a keypair.
* Delete ssh keypair (org scoped)
*/
async deleteSSHKeyRaw(requestParameters: DeleteSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteSSHKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/ssh/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Permanently deletes a keypair.
* Delete ssh keypair (org scoped)
*/
async deleteSSHKey(requestParameters: DeleteSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.deleteSSHKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Download `part=public|private|both` of the keypair. `both` returns a zip file.
* Download ssh key files by ID (org scoped)
*/
async downloadSSHKeyRaw(requestParameters: DownloadSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['xOrgID'] == null) {
throw new runtime.RequiredError(
'xOrgID',
'Required parameter "xOrgID" was null or undefined when calling downloadSSHKey().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling downloadSSHKey().'
);
}
if (requestParameters['part'] == null) {
throw new runtime.RequiredError(
'part',
'Required parameter "part" was null or undefined when calling downloadSSHKey().'
);
}
const queryParameters: any = {};
if (requestParameters['part'] != null) {
queryParameters['part'] = requestParameters['part'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/ssh/{id}/download`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Download `part=public|private|both` of the keypair. `both` returns a zip file.
* Download ssh key files by ID (org scoped)
*/
async downloadSSHKey(requestParameters: DownloadSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.downloadSSHKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns public key fields. Append `?reveal=true` to include the private key PEM.
* Get ssh key by ID (org scoped)
*/
async getSSHKeyRaw(requestParameters: GetSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoSshRevealResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getSSHKey().'
);
}
const queryParameters: any = {};
if (requestParameters['reveal'] != null) {
queryParameters['reveal'] = requestParameters['reveal'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/ssh/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoSshRevealResponseFromJSON(jsonValue));
}
/**
* Returns public key fields. Append `?reveal=true` to include the private key PEM.
* Get ssh key by ID (org scoped)
*/
async getSSHKey(requestParameters: GetSSHKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoSshRevealResponse> {
const response = await this.getSSHKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns ssh keys for the organization in X-Org-ID.
* List ssh keys (org scoped)
*/
async listPublicSshKeysRaw(requestParameters: ListPublicSshKeysRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoSshResponse>>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/ssh`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoSshResponseFromJSON));
}
/**
* Returns ssh keys for the organization in X-Org-ID.
* List ssh keys (org scoped)
*/
async listPublicSshKeys(requestParameters: ListPublicSshKeysRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoSshResponse>> {
const response = await this.listPublicSshKeysRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
*/
export const DownloadSSHKeyPartEnum = {
public: 'public',
private: 'private',
both: 'both'
} as const;
export type DownloadSSHKeyPartEnum = typeof DownloadSSHKeyPartEnum[keyof typeof DownloadSSHKeyPartEnum];

View File

@@ -0,0 +1,346 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 { DtoCreateTaintRequest, DtoTaintResponse, DtoUpdateTaintRequest, } from "../models/index"
import { DtoCreateTaintRequestToJSON, DtoTaintResponseFromJSON, DtoUpdateTaintRequestToJSON, } from "../models/index"
export interface CreateTaintRequest {
body: DtoCreateTaintRequest;
xOrgID?: string;
}
export interface DeleteTaintRequest {
id: string;
xOrgID?: string;
}
export interface GetTaintRequest {
id: string;
xOrgID?: string;
}
export interface ListTaintsRequest {
xOrgID?: string;
key?: string;
value?: string;
q?: string;
}
export interface UpdateTaintRequest {
id: string;
body: DtoUpdateTaintRequest;
xOrgID?: string;
}
/**
*
*/
export class TaintsApi extends runtime.BaseAPI {
/**
* Creates a taint.
* Create node taint (org scoped)
*/
async createTaintRaw(requestParameters: CreateTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoTaintResponse>> {
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling createTaint().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/taints`;
const response = await this.request({
path: urlPath,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: DtoCreateTaintRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoTaintResponseFromJSON(jsonValue));
}
/**
* Creates a taint.
* Create node taint (org scoped)
*/
async createTaint(requestParameters: CreateTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoTaintResponse> {
const response = await this.createTaintRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes the taint.
* Delete taint (org scoped)
*/
async deleteTaintRaw(requestParameters: DeleteTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteTaint().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/taints/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
if (this.isJsonMime(response.headers.get('content-type'))) {
return new runtime.JSONApiResponse<string>(response);
} else {
return new runtime.TextApiResponse(response) as any;
}
}
/**
* Permanently deletes the taint.
* Delete taint (org scoped)
*/
async deleteTaint(requestParameters: DeleteTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
const response = await this.deleteTaintRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get node taint by ID (org scoped)
*/
async getTaintRaw(requestParameters: GetTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoTaintResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getTaint().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/taints/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoTaintResponseFromJSON(jsonValue));
}
/**
* Get node taint by ID (org scoped)
*/
async getTaint(requestParameters: GetTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoTaintResponse> {
const response = await this.getTaintRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns node taints for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node pools.
* List node pool taints (org scoped)
*/
async listTaintsRaw(requestParameters: ListTaintsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DtoTaintResponse>>> {
const queryParameters: any = {};
if (requestParameters['key'] != null) {
queryParameters['key'] = requestParameters['key'];
}
if (requestParameters['value'] != null) {
queryParameters['value'] = requestParameters['value'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/taints`;
const response = await this.request({
path: urlPath,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DtoTaintResponseFromJSON));
}
/**
* Returns node taints for the organization in X-Org-ID. Filters: `key`, `value`, and `q` (key contains). Add `include=node_pools` to include linked node pools.
* List node pool taints (org scoped)
*/
async listTaints(requestParameters: ListTaintsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<DtoTaintResponse>> {
const response = await this.listTaintsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Partially update taint fields.
* Update node taint (org scoped)
*/
async updateTaintRaw(requestParameters: UpdateTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DtoTaintResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateTaint().'
);
}
if (requestParameters['body'] == null) {
throw new runtime.RequiredError(
'body',
'Required parameter "body" was null or undefined when calling updateTaint().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (requestParameters['xOrgID'] != null) {
headerParameters['X-Org-ID'] = String(requestParameters['xOrgID']);
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-KEY"] = await this.configuration.apiKey("X-ORG-KEY"); // OrgKeyAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["X-ORG-SECRET"] = await this.configuration.apiKey("X-ORG-SECRET"); // OrgSecretAuth authentication
}
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // BearerAuth authentication
}
let urlPath = `/taints/{id}`;
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
const response = await this.request({
path: urlPath,
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: DtoUpdateTaintRequestToJSON(requestParameters['body']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => DtoTaintResponseFromJSON(jsonValue));
}
/**
* Partially update taint fields.
* Update node taint (org scoped)
*/
async updateTaint(requestParameters: UpdateTaintRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DtoTaintResponse> {
const response = await this.updateTaintRaw(requestParameters, initOverrides);
return await response.value();
}
}

15
ui/src/sdk/apis/index.ts Normal file
View File

@@ -0,0 +1,15 @@
/* tslint:disable */
/* eslint-disable */
export * from './AnnotationsApi';
export * from './ArcherAdminApi';
export * from './AuthApi';
export * from './HealthApi';
export * from './LabelsApi';
export * from './MeApi';
export * from './MeAPIKeysApi';
export * from './MetaApi';
export * from './NodePoolsApi';
export * from './OrgsApi';
export * from './ServersApi';
export * from './SshApi';
export * from './TaintsApi';

View File

@@ -0,0 +1,433 @@
# AnnotationsApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createAnnotation**](AnnotationsApi.md#createannotation) | **POST** /annotations | Create annotation (org scoped) |
| [**deleteAnnotation**](AnnotationsApi.md#deleteannotation) | **DELETE** /annotations/{id} | Delete annotation (org scoped) |
| [**getAnnotation**](AnnotationsApi.md#getannotation) | **GET** /annotations/{id} | Get annotation by ID (org scoped) |
| [**listAnnotations**](AnnotationsApi.md#listannotations) | **GET** /annotations | List annotations (org scoped) |
| [**updateAnnotation**](AnnotationsApi.md#updateannotation) | **PATCH** /annotations/{id} | Update annotation (org scoped) |
## createAnnotation
> DtoAnnotationResponse createAnnotation(body, xOrgID)
Create annotation (org scoped)
Creates an annotation.
### Example
```ts
import {
Configuration,
AnnotationsApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateAnnotationRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new AnnotationsApi(config);
const body = {
// DtoCreateAnnotationRequest | Annotation payload
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies CreateAnnotationRequest;
try {
const data = await api.createAnnotation(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoCreateAnnotationRequest](DtoCreateAnnotationRequest.md) | Annotation payload | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoAnnotationResponse**](DtoAnnotationResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | invalid json / missing fields | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | create failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteAnnotation
> string deleteAnnotation(id, xOrgID)
Delete annotation (org scoped)
Permanently deletes the annotation.
### Example
```ts
import {
Configuration,
AnnotationsApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteAnnotationRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new AnnotationsApi(config);
const body = {
// string | Annotation ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies DeleteAnnotationRequest;
try {
const data = await api.deleteAnnotation(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Annotation ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | delete failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getAnnotation
> DtoAnnotationResponse getAnnotation(id, xOrgID)
Get annotation by ID (org scoped)
Returns one annotation. Add &#x60;include&#x3D;node_pools&#x60; to include node pools.
### Example
```ts
import {
Configuration,
AnnotationsApi,
} from '@glueops/autoglue-sdk-go';
import type { GetAnnotationRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new AnnotationsApi(config);
const body = {
// string | Annotation ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies GetAnnotationRequest;
try {
const data = await api.getAnnotation(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Annotation ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoAnnotationResponse**](DtoAnnotationResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | fetch failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listAnnotations
> Array&lt;DtoAnnotationResponse&gt; listAnnotations(xOrgID, key, value, q)
List annotations (org scoped)
Returns annotations for the organization in X-Org-ID. Filters: &#x60;key&#x60;, &#x60;value&#x60;, and &#x60;q&#x60; (key contains). Add &#x60;include&#x3D;node_pools&#x60; to include linked node pools.
### Example
```ts
import {
Configuration,
AnnotationsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListAnnotationsRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new AnnotationsApi(config);
const body = {
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
// string | Exact key (optional)
key: key_example,
// string | Exact value (optional)
value: value_example,
// string | key contains (case-insensitive) (optional)
q: q_example,
} satisfies ListAnnotationsRequest;
try {
const data = await api.listAnnotations(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
| **key** | `string` | Exact key | [Optional] [Defaults to `undefined`] |
| **value** | `string` | Exact value | [Optional] [Defaults to `undefined`] |
| **q** | `string` | key contains (case-insensitive) | [Optional] [Defaults to `undefined`] |
### Return type
[**Array&lt;DtoAnnotationResponse&gt;**](DtoAnnotationResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | failed to list annotations | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateAnnotation
> DtoAnnotationResponse updateAnnotation(id, body, xOrgID)
Update annotation (org scoped)
Partially update annotation fields.
### Example
```ts
import {
Configuration,
AnnotationsApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateAnnotationRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new AnnotationsApi(config);
const body = {
// string | Annotation ID (UUID)
id: id_example,
// DtoUpdateAnnotationRequest | Fields to update
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies UpdateAnnotationRequest;
try {
const data = await api.updateAnnotation(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Annotation ID (UUID) | [Defaults to `undefined`] |
| **body** | [DtoUpdateAnnotationRequest](DtoUpdateAnnotationRequest.md) | Fields to update | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoAnnotationResponse**](DtoAnnotationResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id / invalid json | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | update failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,390 @@
# ArcherAdminApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**adminCancelArcherJob**](ArcherAdminApi.md#admincancelarcherjob) | **POST** /admin/archer/jobs/{id}/cancel | Cancel an Archer job (admin) |
| [**adminEnqueueArcherJob**](ArcherAdminApi.md#adminenqueuearcherjob) | **POST** /admin/archer/jobs | Enqueue a new Archer job (admin) |
| [**adminListArcherJobs**](ArcherAdminApi.md#adminlistarcherjobs) | **GET** /admin/archer/jobs | List Archer jobs (admin) |
| [**adminListArcherQueues**](ArcherAdminApi.md#adminlistarcherqueues) | **GET** /admin/archer/queues | List Archer queues (admin) |
| [**adminRetryArcherJob**](ArcherAdminApi.md#adminretryarcherjob) | **POST** /admin/archer/jobs/{id}/retry | Retry a failed/canceled Archer job (admin) |
## adminCancelArcherJob
> DtoJob adminCancelArcherJob(id)
Cancel an Archer job (admin)
Set job status to canceled if cancellable. For running jobs, this only affects future picks; wire to Archer if you need active kill.
### Example
```ts
import {
Configuration,
ArcherAdminApi,
} from '@glueops/autoglue-sdk-go';
import type { AdminCancelArcherJobRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ArcherAdminApi(config);
const body = {
// string | Job ID
id: id_example,
} satisfies AdminCancelArcherJobRequest;
try {
const data = await api.adminCancelArcherJob(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Job ID | [Defaults to `undefined`] |
### Return type
[**DtoJob**](DtoJob.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid job or not cancellable | - |
| **401** | Unauthorized | - |
| **403** | forbidden | - |
| **404** | not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## adminEnqueueArcherJob
> DtoJob adminEnqueueArcherJob(body)
Enqueue a new Archer job (admin)
Create a job immediately or schedule it for the future via &#x60;run_at&#x60;.
### Example
```ts
import {
Configuration,
ArcherAdminApi,
} from '@glueops/autoglue-sdk-go';
import type { AdminEnqueueArcherJobRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ArcherAdminApi(config);
const body = {
// object | Job parameters
body: Object,
} satisfies AdminEnqueueArcherJobRequest;
try {
const data = await api.adminEnqueueArcherJob(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | `object` | Job parameters | |
### Return type
[**DtoJob**](DtoJob.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid json or missing fields | - |
| **401** | Unauthorized | - |
| **403** | forbidden | - |
| **500** | internal error | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## adminListArcherJobs
> DtoPageJob adminListArcherJobs(status, queue, q, page, pageSize)
List Archer jobs (admin)
Paginated background jobs with optional filters. Search &#x60;q&#x60; may match id, type, error, payload (implementation-dependent).
### Example
```ts
import {
Configuration,
ArcherAdminApi,
} from '@glueops/autoglue-sdk-go';
import type { AdminListArcherJobsRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ArcherAdminApi(config);
const body = {
// 'queued' | 'running' | 'succeeded' | 'failed' | 'canceled' | 'retrying' | 'scheduled' | Filter by status (optional)
status: status_example,
// string | Filter by queue name / worker name (optional)
queue: queue_example,
// string | Free-text search (optional)
q: q_example,
// number | Page number (optional)
page: 56,
// number | Items per page (optional)
pageSize: 56,
} satisfies AdminListArcherJobsRequest;
try {
const data = await api.adminListArcherJobs(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **status** | `queued`, `running`, `succeeded`, `failed`, `canceled`, `retrying`, `scheduled` | Filter by status | [Optional] [Defaults to `undefined`] [Enum: queued, running, succeeded, failed, canceled, retrying, scheduled] |
| **queue** | `string` | Filter by queue name / worker name | [Optional] [Defaults to `undefined`] |
| **q** | `string` | Free-text search | [Optional] [Defaults to `undefined`] |
| **page** | `number` | Page number | [Optional] [Defaults to `1`] |
| **pageSize** | `number` | Items per page | [Optional] [Defaults to `25`] |
### Return type
[**DtoPageJob**](DtoPageJob.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | forbidden | - |
| **500** | internal error | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## adminListArcherQueues
> Array&lt;DtoQueueInfo&gt; adminListArcherQueues()
List Archer queues (admin)
Summary metrics per queue (pending, running, failed, scheduled).
### Example
```ts
import {
Configuration,
ArcherAdminApi,
} from '@glueops/autoglue-sdk-go';
import type { AdminListArcherQueuesRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ArcherAdminApi(config);
try {
const data = await api.adminListArcherQueues();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**Array&lt;DtoQueueInfo&gt;**](DtoQueueInfo.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | forbidden | - |
| **500** | internal error | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## adminRetryArcherJob
> DtoJob adminRetryArcherJob(id)
Retry a failed/canceled Archer job (admin)
Marks the job retriable (DB flip). Swap this for an Archer admin call if you expose one.
### Example
```ts
import {
Configuration,
ArcherAdminApi,
} from '@glueops/autoglue-sdk-go';
import type { AdminRetryArcherJobRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ArcherAdminApi(config);
const body = {
// string | Job ID
id: id_example,
} satisfies AdminRetryArcherJobRequest;
try {
const data = await api.adminRetryArcherJob(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Job ID | [Defaults to `undefined`] |
### Return type
[**DtoJob**](DtoJob.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid job or not eligible | - |
| **401** | Unauthorized | - |
| **403** | forbidden | - |
| **404** | not found | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

334
ui/src/sdk/docs/AuthApi.md Normal file
View File

@@ -0,0 +1,334 @@
# AuthApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**authCallback**](AuthApi.md#authcallback) | **GET** /auth/{provider}/callback | Handle social login callback |
| [**authStart**](AuthApi.md#authstart) | **POST** /auth/{provider}/start | Begin social login |
| [**getJWKS**](AuthApi.md#getjwks) | **GET** /.well-known/jwks.json | Get JWKS |
| [**logout**](AuthApi.md#logout) | **POST** /auth/logout | Revoke refresh token family (logout everywhere) |
| [**refresh**](AuthApi.md#refresh) | **POST** /auth/refresh | Rotate refresh token |
## authCallback
> DtoTokenPair authCallback(provider)
Handle social login callback
### Example
```ts
import {
Configuration,
AuthApi,
} from '@glueops/autoglue-sdk-go';
import type { AuthCallbackRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new AuthApi();
const body = {
// string | google|github
provider: provider_example,
} satisfies AuthCallbackRequest;
try {
const data = await api.authCallback(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **provider** | `string` | google|github | [Defaults to `undefined`] |
### Return type
[**DtoTokenPair**](DtoTokenPair.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## authStart
> DtoAuthStartResponse authStart(provider)
Begin social login
Returns provider authorization URL for the frontend to redirect
### Example
```ts
import {
Configuration,
AuthApi,
} from '@glueops/autoglue-sdk-go';
import type { AuthStartRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new AuthApi();
const body = {
// string | google|github
provider: provider_example,
} satisfies AuthStartRequest;
try {
const data = await api.authStart(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **provider** | `string` | google|github | [Defaults to `undefined`] |
### Return type
[**DtoAuthStartResponse**](DtoAuthStartResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getJWKS
> DtoJWKS getJWKS()
Get JWKS
Returns the JSON Web Key Set for token verification
### Example
```ts
import {
Configuration,
AuthApi,
} from '@glueops/autoglue-sdk-go';
import type { GetJWKSRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new AuthApi();
try {
const data = await api.getJWKS();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**DtoJWKS**](DtoJWKS.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## logout
> logout(body)
Revoke refresh token family (logout everywhere)
### Example
```ts
import {
Configuration,
AuthApi,
} from '@glueops/autoglue-sdk-go';
import type { LogoutRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new AuthApi();
const body = {
// DtoLogoutRequest | Refresh token
body: ...,
} satisfies LogoutRequest;
try {
const data = await api.logout(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoLogoutRequest](DtoLogoutRequest.md) | Refresh token | |
### Return type
`void` (Empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## refresh
> DtoTokenPair refresh(body)
Rotate refresh token
### Example
```ts
import {
Configuration,
AuthApi,
} from '@glueops/autoglue-sdk-go';
import type { RefreshRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new AuthApi();
const body = {
// DtoRefreshRequest | Refresh token
body: ...,
} satisfies RefreshRequest;
try {
const data = await api.refresh(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoRefreshRequest](DtoRefreshRequest.md) | Refresh token | |
### Return type
[**DtoTokenPair**](DtoTokenPair.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,44 @@
# DtoAnnotationResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`id` | string
`key` | string
`organization_id` | string
`updated_at` | string
`value` | string
## Example
```typescript
import type { DtoAnnotationResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"id": null,
"key": null,
"organization_id": null,
"updated_at": null,
"value": null,
} satisfies DtoAnnotationResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAnnotationResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoAttachAnnotationsRequest
## Properties
Name | Type
------------ | -------------
`annotation_ids` | Array&lt;string&gt;
## Example
```typescript
import type { DtoAttachAnnotationsRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"annotation_ids": null,
} satisfies DtoAttachAnnotationsRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAttachAnnotationsRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoAttachLabelsRequest
## Properties
Name | Type
------------ | -------------
`label_ids` | Array&lt;string&gt;
## Example
```typescript
import type { DtoAttachLabelsRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"label_ids": null,
} satisfies DtoAttachLabelsRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAttachLabelsRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoAttachServersRequest
## Properties
Name | Type
------------ | -------------
`server_ids` | Array&lt;string&gt;
## Example
```typescript
import type { DtoAttachServersRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"server_ids": null,
} satisfies DtoAttachServersRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAttachServersRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoAttachTaintsRequest
## Properties
Name | Type
------------ | -------------
`taint_ids` | Array&lt;string&gt;
## Example
```typescript
import type { DtoAttachTaintsRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"taint_ids": null,
} satisfies DtoAttachTaintsRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAttachTaintsRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoAuthStartResponse
## Properties
Name | Type
------------ | -------------
`auth_url` | string
## Example
```typescript
import type { DtoAuthStartResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"auth_url": https://accounts.google.com/o/oauth2/v2/auth?client_id=...,
} satisfies DtoAuthStartResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoAuthStartResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoCreateAnnotationRequest
## Properties
Name | Type
------------ | -------------
`key` | string
`value` | string
## Example
```typescript
import type { DtoCreateAnnotationRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"key": null,
"value": null,
} satisfies DtoCreateAnnotationRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateAnnotationRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoCreateLabelRequest
## Properties
Name | Type
------------ | -------------
`key` | string
`value` | string
## Example
```typescript
import type { DtoCreateLabelRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"key": null,
"value": null,
} satisfies DtoCreateLabelRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateLabelRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoCreateNodePoolRequest
## Properties
Name | Type
------------ | -------------
`name` | string
`role` | string
## Example
```typescript
import type { DtoCreateNodePoolRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"name": null,
"role": null,
} satisfies DtoCreateNodePoolRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateNodePoolRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,40 @@
# DtoCreateSSHRequest
## Properties
Name | Type
------------ | -------------
`bits` | number
`comment` | string
`name` | string
`type` | string
## Example
```typescript
import type { DtoCreateSSHRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"bits": null,
"comment": deploy@autoglue,
"name": null,
"type": null,
} satisfies DtoCreateSSHRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateSSHRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# DtoCreateServerRequest
## Properties
Name | Type
------------ | -------------
`hostname` | string
`private_ip_address` | string
`public_ip_address` | string
`role` | string
`ssh_key_id` | string
`ssh_user` | string
`status` | string
## Example
```typescript
import type { DtoCreateServerRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"hostname": null,
"private_ip_address": null,
"public_ip_address": null,
"role": master|worker|bastion,
"ssh_key_id": null,
"ssh_user": null,
"status": pending|provisioning|ready|failed,
} satisfies DtoCreateServerRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateServerRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,38 @@
# DtoCreateTaintRequest
## Properties
Name | Type
------------ | -------------
`effect` | string
`key` | string
`value` | string
## Example
```typescript
import type { DtoCreateTaintRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"effect": null,
"key": null,
"value": null,
} satisfies DtoCreateTaintRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoCreateTaintRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

46
ui/src/sdk/docs/DtoJWK.md Normal file
View File

@@ -0,0 +1,46 @@
# DtoJWK
## Properties
Name | Type
------------ | -------------
`alg` | string
`e` | string
`kid` | string
`kty` | string
`n` | string
`use` | string
`x` | string
## Example
```typescript
import type { DtoJWK } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"alg": RS256,
"e": AQAB,
"kid": 7c6f1d0a-7a98-4e6a-9dbf-6b1af4b9f345,
"kty": RSA,
"n": null,
"use": sig,
"x": null,
} satisfies DtoJWK
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoJWK
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoJWKS
## Properties
Name | Type
------------ | -------------
`keys` | [Array&lt;DtoJWK&gt;](DtoJWK.md)
## Example
```typescript
import type { DtoJWKS } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"keys": null,
} satisfies DtoJWKS
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoJWKS
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

54
ui/src/sdk/docs/DtoJob.md Normal file
View File

@@ -0,0 +1,54 @@
# DtoJob
## Properties
Name | Type
------------ | -------------
`attempts` | number
`created_at` | string
`id` | string
`last_error` | string
`max_attempts` | number
`payload` | object
`queue` | string
`run_at` | string
`status` | [DtoJobStatus](DtoJobStatus.md)
`type` | string
`updated_at` | string
## Example
```typescript
import type { DtoJob } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"attempts": 0,
"created_at": 2025-11-04T09:30:00Z,
"id": 01HF7SZK8Z8WG1M3J7S2Z8M2N6,
"last_error": error message,
"max_attempts": 3,
"payload": null,
"queue": default,
"run_at": 2025-11-04T09:30:00Z,
"status": null,
"type": email.send,
"updated_at": 2025-11-04T09:30:00Z,
} satisfies DtoJob
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoJob
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,32 @@
# DtoJobStatus
## Properties
Name | Type
------------ | -------------
## Example
```typescript
import type { DtoJobStatus } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
} satisfies DtoJobStatus
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoJobStatus
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,44 @@
# DtoLabelResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`id` | string
`key` | string
`organization_id` | string
`updated_at` | string
`value` | string
## Example
```typescript
import type { DtoLabelResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"id": null,
"key": null,
"organization_id": null,
"updated_at": null,
"value": null,
} satisfies DtoLabelResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoLabelResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoLogoutRequest
## Properties
Name | Type
------------ | -------------
`refresh_token` | string
## Example
```typescript
import type { DtoLogoutRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"refresh_token": m0l9o8rT3t0V8d3eFf...,
} satisfies DtoLogoutRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoLogoutRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,52 @@
# DtoNodePoolResponse
## Properties
Name | Type
------------ | -------------
`annotations` | [Array&lt;DtoAnnotationResponse&gt;](DtoAnnotationResponse.md)
`created_at` | string
`id` | string
`labels` | [Array&lt;DtoLabelResponse&gt;](DtoLabelResponse.md)
`name` | string
`organization_id` | string
`role` | string
`servers` | [Array&lt;DtoServerResponse&gt;](DtoServerResponse.md)
`taints` | [Array&lt;DtoTaintResponse&gt;](DtoTaintResponse.md)
`updated_at` | string
## Example
```typescript
import type { DtoNodePoolResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"annotations": null,
"created_at": null,
"id": null,
"labels": null,
"name": null,
"organization_id": null,
"role": null,
"servers": null,
"taints": null,
"updated_at": null,
} satisfies DtoNodePoolResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoNodePoolResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,40 @@
# DtoPageJob
## Properties
Name | Type
------------ | -------------
`items` | [Array&lt;DtoJob&gt;](DtoJob.md)
`page` | number
`page_size` | number
`total` | number
## Example
```typescript
import type { DtoPageJob } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"items": null,
"page": 1,
"page_size": 25,
"total": 120,
} satisfies DtoPageJob
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoPageJob
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,42 @@
# DtoQueueInfo
## Properties
Name | Type
------------ | -------------
`failed` | number
`name` | string
`pending` | number
`running` | number
`scheduled` | number
## Example
```typescript
import type { DtoQueueInfo } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"failed": 5,
"name": default,
"pending": 42,
"running": 3,
"scheduled": 7,
} satisfies DtoQueueInfo
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoQueueInfo
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# DtoRefreshRequest
## Properties
Name | Type
------------ | -------------
`refresh_token` | string
## Example
```typescript
import type { DtoRefreshRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"refresh_token": m0l9o8rT3t0V8d3eFf...,
} satisfies DtoRefreshRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoRefreshRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,54 @@
# DtoServerResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`hostname` | string
`id` | string
`organization_id` | string
`private_ip_address` | string
`public_ip_address` | string
`role` | string
`ssh_key_id` | string
`ssh_user` | string
`status` | string
`updated_at` | string
## Example
```typescript
import type { DtoServerResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"hostname": null,
"id": null,
"organization_id": null,
"private_ip_address": null,
"public_ip_address": null,
"role": master|worker|bastion,
"ssh_key_id": null,
"ssh_user": null,
"status": pending|provisioning|ready|failed,
"updated_at": null,
} satisfies DtoServerResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoServerResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# DtoSshResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`fingerprint` | string
`id` | string
`name` | string
`organization_id` | string
`public_key` | string
`updated_at` | string
## Example
```typescript
import type { DtoSshResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"fingerprint": null,
"id": null,
"name": null,
"organization_id": null,
"public_key": null,
"updated_at": null,
} satisfies DtoSshResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoSshResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,48 @@
# DtoSshRevealResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`fingerprint` | string
`id` | string
`name` | string
`organization_id` | string
`private_key` | string
`public_key` | string
`updated_at` | string
## Example
```typescript
import type { DtoSshRevealResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"fingerprint": null,
"id": null,
"name": null,
"organization_id": null,
"private_key": null,
"public_key": null,
"updated_at": null,
} satisfies DtoSshRevealResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoSshRevealResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# DtoTaintResponse
## Properties
Name | Type
------------ | -------------
`created_at` | string
`effect` | string
`id` | string
`key` | string
`organization_id` | string
`updated_at` | string
`value` | string
## Example
```typescript
import type { DtoTaintResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"effect": null,
"id": null,
"key": null,
"organization_id": null,
"updated_at": null,
"value": null,
} satisfies DtoTaintResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoTaintResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,40 @@
# DtoTokenPair
## Properties
Name | Type
------------ | -------------
`access_token` | string
`expires_in` | number
`refresh_token` | string
`token_type` | string
## Example
```typescript
import type { DtoTokenPair } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"access_token": eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ij...,
"expires_in": 3600,
"refresh_token": m0l9o8rT3t0V8d3eFf....,
"token_type": Bearer,
} satisfies DtoTokenPair
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoTokenPair
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoUpdateAnnotationRequest
## Properties
Name | Type
------------ | -------------
`key` | string
`value` | string
## Example
```typescript
import type { DtoUpdateAnnotationRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"key": null,
"value": null,
} satisfies DtoUpdateAnnotationRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoUpdateAnnotationRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoUpdateLabelRequest
## Properties
Name | Type
------------ | -------------
`key` | string
`value` | string
## Example
```typescript
import type { DtoUpdateLabelRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"key": null,
"value": null,
} satisfies DtoUpdateLabelRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoUpdateLabelRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# DtoUpdateNodePoolRequest
## Properties
Name | Type
------------ | -------------
`name` | string
`role` | string
## Example
```typescript
import type { DtoUpdateNodePoolRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"name": null,
"role": null,
} satisfies DtoUpdateNodePoolRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoUpdateNodePoolRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# DtoUpdateServerRequest
## Properties
Name | Type
------------ | -------------
`hostname` | string
`private_ip_address` | string
`public_ip_address` | string
`role` | string
`ssh_key_id` | string
`ssh_user` | string
`status` | string
## Example
```typescript
import type { DtoUpdateServerRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"hostname": null,
"private_ip_address": null,
"public_ip_address": null,
"role": master|worker|bastion,
"ssh_key_id": null,
"ssh_user": null,
"status": pending|provisioning|ready|failed,
} satisfies DtoUpdateServerRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoUpdateServerRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,38 @@
# DtoUpdateTaintRequest
## Properties
Name | Type
------------ | -------------
`effect` | string
`key` | string
`value` | string
## Example
```typescript
import type { DtoUpdateTaintRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"effect": null,
"key": null,
"value": null,
} satisfies DtoUpdateTaintRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as DtoUpdateTaintRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# HandlersCreateUserKeyRequest
## Properties
Name | Type
------------ | -------------
`expires_in_hours` | number
`name` | string
## Example
```typescript
import type { HandlersCreateUserKeyRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"expires_in_hours": null,
"name": null,
} satisfies HandlersCreateUserKeyRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersCreateUserKeyRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# HandlersHealthStatus
## Properties
Name | Type
------------ | -------------
`status` | string
## Example
```typescript
import type { HandlersHealthStatus } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"status": ok,
} satisfies HandlersHealthStatus
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersHealthStatus
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,52 @@
# HandlersMeResponse
## Properties
Name | Type
------------ | -------------
`avatar_url` | string
`created_at` | Date
`display_name` | string
`emails` | [Array&lt;ModelsUserEmail&gt;](ModelsUserEmail.md)
`id` | string
`is_admin` | boolean
`is_disabled` | boolean
`organizations` | [Array&lt;ModelsOrganization&gt;](ModelsOrganization.md)
`primary_email` | string
`updated_at` | Date
## Example
```typescript
import type { HandlersMeResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"avatar_url": null,
"created_at": null,
"display_name": null,
"emails": null,
"id": null,
"is_admin": null,
"is_disabled": null,
"organizations": null,
"primary_email": null,
"updated_at": null,
} satisfies HandlersMeResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersMeResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,38 @@
# HandlersMemberOut
## Properties
Name | Type
------------ | -------------
`email` | string
`role` | string
`user_id` | string
## Example
```typescript
import type { HandlersMemberOut } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"email": null,
"role": null,
"user_id": null,
} satisfies HandlersMemberOut
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersMemberOut
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# HandlersMemberUpsertReq
## Properties
Name | Type
------------ | -------------
`role` | string
`user_id` | string
## Example
```typescript
import type { HandlersMemberUpsertReq } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"role": member,
"user_id": null,
} satisfies HandlersMemberUpsertReq
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersMemberUpsertReq
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# HandlersOrgCreateReq
## Properties
Name | Type
------------ | -------------
`domain` | string
`name` | string
## Example
```typescript
import type { HandlersOrgCreateReq } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"domain": acme.com,
"name": Acme Corp,
} satisfies HandlersOrgCreateReq
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersOrgCreateReq
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# HandlersOrgKeyCreateReq
## Properties
Name | Type
------------ | -------------
`expires_in_hours` | number
`name` | string
## Example
```typescript
import type { HandlersOrgKeyCreateReq } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"expires_in_hours": 720,
"name": automation-bot,
} satisfies HandlersOrgKeyCreateReq
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersOrgKeyCreateReq
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# HandlersOrgKeyCreateResp
## Properties
Name | Type
------------ | -------------
`created_at` | string
`expires_at` | string
`id` | string
`name` | string
`org_key` | string
`org_secret` | string
`scope` | string
## Example
```typescript
import type { HandlersOrgKeyCreateResp } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"expires_at": null,
"id": null,
"name": null,
"org_key": null,
"org_secret": null,
"scope": null,
} satisfies HandlersOrgKeyCreateResp
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersOrgKeyCreateResp
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# HandlersOrgUpdateReq
## Properties
Name | Type
------------ | -------------
`domain` | string
`name` | string
## Example
```typescript
import type { HandlersOrgUpdateReq } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"domain": null,
"name": null,
} satisfies HandlersOrgUpdateReq
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersOrgUpdateReq
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,34 @@
# HandlersUpdateMeRequest
## Properties
Name | Type
------------ | -------------
`display_name` | string
## Example
```typescript
import type { HandlersUpdateMeRequest } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"display_name": null,
} satisfies HandlersUpdateMeRequest
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersUpdateMeRequest
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,46 @@
# HandlersUserAPIKeyOut
## Properties
Name | Type
------------ | -------------
`created_at` | string
`expires_at` | string
`id` | string
`last_used_at` | string
`name` | string
`plain` | string
`scope` | string
## Example
```typescript
import type { HandlersUserAPIKeyOut } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"expires_at": null,
"id": null,
"last_used_at": null,
"name": null,
"plain": null,
"scope": null,
} satisfies HandlersUserAPIKeyOut
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersUserAPIKeyOut
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,54 @@
# HandlersVersionResponse
## Properties
Name | Type
------------ | -------------
`built` | string
`builtBy` | string
`commit` | string
`commitTime` | string
`go` | string
`goArch` | string
`goOS` | string
`modified` | boolean
`revision` | string
`vcs` | string
`version` | string
## Example
```typescript
import type { HandlersVersionResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"built": 2025-11-08T12:34:56Z,
"builtBy": ci,
"commit": a1b2c3d,
"commitTime": 2025-11-08T12:31:00Z,
"go": go1.23.3,
"goArch": amd64,
"goOS": linux,
"modified": false,
"revision": a1b2c3d4e5f6abcdef,
"vcs": git,
"version": 1.4.2,
} satisfies HandlersVersionResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as HandlersVersionResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,68 @@
# HealthApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**healthCheckOperationId**](HealthApi.md#healthcheckoperationid) | **GET** /healthz | Basic health check |
## healthCheckOperationId
> HandlersHealthStatus healthCheckOperationId()
Basic health check
Returns 200 OK when the service is up
### Example
```ts
import {
Configuration,
HealthApi,
} from '@glueops/autoglue-sdk-go';
import type { HealthCheckOperationIdRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new HealthApi();
try {
const data = await api.healthCheckOperationId();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**HandlersHealthStatus**](HandlersHealthStatus.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,433 @@
# LabelsApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createLabel**](LabelsApi.md#createlabel) | **POST** /labels | Create label (org scoped) |
| [**deleteLabel**](LabelsApi.md#deletelabel) | **DELETE** /labels/{id} | Delete label (org scoped) |
| [**getLabel**](LabelsApi.md#getlabel) | **GET** /labels/{id} | Get label by ID (org scoped) |
| [**listLabels**](LabelsApi.md#listlabels) | **GET** /labels | List node labels (org scoped) |
| [**updateLabel**](LabelsApi.md#updatelabel) | **PATCH** /labels/{id} | Update label (org scoped) |
## createLabel
> DtoLabelResponse createLabel(body, xOrgID)
Create label (org scoped)
Creates a label.
### Example
```ts
import {
Configuration,
LabelsApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateLabelRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new LabelsApi(config);
const body = {
// DtoCreateLabelRequest | Label payload
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies CreateLabelRequest;
try {
const data = await api.createLabel(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoCreateLabelRequest](DtoCreateLabelRequest.md) | Label payload | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoLabelResponse**](DtoLabelResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | invalid json / missing fields / invalid node_pool_ids | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | create failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteLabel
> string deleteLabel(id, xOrgID)
Delete label (org scoped)
Permanently deletes the label.
### Example
```ts
import {
Configuration,
LabelsApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteLabelRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new LabelsApi(config);
const body = {
// string | Label ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies DeleteLabelRequest;
try {
const data = await api.deleteLabel(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Label ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | delete failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getLabel
> DtoLabelResponse getLabel(id, xOrgID)
Get label by ID (org scoped)
Returns one label.
### Example
```ts
import {
Configuration,
LabelsApi,
} from '@glueops/autoglue-sdk-go';
import type { GetLabelRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new LabelsApi(config);
const body = {
// string | Label ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies GetLabelRequest;
try {
const data = await api.getLabel(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Label ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoLabelResponse**](DtoLabelResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | fetch failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listLabels
> Array&lt;DtoLabelResponse&gt; listLabels(xOrgID, key, value, q)
List node labels (org scoped)
Returns node labels for the organization in X-Org-ID. Filters: &#x60;key&#x60;, &#x60;value&#x60;, and &#x60;q&#x60; (key contains). Add &#x60;include&#x3D;node_pools&#x60; to include linked node groups.
### Example
```ts
import {
Configuration,
LabelsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListLabelsRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new LabelsApi(config);
const body = {
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
// string | Exact key (optional)
key: key_example,
// string | Exact value (optional)
value: value_example,
// string | Key contains (case-insensitive) (optional)
q: q_example,
} satisfies ListLabelsRequest;
try {
const data = await api.listLabels(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
| **key** | `string` | Exact key | [Optional] [Defaults to `undefined`] |
| **value** | `string` | Exact value | [Optional] [Defaults to `undefined`] |
| **q** | `string` | Key contains (case-insensitive) | [Optional] [Defaults to `undefined`] |
### Return type
[**Array&lt;DtoLabelResponse&gt;**](DtoLabelResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | failed to list node taints | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateLabel
> DtoLabelResponse updateLabel(id, body, xOrgID)
Update label (org scoped)
Partially update label fields.
### Example
```ts
import {
Configuration,
LabelsApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateLabelRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new LabelsApi(config);
const body = {
// string | Label ID (UUID)
id: id_example,
// DtoUpdateLabelRequest | Fields to update
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies UpdateLabelRequest;
try {
const data = await api.updateLabel(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Label ID (UUID) | [Defaults to `undefined`] |
| **body** | [DtoUpdateLabelRequest](DtoUpdateLabelRequest.md) | Fields to update | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoLabelResponse**](DtoLabelResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id / invalid json | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | update failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,216 @@
# MeAPIKeysApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createUserAPIKey**](MeAPIKeysApi.md#createuserapikey) | **POST** /me/api-keys | Create a new user API key |
| [**deleteUserAPIKey**](MeAPIKeysApi.md#deleteuserapikey) | **DELETE** /me/api-keys/{id} | Delete a user API key |
| [**listUserAPIKeys**](MeAPIKeysApi.md#listuserapikeys) | **GET** /me/api-keys | List my API keys |
## createUserAPIKey
> HandlersUserAPIKeyOut createUserAPIKey(body)
Create a new user API key
Returns the plaintext key once. Store it securely on the client side.
### Example
```ts
import {
Configuration,
MeAPIKeysApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateUserAPIKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: ApiKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new MeAPIKeysApi(config);
const body = {
// HandlersCreateUserKeyRequest | Key options
body: ...,
} satisfies CreateUserAPIKeyRequest;
try {
const data = await api.createUserAPIKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [HandlersCreateUserKeyRequest](HandlersCreateUserKeyRequest.md) | Key options | |
### Return type
[**HandlersUserAPIKeyOut**](HandlersUserAPIKeyOut.md)
### Authorization
[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteUserAPIKey
> deleteUserAPIKey(id)
Delete a user API key
### Example
```ts
import {
Configuration,
MeAPIKeysApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteUserAPIKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new MeAPIKeysApi(config);
const body = {
// string | Key ID (UUID)
id: id_example,
} satisfies DeleteUserAPIKeyRequest;
try {
const data = await api.deleteUserAPIKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Key ID (UUID) | [Defaults to `undefined`] |
### Return type
`void` (Empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listUserAPIKeys
> Array&lt;HandlersUserAPIKeyOut&gt; listUserAPIKeys()
List my API keys
### Example
```ts
import {
Configuration,
MeAPIKeysApi,
} from '@glueops/autoglue-sdk-go';
import type { ListUserAPIKeysRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: ApiKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new MeAPIKeysApi(config);
try {
const data = await api.listUserAPIKeys();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**Array&lt;HandlersUserAPIKeyOut&gt;**](HandlersUserAPIKeyOut.md)
### Authorization
[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

144
ui/src/sdk/docs/MeApi.md Normal file
View File

@@ -0,0 +1,144 @@
# MeApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**getMe**](MeApi.md#getme) | **GET** /me | Get current user profile |
| [**updateMe**](MeApi.md#updateme) | **PATCH** /me | Update current user profile |
## getMe
> HandlersMeResponse getMe()
Get current user profile
### Example
```ts
import {
Configuration,
MeApi,
} from '@glueops/autoglue-sdk-go';
import type { GetMeRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: ApiKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new MeApi(config);
try {
const data = await api.getMe();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**HandlersMeResponse**](HandlersMeResponse.md)
### Authorization
[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateMe
> ModelsUser updateMe(body)
Update current user profile
### Example
```ts
import {
Configuration,
MeApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateMeRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: ApiKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new MeApi(config);
const body = {
// HandlersUpdateMeRequest | Patch profile
body: ...,
} satisfies UpdateMeRequest;
try {
const data = await api.updateMe(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [HandlersUpdateMeRequest](HandlersUpdateMeRequest.md) | Patch profile | |
### Return type
[**ModelsUser**](ModelsUser.md)
### Authorization
[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,68 @@
# MetaApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**versionOperationId**](MetaApi.md#versionoperationid) | **GET** /version | Service version information |
## versionOperationId
> HandlersVersionResponse versionOperationId()
Service version information
Returns build/runtime metadata for the running service.
### Example
```ts
import {
Configuration,
MetaApi,
} from '@glueops/autoglue-sdk-go';
import type { VersionOperationIdRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const api = new MetaApi();
try {
const data = await api.versionOperationId();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**HandlersVersionResponse**](HandlersVersionResponse.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,54 @@
# ModelsAPIKey
## Properties
Name | Type
------------ | -------------
`created_at` | Date
`expires_at` | Date
`id` | string
`last_used_at` | Date
`name` | string
`org_id` | string
`prefix` | string
`revoked` | boolean
`scope` | string
`updated_at` | Date
`user_id` | string
## Example
```typescript
import type { ModelsAPIKey } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"expires_at": null,
"id": null,
"last_used_at": null,
"name": null,
"org_id": null,
"prefix": null,
"revoked": null,
"scope": null,
"updated_at": null,
"user_id": null,
} satisfies ModelsAPIKey
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as ModelsAPIKey
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,42 @@
# ModelsOrganization
## Properties
Name | Type
------------ | -------------
`created_at` | Date
`domain` | string
`id` | string
`name` | string
`updated_at` | Date
## Example
```typescript
import type { ModelsOrganization } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"domain": null,
"id": null,
"name": null,
"updated_at": null,
} satisfies ModelsOrganization
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as ModelsOrganization
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,48 @@
# ModelsUser
## Properties
Name | Type
------------ | -------------
`avatar_url` | string
`created_at` | Date
`display_name` | string
`id` | string
`is_admin` | boolean
`is_disabled` | boolean
`primary_email` | string
`updated_at` | Date
## Example
```typescript
import type { ModelsUser } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"avatar_url": null,
"created_at": null,
"display_name": null,
"id": null,
"is_admin": null,
"is_disabled": null,
"primary_email": null,
"updated_at": null,
} satisfies ModelsUser
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as ModelsUser
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,48 @@
# ModelsUserEmail
## Properties
Name | Type
------------ | -------------
`created_at` | Date
`email` | string
`id` | string
`is_primary` | boolean
`is_verified` | boolean
`updated_at` | Date
`user` | [ModelsUser](ModelsUser.md)
`user_id` | string
## Example
```typescript
import type { ModelsUserEmail } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"created_at": null,
"email": null,
"id": null,
"is_primary": null,
"is_verified": null,
"updated_at": null,
"user": null,
"user_id": null,
} satisfies ModelsUserEmail
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as ModelsUserEmail
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

File diff suppressed because it is too large Load Diff

801
ui/src/sdk/docs/OrgsApi.md Normal file
View File

@@ -0,0 +1,801 @@
# OrgsApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**addOrUpdateMember**](OrgsApi.md#addorupdatemember) | **POST** /orgs/{id}/members | Add or update a member (owner/admin) |
| [**createOrg**](OrgsApi.md#createorg) | **POST** /orgs | Create organization |
| [**createOrgKey**](OrgsApi.md#createorgkey) | **POST** /orgs/{id}/api-keys | Create org key/secret pair (owner/admin) |
| [**deleteOrg**](OrgsApi.md#deleteorg) | **DELETE** /orgs/{id} | Delete organization (owner) |
| [**deleteOrgKey**](OrgsApi.md#deleteorgkey) | **DELETE** /orgs/{id}/api-keys/{key_id} | Delete org key (owner/admin) |
| [**getOrg**](OrgsApi.md#getorg) | **GET** /orgs/{id} | Get organization |
| [**listMembers**](OrgsApi.md#listmembers) | **GET** /orgs/{id}/members | List members in org |
| [**listMyOrgs**](OrgsApi.md#listmyorgs) | **GET** /orgs | List organizations I belong to |
| [**listOrgKeys**](OrgsApi.md#listorgkeys) | **GET** /orgs/{id}/api-keys | List org-scoped API keys (no secrets) |
| [**removeMember**](OrgsApi.md#removemember) | **DELETE** /orgs/{id}/members/{user_id} | Remove a member (owner/admin) |
| [**updateOrg**](OrgsApi.md#updateorg) | **PATCH** /orgs/{id} | Update organization (owner/admin) |
## addOrUpdateMember
> HandlersMemberOut addOrUpdateMember(id, body)
Add or update a member (owner/admin)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { AddOrUpdateMemberRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
// HandlersMemberUpsertReq | User & role
body: ...,
} satisfies AddOrUpdateMemberRequest;
try {
const data = await api.addOrUpdateMember(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
| **body** | [HandlersMemberUpsertReq](HandlersMemberUpsertReq.md) | User &amp; role | |
### Return type
[**HandlersMemberOut**](HandlersMemberOut.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## createOrg
> ModelsOrganization createOrg(body)
Create organization
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateOrgRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// HandlersOrgCreateReq | Org payload
body: ...,
} satisfies CreateOrgRequest;
try {
const data = await api.createOrg(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [HandlersOrgCreateReq](HandlersOrgCreateReq.md) | Org payload | |
### Return type
[**ModelsOrganization**](ModelsOrganization.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | Bad Request | - |
| **401** | Unauthorized | - |
| **409** | Conflict | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## createOrgKey
> HandlersOrgKeyCreateResp createOrgKey(id, body)
Create org key/secret pair (owner/admin)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateOrgKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
// HandlersOrgKeyCreateReq | Key name + optional expiry
body: ...,
} satisfies CreateOrgKeyRequest;
try {
const data = await api.createOrgKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
| **body** | [HandlersOrgKeyCreateReq](HandlersOrgKeyCreateReq.md) | Key name + optional expiry | |
### Return type
[**HandlersOrgKeyCreateResp**](HandlersOrgKeyCreateResp.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteOrg
> deleteOrg(id)
Delete organization (owner)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteOrgRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
} satisfies DeleteOrgRequest;
try {
const data = await api.deleteOrg(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
### Return type
`void` (Empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | Deleted | - |
| **401** | Unauthorized | - |
| **404** | Not Found | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteOrgKey
> deleteOrgKey(id, keyId)
Delete org key (owner/admin)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteOrgKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
// string | Key ID (UUID)
keyId: keyId_example,
} satisfies DeleteOrgKeyRequest;
try {
const data = await api.deleteOrgKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
| **keyId** | `string` | Key ID (UUID) | [Defaults to `undefined`] |
### Return type
`void` (Empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | Deleted | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getOrg
> ModelsOrganization getOrg(id)
Get organization
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { GetOrgRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
} satisfies GetOrgRequest;
try {
const data = await api.getOrg(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
### Return type
[**ModelsOrganization**](ModelsOrganization.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **404** | Not Found | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listMembers
> Array&lt;HandlersMemberOut&gt; listMembers(id)
List members in org
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListMembersRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
} satisfies ListMembersRequest;
try {
const data = await api.listMembers(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
### Return type
[**Array&lt;HandlersMemberOut&gt;**](HandlersMemberOut.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listMyOrgs
> Array&lt;ModelsOrganization&gt; listMyOrgs()
List organizations I belong to
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListMyOrgsRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
try {
const data = await api.listMyOrgs();
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**Array&lt;ModelsOrganization&gt;**](ModelsOrganization.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listOrgKeys
> Array&lt;ModelsAPIKey&gt; listOrgKeys(id)
List org-scoped API keys (no secrets)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListOrgKeysRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
} satisfies ListOrgKeysRequest;
try {
const data = await api.listOrgKeys(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
### Return type
[**Array&lt;ModelsAPIKey&gt;**](ModelsAPIKey.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## removeMember
> removeMember(id, userId)
Remove a member (owner/admin)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { RemoveMemberRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
// string | User ID (UUID)
userId: userId_example,
} satisfies RemoveMemberRequest;
try {
const data = await api.removeMember(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
| **userId** | `string` | User ID (UUID) | [Defaults to `undefined`] |
### Return type
`void` (Empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | Removed | - |
| **401** | Unauthorized | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateOrg
> ModelsOrganization updateOrg(id, body)
Update organization (owner/admin)
### Example
```ts
import {
Configuration,
OrgsApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateOrgRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new OrgsApi(config);
const body = {
// string | Org ID (UUID)
id: id_example,
// HandlersOrgUpdateReq | Update payload
body: ...,
} satisfies UpdateOrgRequest;
try {
const data = await api.updateOrg(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Org ID (UUID) | [Defaults to `undefined`] |
| **body** | [HandlersOrgUpdateReq](HandlersOrgUpdateReq.md) | Update payload | |
### Return type
[**ModelsOrganization**](ModelsOrganization.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **404** | Not Found | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,430 @@
# ServersApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createServer**](ServersApi.md#createserver) | **POST** /servers | Create server (org scoped) |
| [**deleteServer**](ServersApi.md#deleteserver) | **DELETE** /servers/{id} | Delete server (org scoped) |
| [**getServer**](ServersApi.md#getserver) | **GET** /servers/{id} | Get server by ID (org scoped) |
| [**listServers**](ServersApi.md#listservers) | **GET** /servers | List servers (org scoped) |
| [**updateServer**](ServersApi.md#updateserver) | **PATCH** /servers/{id} | Update server (org scoped) |
## createServer
> DtoServerResponse createServer(body, xOrgID)
Create server (org scoped)
Creates a server bound to the org in X-Org-ID. Validates that ssh_key_id belongs to the org.
### Example
```ts
import {
Configuration,
ServersApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateServerRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ServersApi(config);
const body = {
// DtoCreateServerRequest | Server payload
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies CreateServerRequest;
try {
const data = await api.createServer(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoCreateServerRequest](DtoCreateServerRequest.md) | Server payload | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoServerResponse**](DtoServerResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | invalid json / missing fields / invalid status / invalid ssh_key_id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | create failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteServer
> string deleteServer(id, xOrgID)
Delete server (org scoped)
Permanently deletes the server.
### Example
```ts
import {
Configuration,
ServersApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteServerRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ServersApi(config);
const body = {
// string | Server ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies DeleteServerRequest;
try {
const data = await api.deleteServer(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Server ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | delete failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getServer
> DtoServerResponse getServer(id, xOrgID)
Get server by ID (org scoped)
Returns one server in the given organization.
### Example
```ts
import {
Configuration,
ServersApi,
} from '@glueops/autoglue-sdk-go';
import type { GetServerRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ServersApi(config);
const body = {
// string | Server ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies GetServerRequest;
try {
const data = await api.getServer(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Server ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoServerResponse**](DtoServerResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | fetch failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listServers
> Array&lt;DtoServerResponse&gt; listServers(xOrgID, status, role)
List servers (org scoped)
Returns servers for the organization in X-Org-ID. Optional filters: status, role.
### Example
```ts
import {
Configuration,
ServersApi,
} from '@glueops/autoglue-sdk-go';
import type { ListServersRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ServersApi(config);
const body = {
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
// string | Filter by status (pending|provisioning|ready|failed) (optional)
status: status_example,
// string | Filter by role (optional)
role: role_example,
} satisfies ListServersRequest;
try {
const data = await api.listServers(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
| **status** | `string` | Filter by status (pending|provisioning|ready|failed) | [Optional] [Defaults to `undefined`] |
| **role** | `string` | Filter by role | [Optional] [Defaults to `undefined`] |
### Return type
[**Array&lt;DtoServerResponse&gt;**](DtoServerResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | failed to list servers | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateServer
> DtoServerResponse updateServer(id, body, xOrgID)
Update server (org scoped)
Partially update fields; changing ssh_key_id validates ownership.
### Example
```ts
import {
Configuration,
ServersApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateServerRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new ServersApi(config);
const body = {
// string | Server ID (UUID)
id: id_example,
// DtoUpdateServerRequest | Fields to update
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies UpdateServerRequest;
try {
const data = await api.updateServer(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Server ID (UUID) | [Defaults to `undefined`] |
| **body** | [DtoUpdateServerRequest](DtoUpdateServerRequest.md) | Fields to update | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoServerResponse**](DtoServerResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id / invalid json / invalid status / invalid ssh_key_id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | update failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

427
ui/src/sdk/docs/SshApi.md Normal file
View File

@@ -0,0 +1,427 @@
# SshApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createSSHKey**](SshApi.md#createsshkey) | **POST** /ssh | Create ssh keypair (org scoped) |
| [**deleteSSHKey**](SshApi.md#deletesshkey) | **DELETE** /ssh/{id} | Delete ssh keypair (org scoped) |
| [**downloadSSHKey**](SshApi.md#downloadsshkey) | **GET** /ssh/{id}/download | Download ssh key files by ID (org scoped) |
| [**getSSHKey**](SshApi.md#getsshkey) | **GET** /ssh/{id} | Get ssh key by ID (org scoped) |
| [**listPublicSshKeys**](SshApi.md#listpublicsshkeys) | **GET** /ssh | List ssh keys (org scoped) |
## createSSHKey
> DtoSshResponse createSSHKey(body, xOrgID)
Create ssh keypair (org scoped)
Generates an RSA or ED25519 keypair, saves it, and returns metadata. For RSA you may set bits (2048/3072/4096). Default is 4096. ED25519 ignores bits.
### Example
```ts
import {
Configuration,
SshApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateSSHKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new SshApi(config);
const body = {
// DtoCreateSSHRequest | Key generation options
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies CreateSSHKeyRequest;
try {
const data = await api.createSSHKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoCreateSSHRequest](DtoCreateSSHRequest.md) | Key generation options | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoSshResponse**](DtoSshResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | invalid json / invalid bits | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | generation/create failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteSSHKey
> string deleteSSHKey(id, xOrgID)
Delete ssh keypair (org scoped)
Permanently deletes a keypair.
### Example
```ts
import {
Configuration,
SshApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteSSHKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new SshApi(config);
const body = {
// string | SSH Key ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies DeleteSSHKeyRequest;
try {
const data = await api.deleteSSHKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | SSH Key ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | delete failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## downloadSSHKey
> string downloadSSHKey(xOrgID, id, part)
Download ssh key files by ID (org scoped)
Download &#x60;part&#x3D;public|private|both&#x60; of the keypair. &#x60;both&#x60; returns a zip file.
### Example
```ts
import {
Configuration,
SshApi,
} from '@glueops/autoglue-sdk-go';
import type { DownloadSSHKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new SshApi(config);
const body = {
// string | Organization UUID
xOrgID: xOrgID_example,
// string | SSH Key ID (UUID)
id: id_example,
// 'public' | 'private' | 'both' | Which part to download
part: part_example,
} satisfies DownloadSSHKeyRequest;
try {
const data = await api.downloadSSHKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Defaults to `undefined`] |
| **id** | `string` | SSH Key ID (UUID) | [Defaults to `undefined`] |
| **part** | `public`, `private`, `both` | Which part to download | [Defaults to `undefined`] [Enum: public, private, both] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | file content | - |
| **400** | invalid id / invalid part | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | download failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getSSHKey
> DtoSshRevealResponse getSSHKey(id, xOrgID, reveal)
Get ssh key by ID (org scoped)
Returns public key fields. Append &#x60;?reveal&#x3D;true&#x60; to include the private key PEM.
### Example
```ts
import {
Configuration,
SshApi,
} from '@glueops/autoglue-sdk-go';
import type { GetSSHKeyRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new SshApi(config);
const body = {
// string | SSH Key ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
// boolean | Reveal private key PEM (optional)
reveal: true,
} satisfies GetSSHKeyRequest;
try {
const data = await api.getSSHKey(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | SSH Key ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
| **reveal** | `boolean` | Reveal private key PEM | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoSshRevealResponse**](DtoSshRevealResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | When reveal&#x3D;true | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | fetch failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listPublicSshKeys
> Array&lt;DtoSshResponse&gt; listPublicSshKeys(xOrgID)
List ssh keys (org scoped)
Returns ssh keys for the organization in X-Org-ID.
### Example
```ts
import {
Configuration,
SshApi,
} from '@glueops/autoglue-sdk-go';
import type { ListPublicSshKeysRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new SshApi(config);
const body = {
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies ListPublicSshKeysRequest;
try {
const data = await api.listPublicSshKeys(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**Array&lt;DtoSshResponse&gt;**](DtoSshResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | failed to list keys | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,431 @@
# TaintsApi
All URIs are relative to */api/v1*
| Method | HTTP request | Description |
|------------- | ------------- | -------------|
| [**createTaint**](TaintsApi.md#createtaint) | **POST** /taints | Create node taint (org scoped) |
| [**deleteTaint**](TaintsApi.md#deletetaint) | **DELETE** /taints/{id} | Delete taint (org scoped) |
| [**getTaint**](TaintsApi.md#gettaint) | **GET** /taints/{id} | Get node taint by ID (org scoped) |
| [**listTaints**](TaintsApi.md#listtaints) | **GET** /taints | List node pool taints (org scoped) |
| [**updateTaint**](TaintsApi.md#updatetaint) | **PATCH** /taints/{id} | Update node taint (org scoped) |
## createTaint
> DtoTaintResponse createTaint(body, xOrgID)
Create node taint (org scoped)
Creates a taint.
### Example
```ts
import {
Configuration,
TaintsApi,
} from '@glueops/autoglue-sdk-go';
import type { CreateTaintRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new TaintsApi(config);
const body = {
// DtoCreateTaintRequest | Taint payload
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies CreateTaintRequest;
try {
const data = await api.createTaint(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **body** | [DtoCreateTaintRequest](DtoCreateTaintRequest.md) | Taint payload | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoTaintResponse**](DtoTaintResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **201** | Created | - |
| **400** | invalid json / missing fields / invalid node_pool_ids | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | create failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## deleteTaint
> string deleteTaint(id, xOrgID)
Delete taint (org scoped)
Permanently deletes the taint.
### Example
```ts
import {
Configuration,
TaintsApi,
} from '@glueops/autoglue-sdk-go';
import type { DeleteTaintRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new TaintsApi(config);
const body = {
// string | Node Taint ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies DeleteTaintRequest;
try {
const data = await api.deleteTaint(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Node Taint ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
**string**
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | delete failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## getTaint
> DtoTaintResponse getTaint(id, xOrgID)
Get node taint by ID (org scoped)
### Example
```ts
import {
Configuration,
TaintsApi,
} from '@glueops/autoglue-sdk-go';
import type { GetTaintRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new TaintsApi(config);
const body = {
// string | Node Taint ID (UUID)
id: id_example,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies GetTaintRequest;
try {
const data = await api.getTaint(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Node Taint ID (UUID) | [Defaults to `undefined`] |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoTaintResponse**](DtoTaintResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | fetch failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## listTaints
> Array&lt;DtoTaintResponse&gt; listTaints(xOrgID, key, value, q)
List node pool taints (org scoped)
Returns node taints for the organization in X-Org-ID. Filters: &#x60;key&#x60;, &#x60;value&#x60;, and &#x60;q&#x60; (key contains). Add &#x60;include&#x3D;node_pools&#x60; to include linked node pools.
### Example
```ts
import {
Configuration,
TaintsApi,
} from '@glueops/autoglue-sdk-go';
import type { ListTaintsRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new TaintsApi(config);
const body = {
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
// string | Exact key (optional)
key: key_example,
// string | Exact value (optional)
value: value_example,
// string | key contains (case-insensitive) (optional)
q: q_example,
} satisfies ListTaintsRequest;
try {
const data = await api.listTaints(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
| **key** | `string` | Exact key | [Optional] [Defaults to `undefined`] |
| **value** | `string` | Exact value | [Optional] [Defaults to `undefined`] |
| **q** | `string` | key contains (case-insensitive) | [Optional] [Defaults to `undefined`] |
### Return type
[**Array&lt;DtoTaintResponse&gt;**](DtoTaintResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **500** | failed to list node taints | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
## updateTaint
> DtoTaintResponse updateTaint(id, body, xOrgID)
Update node taint (org scoped)
Partially update taint fields.
### Example
```ts
import {
Configuration,
TaintsApi,
} from '@glueops/autoglue-sdk-go';
import type { UpdateTaintRequest } from '@glueops/autoglue-sdk-go';
async function example() {
console.log("🚀 Testing @glueops/autoglue-sdk-go SDK...");
const config = new Configuration({
// To configure API key authorization: OrgKeyAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: OrgSecretAuth
apiKey: "YOUR API KEY",
// To configure API key authorization: BearerAuth
apiKey: "YOUR API KEY",
});
const api = new TaintsApi(config);
const body = {
// string | Node Taint ID (UUID)
id: id_example,
// DtoUpdateTaintRequest | Fields to update
body: ...,
// string | Organization UUID (optional)
xOrgID: xOrgID_example,
} satisfies UpdateTaintRequest;
try {
const data = await api.updateTaint(body);
console.log(data);
} catch (error) {
console.error(error);
}
}
// Run the test
example().catch(console.error);
```
### Parameters
| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **id** | `string` | Node Taint ID (UUID) | [Defaults to `undefined`] |
| **body** | [DtoUpdateTaintRequest](DtoUpdateTaintRequest.md) | Fields to update | |
| **xOrgID** | `string` | Organization UUID | [Optional] [Defaults to `undefined`] |
### Return type
[**DtoTaintResponse**](DtoTaintResponse.md)
### Authorization
[OrgKeyAuth](../README.md#OrgKeyAuth), [OrgSecretAuth](../README.md#OrgSecretAuth), [BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: `application/json`
- **Accept**: `application/json`
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | invalid id / invalid json | - |
| **401** | Unauthorized | - |
| **403** | organization required | - |
| **404** | not found | - |
| **500** | update failed | - |
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

View File

@@ -0,0 +1,36 @@
# UtilsErrorResponse
## Properties
Name | Type
------------ | -------------
`code` | string
`message` | string
## Example
```typescript
import type { UtilsErrorResponse } from '@glueops/autoglue-sdk-go'
// TODO: Update the object below with actual values
const example = {
"code": null,
"message": null,
} satisfies UtilsErrorResponse
console.log(example)
// Convert the instance to a JSON string
const exampleJSON: string = JSON.stringify(example)
console.log(exampleJSON)
// Parse the JSON string back to an object
const exampleParsed = JSON.parse(exampleJSON) as UtilsErrorResponse
console.log(exampleParsed)
```
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)

5
ui/src/sdk/index.ts Normal file
View File

@@ -0,0 +1,5 @@
/* tslint:disable */
/* eslint-disable */
export * from './runtime';
export * from './apis/index';
export * from './models/index';

View File

@@ -0,0 +1,104 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAnnotationResponse
*/
export interface DtoAnnotationResponse {
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
created_at?: string;
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
id?: string;
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
key?: string;
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
organization_id?: string;
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
updated_at?: string;
/**
*
* @type {string}
* @memberof DtoAnnotationResponse
*/
value?: string;
}
/**
* Check if a given object implements the DtoAnnotationResponse interface.
*/
export function instanceOfDtoAnnotationResponse(value: object): value is DtoAnnotationResponse {
return true;
}
export function DtoAnnotationResponseFromJSON(json: any): DtoAnnotationResponse {
return DtoAnnotationResponseFromJSONTyped(json, false);
}
export function DtoAnnotationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAnnotationResponse {
if (json == null) {
return json;
}
return {
'created_at': json['created_at'] == null ? undefined : json['created_at'],
'id': json['id'] == null ? undefined : json['id'],
'key': json['key'] == null ? undefined : json['key'],
'organization_id': json['organization_id'] == null ? undefined : json['organization_id'],
'updated_at': json['updated_at'] == null ? undefined : json['updated_at'],
'value': json['value'] == null ? undefined : json['value'],
};
}
export function DtoAnnotationResponseToJSON(json: any): DtoAnnotationResponse {
return DtoAnnotationResponseToJSONTyped(json, false);
}
export function DtoAnnotationResponseToJSONTyped(value?: DtoAnnotationResponse | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'created_at': value['created_at'],
'id': value['id'],
'key': value['key'],
'organization_id': value['organization_id'],
'updated_at': value['updated_at'],
'value': value['value'],
};
}

View File

@@ -0,0 +1,64 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAttachAnnotationsRequest
*/
export interface DtoAttachAnnotationsRequest {
/**
*
* @type {Array<string>}
* @memberof DtoAttachAnnotationsRequest
*/
annotation_ids?: Array<string>;
}
/**
* Check if a given object implements the DtoAttachAnnotationsRequest interface.
*/
export function instanceOfDtoAttachAnnotationsRequest(value: object): value is DtoAttachAnnotationsRequest {
return true;
}
export function DtoAttachAnnotationsRequestFromJSON(json: any): DtoAttachAnnotationsRequest {
return DtoAttachAnnotationsRequestFromJSONTyped(json, false);
}
export function DtoAttachAnnotationsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAttachAnnotationsRequest {
if (json == null) {
return json;
}
return {
'annotation_ids': json['annotation_ids'] == null ? undefined : json['annotation_ids'],
};
}
export function DtoAttachAnnotationsRequestToJSON(json: any): DtoAttachAnnotationsRequest {
return DtoAttachAnnotationsRequestToJSONTyped(json, false);
}
export function DtoAttachAnnotationsRequestToJSONTyped(value?: DtoAttachAnnotationsRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'annotation_ids': value['annotation_ids'],
};
}

View File

@@ -0,0 +1,64 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAttachLabelsRequest
*/
export interface DtoAttachLabelsRequest {
/**
*
* @type {Array<string>}
* @memberof DtoAttachLabelsRequest
*/
label_ids?: Array<string>;
}
/**
* Check if a given object implements the DtoAttachLabelsRequest interface.
*/
export function instanceOfDtoAttachLabelsRequest(value: object): value is DtoAttachLabelsRequest {
return true;
}
export function DtoAttachLabelsRequestFromJSON(json: any): DtoAttachLabelsRequest {
return DtoAttachLabelsRequestFromJSONTyped(json, false);
}
export function DtoAttachLabelsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAttachLabelsRequest {
if (json == null) {
return json;
}
return {
'label_ids': json['label_ids'] == null ? undefined : json['label_ids'],
};
}
export function DtoAttachLabelsRequestToJSON(json: any): DtoAttachLabelsRequest {
return DtoAttachLabelsRequestToJSONTyped(json, false);
}
export function DtoAttachLabelsRequestToJSONTyped(value?: DtoAttachLabelsRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'label_ids': value['label_ids'],
};
}

View File

@@ -0,0 +1,64 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAttachServersRequest
*/
export interface DtoAttachServersRequest {
/**
*
* @type {Array<string>}
* @memberof DtoAttachServersRequest
*/
server_ids?: Array<string>;
}
/**
* Check if a given object implements the DtoAttachServersRequest interface.
*/
export function instanceOfDtoAttachServersRequest(value: object): value is DtoAttachServersRequest {
return true;
}
export function DtoAttachServersRequestFromJSON(json: any): DtoAttachServersRequest {
return DtoAttachServersRequestFromJSONTyped(json, false);
}
export function DtoAttachServersRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAttachServersRequest {
if (json == null) {
return json;
}
return {
'server_ids': json['server_ids'] == null ? undefined : json['server_ids'],
};
}
export function DtoAttachServersRequestToJSON(json: any): DtoAttachServersRequest {
return DtoAttachServersRequestToJSONTyped(json, false);
}
export function DtoAttachServersRequestToJSONTyped(value?: DtoAttachServersRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'server_ids': value['server_ids'],
};
}

View File

@@ -0,0 +1,64 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAttachTaintsRequest
*/
export interface DtoAttachTaintsRequest {
/**
*
* @type {Array<string>}
* @memberof DtoAttachTaintsRequest
*/
taint_ids?: Array<string>;
}
/**
* Check if a given object implements the DtoAttachTaintsRequest interface.
*/
export function instanceOfDtoAttachTaintsRequest(value: object): value is DtoAttachTaintsRequest {
return true;
}
export function DtoAttachTaintsRequestFromJSON(json: any): DtoAttachTaintsRequest {
return DtoAttachTaintsRequestFromJSONTyped(json, false);
}
export function DtoAttachTaintsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAttachTaintsRequest {
if (json == null) {
return json;
}
return {
'taint_ids': json['taint_ids'] == null ? undefined : json['taint_ids'],
};
}
export function DtoAttachTaintsRequestToJSON(json: any): DtoAttachTaintsRequest {
return DtoAttachTaintsRequestToJSONTyped(json, false);
}
export function DtoAttachTaintsRequestToJSONTyped(value?: DtoAttachTaintsRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'taint_ids': value['taint_ids'],
};
}

View File

@@ -0,0 +1,64 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoAuthStartResponse
*/
export interface DtoAuthStartResponse {
/**
*
* @type {string}
* @memberof DtoAuthStartResponse
*/
auth_url?: string;
}
/**
* Check if a given object implements the DtoAuthStartResponse interface.
*/
export function instanceOfDtoAuthStartResponse(value: object): value is DtoAuthStartResponse {
return true;
}
export function DtoAuthStartResponseFromJSON(json: any): DtoAuthStartResponse {
return DtoAuthStartResponseFromJSONTyped(json, false);
}
export function DtoAuthStartResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoAuthStartResponse {
if (json == null) {
return json;
}
return {
'auth_url': json['auth_url'] == null ? undefined : json['auth_url'],
};
}
export function DtoAuthStartResponseToJSON(json: any): DtoAuthStartResponse {
return DtoAuthStartResponseToJSONTyped(json, false);
}
export function DtoAuthStartResponseToJSONTyped(value?: DtoAuthStartResponse | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'auth_url': value['auth_url'],
};
}

View File

@@ -0,0 +1,72 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateAnnotationRequest
*/
export interface DtoCreateAnnotationRequest {
/**
*
* @type {string}
* @memberof DtoCreateAnnotationRequest
*/
key?: string;
/**
*
* @type {string}
* @memberof DtoCreateAnnotationRequest
*/
value?: string;
}
/**
* Check if a given object implements the DtoCreateAnnotationRequest interface.
*/
export function instanceOfDtoCreateAnnotationRequest(value: object): value is DtoCreateAnnotationRequest {
return true;
}
export function DtoCreateAnnotationRequestFromJSON(json: any): DtoCreateAnnotationRequest {
return DtoCreateAnnotationRequestFromJSONTyped(json, false);
}
export function DtoCreateAnnotationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateAnnotationRequest {
if (json == null) {
return json;
}
return {
'key': json['key'] == null ? undefined : json['key'],
'value': json['value'] == null ? undefined : json['value'],
};
}
export function DtoCreateAnnotationRequestToJSON(json: any): DtoCreateAnnotationRequest {
return DtoCreateAnnotationRequestToJSONTyped(json, false);
}
export function DtoCreateAnnotationRequestToJSONTyped(value?: DtoCreateAnnotationRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'key': value['key'],
'value': value['value'],
};
}

View File

@@ -0,0 +1,72 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateLabelRequest
*/
export interface DtoCreateLabelRequest {
/**
*
* @type {string}
* @memberof DtoCreateLabelRequest
*/
key?: string;
/**
*
* @type {string}
* @memberof DtoCreateLabelRequest
*/
value?: string;
}
/**
* Check if a given object implements the DtoCreateLabelRequest interface.
*/
export function instanceOfDtoCreateLabelRequest(value: object): value is DtoCreateLabelRequest {
return true;
}
export function DtoCreateLabelRequestFromJSON(json: any): DtoCreateLabelRequest {
return DtoCreateLabelRequestFromJSONTyped(json, false);
}
export function DtoCreateLabelRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateLabelRequest {
if (json == null) {
return json;
}
return {
'key': json['key'] == null ? undefined : json['key'],
'value': json['value'] == null ? undefined : json['value'],
};
}
export function DtoCreateLabelRequestToJSON(json: any): DtoCreateLabelRequest {
return DtoCreateLabelRequestToJSONTyped(json, false);
}
export function DtoCreateLabelRequestToJSONTyped(value?: DtoCreateLabelRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'key': value['key'],
'value': value['value'],
};
}

View File

@@ -0,0 +1,83 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateNodePoolRequest
*/
export interface DtoCreateNodePoolRequest {
/**
*
* @type {string}
* @memberof DtoCreateNodePoolRequest
*/
name?: string;
/**
*
* @type {string}
* @memberof DtoCreateNodePoolRequest
*/
role?: DtoCreateNodePoolRequestRoleEnum;
}
/**
* @export
*/
export const DtoCreateNodePoolRequestRoleEnum = {
master: 'master',
worker: 'worker'
} as const;
export type DtoCreateNodePoolRequestRoleEnum = typeof DtoCreateNodePoolRequestRoleEnum[keyof typeof DtoCreateNodePoolRequestRoleEnum];
/**
* Check if a given object implements the DtoCreateNodePoolRequest interface.
*/
export function instanceOfDtoCreateNodePoolRequest(value: object): value is DtoCreateNodePoolRequest {
return true;
}
export function DtoCreateNodePoolRequestFromJSON(json: any): DtoCreateNodePoolRequest {
return DtoCreateNodePoolRequestFromJSONTyped(json, false);
}
export function DtoCreateNodePoolRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateNodePoolRequest {
if (json == null) {
return json;
}
return {
'name': json['name'] == null ? undefined : json['name'],
'role': json['role'] == null ? undefined : json['role'],
};
}
export function DtoCreateNodePoolRequestToJSON(json: any): DtoCreateNodePoolRequest {
return DtoCreateNodePoolRequestToJSONTyped(json, false);
}
export function DtoCreateNodePoolRequestToJSONTyped(value?: DtoCreateNodePoolRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'role': value['role'],
};
}

View File

@@ -0,0 +1,88 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateSSHRequest
*/
export interface DtoCreateSSHRequest {
/**
* Only for RSA
* @type {number}
* @memberof DtoCreateSSHRequest
*/
bits?: number;
/**
*
* @type {string}
* @memberof DtoCreateSSHRequest
*/
comment?: string;
/**
*
* @type {string}
* @memberof DtoCreateSSHRequest
*/
name?: string;
/**
* "rsa" (default) or "ed25519"
* @type {string}
* @memberof DtoCreateSSHRequest
*/
type?: string;
}
/**
* Check if a given object implements the DtoCreateSSHRequest interface.
*/
export function instanceOfDtoCreateSSHRequest(value: object): value is DtoCreateSSHRequest {
return true;
}
export function DtoCreateSSHRequestFromJSON(json: any): DtoCreateSSHRequest {
return DtoCreateSSHRequestFromJSONTyped(json, false);
}
export function DtoCreateSSHRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateSSHRequest {
if (json == null) {
return json;
}
return {
'bits': json['bits'] == null ? undefined : json['bits'],
'comment': json['comment'] == null ? undefined : json['comment'],
'name': json['name'] == null ? undefined : json['name'],
'type': json['type'] == null ? undefined : json['type'],
};
}
export function DtoCreateSSHRequestToJSON(json: any): DtoCreateSSHRequest {
return DtoCreateSSHRequestToJSONTyped(json, false);
}
export function DtoCreateSSHRequestToJSONTyped(value?: DtoCreateSSHRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'bits': value['bits'],
'comment': value['comment'],
'name': value['name'],
'type': value['type'],
};
}

View File

@@ -0,0 +1,135 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateServerRequest
*/
export interface DtoCreateServerRequest {
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
hostname?: string;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
private_ip_address?: string;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
public_ip_address?: string;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
role?: DtoCreateServerRequestRoleEnum;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
ssh_key_id?: string;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
ssh_user?: string;
/**
*
* @type {string}
* @memberof DtoCreateServerRequest
*/
status?: DtoCreateServerRequestStatusEnum;
}
/**
* @export
*/
export const DtoCreateServerRequestRoleEnum = {
master: 'master',
worker: 'worker',
bastion: 'bastion'
} as const;
export type DtoCreateServerRequestRoleEnum = typeof DtoCreateServerRequestRoleEnum[keyof typeof DtoCreateServerRequestRoleEnum];
/**
* @export
*/
export const DtoCreateServerRequestStatusEnum = {
pending: 'pending',
provisioning: 'provisioning',
ready: 'ready',
failed: 'failed'
} as const;
export type DtoCreateServerRequestStatusEnum = typeof DtoCreateServerRequestStatusEnum[keyof typeof DtoCreateServerRequestStatusEnum];
/**
* Check if a given object implements the DtoCreateServerRequest interface.
*/
export function instanceOfDtoCreateServerRequest(value: object): value is DtoCreateServerRequest {
return true;
}
export function DtoCreateServerRequestFromJSON(json: any): DtoCreateServerRequest {
return DtoCreateServerRequestFromJSONTyped(json, false);
}
export function DtoCreateServerRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateServerRequest {
if (json == null) {
return json;
}
return {
'hostname': json['hostname'] == null ? undefined : json['hostname'],
'private_ip_address': json['private_ip_address'] == null ? undefined : json['private_ip_address'],
'public_ip_address': json['public_ip_address'] == null ? undefined : json['public_ip_address'],
'role': json['role'] == null ? undefined : json['role'],
'ssh_key_id': json['ssh_key_id'] == null ? undefined : json['ssh_key_id'],
'ssh_user': json['ssh_user'] == null ? undefined : json['ssh_user'],
'status': json['status'] == null ? undefined : json['status'],
};
}
export function DtoCreateServerRequestToJSON(json: any): DtoCreateServerRequest {
return DtoCreateServerRequestToJSONTyped(json, false);
}
export function DtoCreateServerRequestToJSONTyped(value?: DtoCreateServerRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'hostname': value['hostname'],
'private_ip_address': value['private_ip_address'],
'public_ip_address': value['public_ip_address'],
'role': value['role'],
'ssh_key_id': value['ssh_key_id'],
'ssh_user': value['ssh_user'],
'status': value['status'],
};
}

View File

@@ -0,0 +1,80 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoCreateTaintRequest
*/
export interface DtoCreateTaintRequest {
/**
*
* @type {string}
* @memberof DtoCreateTaintRequest
*/
effect?: string;
/**
*
* @type {string}
* @memberof DtoCreateTaintRequest
*/
key?: string;
/**
*
* @type {string}
* @memberof DtoCreateTaintRequest
*/
value?: string;
}
/**
* Check if a given object implements the DtoCreateTaintRequest interface.
*/
export function instanceOfDtoCreateTaintRequest(value: object): value is DtoCreateTaintRequest {
return true;
}
export function DtoCreateTaintRequestFromJSON(json: any): DtoCreateTaintRequest {
return DtoCreateTaintRequestFromJSONTyped(json, false);
}
export function DtoCreateTaintRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoCreateTaintRequest {
if (json == null) {
return json;
}
return {
'effect': json['effect'] == null ? undefined : json['effect'],
'key': json['key'] == null ? undefined : json['key'],
'value': json['value'] == null ? undefined : json['value'],
};
}
export function DtoCreateTaintRequestToJSON(json: any): DtoCreateTaintRequest {
return DtoCreateTaintRequestToJSONTyped(json, false);
}
export function DtoCreateTaintRequestToJSONTyped(value?: DtoCreateTaintRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'effect': value['effect'],
'key': value['key'],
'value': value['value'],
};
}

112
ui/src/sdk/models/DtoJWK.ts Normal file
View File

@@ -0,0 +1,112 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface DtoJWK
*/
export interface DtoJWK {
/**
*
* @type {string}
* @memberof DtoJWK
*/
alg?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
e?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
kid?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
kty?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
n?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
use?: string;
/**
*
* @type {string}
* @memberof DtoJWK
*/
x?: string;
}
/**
* Check if a given object implements the DtoJWK interface.
*/
export function instanceOfDtoJWK(value: object): value is DtoJWK {
return true;
}
export function DtoJWKFromJSON(json: any): DtoJWK {
return DtoJWKFromJSONTyped(json, false);
}
export function DtoJWKFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoJWK {
if (json == null) {
return json;
}
return {
'alg': json['alg'] == null ? undefined : json['alg'],
'e': json['e'] == null ? undefined : json['e'],
'kid': json['kid'] == null ? undefined : json['kid'],
'kty': json['kty'] == null ? undefined : json['kty'],
'n': json['n'] == null ? undefined : json['n'],
'use': json['use'] == null ? undefined : json['use'],
'x': json['x'] == null ? undefined : json['x'],
};
}
export function DtoJWKToJSON(json: any): DtoJWK {
return DtoJWKToJSONTyped(json, false);
}
export function DtoJWKToJSONTyped(value?: DtoJWK | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'alg': value['alg'],
'e': value['e'],
'kid': value['kid'],
'kty': value['kty'],
'n': value['n'],
'use': value['use'],
'x': value['x'],
};
}

View File

@@ -0,0 +1,67 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 type { DtoJWK } from "./DtoJWK"
import { DtoJWKFromJSON, DtoJWKToJSON, } from "./DtoJWK"
/**
*
* @export
* @interface DtoJWKS
*/
export interface DtoJWKS {
/**
*
* @type {Array<DtoJWK>}
* @memberof DtoJWKS
*/
keys?: Array<DtoJWK>;
}
/**
* Check if a given object implements the DtoJWKS interface.
*/
export function instanceOfDtoJWKS(value: object): value is DtoJWKS {
return true;
}
export function DtoJWKSFromJSON(json: any): DtoJWKS {
return DtoJWKSFromJSONTyped(json, false);
}
export function DtoJWKSFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoJWKS {
if (json == null) {
return json;
}
return {
'keys': json['keys'] == null ? undefined : ((json['keys'] as Array<any>).map(DtoJWKFromJSON)),
};
}
export function DtoJWKSToJSON(json: any): DtoJWKS {
return DtoJWKSToJSONTyped(json, false);
}
export function DtoJWKSToJSONTyped(value?: DtoJWKS | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'keys': value['keys'] == null ? undefined : ((value['keys'] as Array<any>).map(DtoJWKToJSON)),
};
}

149
ui/src/sdk/models/DtoJob.ts Normal file
View File

@@ -0,0 +1,149 @@
/* tslint:disable */
/* eslint-disable */
/**
* AutoGlue API
* API for managing K3s clusters across cloud providers
*
* The version of the OpenAPI document: 1.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 type { DtoJobStatus } from "./DtoJobStatus"
import { DtoJobStatusFromJSON, DtoJobStatusToJSON, } from "./DtoJobStatus"
/**
*
* @export
* @interface DtoJob
*/
export interface DtoJob {
/**
*
* @type {number}
* @memberof DtoJob
*/
attempts?: number;
/**
*
* @type {string}
* @memberof DtoJob
*/
created_at?: string;
/**
*
* @type {string}
* @memberof DtoJob
*/
id?: string;
/**
*
* @type {string}
* @memberof DtoJob
*/
last_error?: string;
/**
*
* @type {number}
* @memberof DtoJob
*/
max_attempts?: number;
/**
*
* @type {object}
* @memberof DtoJob
*/
payload?: object;
/**
*
* @type {string}
* @memberof DtoJob
*/
queue?: string;
/**
*
* @type {string}
* @memberof DtoJob
*/
run_at?: string;
/**
*
* @type {DtoJobStatus}
* @memberof DtoJob
*/
status?: DtoJobStatus;
/**
*
* @type {string}
* @memberof DtoJob
*/
type?: string;
/**
*
* @type {string}
* @memberof DtoJob
*/
updated_at?: string;
}
/**
* Check if a given object implements the DtoJob interface.
*/
export function instanceOfDtoJob(value: object): value is DtoJob {
return true;
}
export function DtoJobFromJSON(json: any): DtoJob {
return DtoJobFromJSONTyped(json, false);
}
export function DtoJobFromJSONTyped(json: any, ignoreDiscriminator: boolean): DtoJob {
if (json == null) {
return json;
}
return {
'attempts': json['attempts'] == null ? undefined : json['attempts'],
'created_at': json['created_at'] == null ? undefined : json['created_at'],
'id': json['id'] == null ? undefined : json['id'],
'last_error': json['last_error'] == null ? undefined : json['last_error'],
'max_attempts': json['max_attempts'] == null ? undefined : json['max_attempts'],
'payload': json['payload'] == null ? undefined : json['payload'],
'queue': json['queue'] == null ? undefined : json['queue'],
'run_at': json['run_at'] == null ? undefined : json['run_at'],
'status': json['status'] == null ? undefined : DtoJobStatusFromJSON(json['status']),
'type': json['type'] == null ? undefined : json['type'],
'updated_at': json['updated_at'] == null ? undefined : json['updated_at'],
};
}
export function DtoJobToJSON(json: any): DtoJob {
return DtoJobToJSONTyped(json, false);
}
export function DtoJobToJSONTyped(value?: DtoJob | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'attempts': value['attempts'],
'created_at': value['created_at'],
'id': value['id'],
'last_error': value['last_error'],
'max_attempts': value['max_attempts'],
'payload': value['payload'],
'queue': value['queue'],
'run_at': value['run_at'],
'status': DtoJobStatusToJSON(value['status']),
'type': value['type'],
'updated_at': value['updated_at'],
};
}

Some files were not shown because too many files have changed in this diff Show More