diff --git a/sdk/go/.gitignore b/sdk/go/.gitignore
new file mode 100644
index 0000000..daf913b
--- /dev/null
+++ b/sdk/go/.gitignore
@@ -0,0 +1,24 @@
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
diff --git a/sdk/go/.openapi-generator-ignore b/sdk/go/.openapi-generator-ignore
new file mode 100644
index 0000000..7484ee5
--- /dev/null
+++ b/sdk/go/.openapi-generator-ignore
@@ -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
diff --git a/sdk/go/.openapi-generator/FILES b/sdk/go/.openapi-generator/FILES
new file mode 100644
index 0000000..7b33cac
--- /dev/null
+++ b/sdk/go/.openapi-generator/FILES
@@ -0,0 +1,102 @@
+.gitignore
+.openapi-generator-ignore
+.travis.yml
+README.md
+api/openapi.yaml
+api_auth.go
+api_labels.go
+api_me.go
+api_me_api_keys.go
+api_orgs.go
+api_servers.go
+api_ssh.go
+api_taints.go
+client.go
+configuration.go
+docs/AuthAPI.md
+docs/DtoAuthStartResponse.md
+docs/DtoCreateLabelRequest.md
+docs/DtoCreateSSHRequest.md
+docs/DtoCreateServerRequest.md
+docs/DtoCreateTaintRequest.md
+docs/DtoJWK.md
+docs/DtoJWKS.md
+docs/DtoLabelResponse.md
+docs/DtoLogoutRequest.md
+docs/DtoRefreshRequest.md
+docs/DtoServerResponse.md
+docs/DtoSshResponse.md
+docs/DtoSshRevealResponse.md
+docs/DtoTaintResponse.md
+docs/DtoTokenPair.md
+docs/DtoUpdateLabelRequest.md
+docs/DtoUpdateServerRequest.md
+docs/DtoUpdateTaintRequest.md
+docs/HandlersCreateUserKeyRequest.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/LabelsAPI.md
+docs/MeAPI.md
+docs/MeAPIKeysAPI.md
+docs/ModelsAPIKey.md
+docs/ModelsOrganization.md
+docs/ModelsUser.md
+docs/ModelsUserEmail.md
+docs/OrgsAPI.md
+docs/ServersAPI.md
+docs/SshAPI.md
+docs/TaintsAPI.md
+docs/UtilsErrorResponse.md
+git_push.sh
+go.mod
+go.sum
+model_dto_auth_start_response.go
+model_dto_create_label_request.go
+model_dto_create_server_request.go
+model_dto_create_ssh_request.go
+model_dto_create_taint_request.go
+model_dto_jwk.go
+model_dto_jwks.go
+model_dto_label_response.go
+model_dto_logout_request.go
+model_dto_refresh_request.go
+model_dto_server_response.go
+model_dto_ssh_response.go
+model_dto_ssh_reveal_response.go
+model_dto_taint_response.go
+model_dto_token_pair.go
+model_dto_update_label_request.go
+model_dto_update_server_request.go
+model_dto_update_taint_request.go
+model_handlers_create_user_key_request.go
+model_handlers_me_response.go
+model_handlers_member_out.go
+model_handlers_member_upsert_req.go
+model_handlers_org_create_req.go
+model_handlers_org_key_create_req.go
+model_handlers_org_key_create_resp.go
+model_handlers_org_update_req.go
+model_handlers_update_me_request.go
+model_handlers_user_api_key_out.go
+model_models_api_key.go
+model_models_organization.go
+model_models_user.go
+model_models_user_email.go
+model_utils_error_response.go
+response.go
+test/api_auth_test.go
+test/api_labels_test.go
+test/api_me_api_keys_test.go
+test/api_me_test.go
+test/api_orgs_test.go
+test/api_servers_test.go
+test/api_ssh_test.go
+test/api_taints_test.go
+utils.go
diff --git a/sdk/go/.openapi-generator/VERSION b/sdk/go/.openapi-generator/VERSION
new file mode 100644
index 0000000..6328c54
--- /dev/null
+++ b/sdk/go/.openapi-generator/VERSION
@@ -0,0 +1 @@
+7.17.0
diff --git a/sdk/go/.travis.yml b/sdk/go/.travis.yml
new file mode 100644
index 0000000..f5cb2ce
--- /dev/null
+++ b/sdk/go/.travis.yml
@@ -0,0 +1,8 @@
+language: go
+
+install:
+ - go get -d -v .
+
+script:
+ - go build -v ./
+
diff --git a/sdk/go/README.md b/sdk/go/README.md
new file mode 100644
index 0000000..864e4d6
--- /dev/null
+++ b/sdk/go/README.md
@@ -0,0 +1,269 @@
+# Go API client for autoglue
+
+API for managing K3s clusters across cloud providers
+
+## Overview
+This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.
+
+- API version: 1.0
+- Package version: 1.0.0
+- Generator version: 7.17.0
+- Build package: org.openapitools.codegen.languages.GoClientCodegen
+
+## Installation
+
+Install the following dependencies:
+
+```sh
+go get github.com/stretchr/testify/assert
+go get golang.org/x/net/context
+```
+
+Put the package under your project folder and add the following in import:
+
+```go
+import autoglue "github.com/glueops/autoglue-sdk-go"
+```
+
+To use a proxy, set the environment variable `HTTP_PROXY`:
+
+```go
+os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
+```
+
+## Configuration of Server URL
+
+Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.
+
+### Select Server Configuration
+
+For using other server than the one defined on index 0 set context value `autoglue.ContextServerIndex` of type `int`.
+
+```go
+ctx := context.WithValue(context.Background(), autoglue.ContextServerIndex, 1)
+```
+
+### Templated Server URL
+
+Templated server URL is formatted using default variables from configuration or from context value `autoglue.ContextServerVariables` of type `map[string]string`.
+
+```go
+ctx := context.WithValue(context.Background(), autoglue.ContextServerVariables, map[string]string{
+ "basePath": "v2",
+})
+```
+
+Note, enum values are always validated and all unused variables are silently ignored.
+
+### URLs Configuration per Operation
+
+Each operation can use different server URL defined using `OperationServers` map in the `Configuration`.
+An operation is uniquely identified by `"{classname}Service.{nickname}"` string.
+Similar rules for overriding default operation server index and variables applies by using `autoglue.ContextOperationServerIndices` and `autoglue.ContextOperationServerVariables` context maps.
+
+```go
+ctx := context.WithValue(context.Background(), autoglue.ContextOperationServerIndices, map[string]int{
+ "{classname}Service.{nickname}": 2,
+})
+ctx = context.WithValue(context.Background(), autoglue.ContextOperationServerVariables, map[string]map[string]string{
+ "{classname}Service.{nickname}": {
+ "port": "8443",
+ },
+})
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *http://localhost:8080/api/v1*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*AuthAPI* | [**AuthCallback**](docs/AuthAPI.md#authcallback) | **Get** /auth/{provider}/callback | Handle social login callback
+*AuthAPI* | [**AuthStart**](docs/AuthAPI.md#authstart) | **Post** /auth/{provider}/start | Begin social login
+*AuthAPI* | [**GetJWKS**](docs/AuthAPI.md#getjwks) | **Get** /.well-known/jwks.json | Get JWKS
+*AuthAPI* | [**Logout**](docs/AuthAPI.md#logout) | **Post** /auth/logout | Revoke refresh token family (logout everywhere)
+*AuthAPI* | [**Refresh**](docs/AuthAPI.md#refresh) | **Post** /auth/refresh | Rotate refresh token
+*LabelsAPI* | [**CreateLabel**](docs/LabelsAPI.md#createlabel) | **Post** /labels | Create label (org scoped)
+*LabelsAPI* | [**DeleteLabel**](docs/LabelsAPI.md#deletelabel) | **Delete** /labels/{id} | Delete label (org scoped)
+*LabelsAPI* | [**GetLabel**](docs/LabelsAPI.md#getlabel) | **Get** /labels/{id} | Get label by ID (org scoped)
+*LabelsAPI* | [**ListLabels**](docs/LabelsAPI.md#listlabels) | **Get** /labels | List node labels (org scoped)
+*LabelsAPI* | [**UpdateLabel**](docs/LabelsAPI.md#updatelabel) | **Patch** /labels/{id} | Update label (org scoped)
+*MeAPI* | [**GetMe**](docs/MeAPI.md#getme) | **Get** /me | Get current user profile
+*MeAPI* | [**UpdateMe**](docs/MeAPI.md#updateme) | **Patch** /me | Update current user profile
+*MeAPIKeysAPI* | [**CreateUserAPIKey**](docs/MeAPIKeysAPI.md#createuserapikey) | **Post** /me/api-keys | Create a new user API key
+*MeAPIKeysAPI* | [**DeleteUserAPIKey**](docs/MeAPIKeysAPI.md#deleteuserapikey) | **Delete** /me/api-keys/{id} | Delete a user API key
+*MeAPIKeysAPI* | [**ListUserAPIKeys**](docs/MeAPIKeysAPI.md#listuserapikeys) | **Get** /me/api-keys | List my API keys
+*OrgsAPI* | [**AddOrUpdateMember**](docs/OrgsAPI.md#addorupdatemember) | **Post** /orgs/{id}/members | Add or update a member (owner/admin)
+*OrgsAPI* | [**CreateOrg**](docs/OrgsAPI.md#createorg) | **Post** /orgs | Create organization
+*OrgsAPI* | [**CreateOrgKey**](docs/OrgsAPI.md#createorgkey) | **Post** /orgs/{id}/api-keys | Create org key/secret pair (owner/admin)
+*OrgsAPI* | [**DeleteOrg**](docs/OrgsAPI.md#deleteorg) | **Delete** /orgs/{id} | Delete organization (owner)
+*OrgsAPI* | [**DeleteOrgKey**](docs/OrgsAPI.md#deleteorgkey) | **Delete** /orgs/{id}/api-keys/{key_id} | Delete org key (owner/admin)
+*OrgsAPI* | [**GetOrg**](docs/OrgsAPI.md#getorg) | **Get** /orgs/{id} | Get organization
+*OrgsAPI* | [**ListMembers**](docs/OrgsAPI.md#listmembers) | **Get** /orgs/{id}/members | List members in org
+*OrgsAPI* | [**ListMyOrgs**](docs/OrgsAPI.md#listmyorgs) | **Get** /orgs | List organizations I belong to
+*OrgsAPI* | [**ListOrgKeys**](docs/OrgsAPI.md#listorgkeys) | **Get** /orgs/{id}/api-keys | List org-scoped API keys (no secrets)
+*OrgsAPI* | [**RemoveMember**](docs/OrgsAPI.md#removemember) | **Delete** /orgs/{id}/members/{user_id} | Remove a member (owner/admin)
+*OrgsAPI* | [**UpdateOrg**](docs/OrgsAPI.md#updateorg) | **Patch** /orgs/{id} | Update organization (owner/admin)
+*ServersAPI* | [**CreateServer**](docs/ServersAPI.md#createserver) | **Post** /servers | Create server (org scoped)
+*ServersAPI* | [**DeleteServer**](docs/ServersAPI.md#deleteserver) | **Delete** /servers/{id} | Delete server (org scoped)
+*ServersAPI* | [**GetServer**](docs/ServersAPI.md#getserver) | **Get** /servers/{id} | Get server by ID (org scoped)
+*ServersAPI* | [**ListServers**](docs/ServersAPI.md#listservers) | **Get** /servers | List servers (org scoped)
+*ServersAPI* | [**UpdateServer**](docs/ServersAPI.md#updateserver) | **Patch** /servers/{id} | Update server (org scoped)
+*SshAPI* | [**CreateSSHKey**](docs/SshAPI.md#createsshkey) | **Post** /ssh | Create ssh keypair (org scoped)
+*SshAPI* | [**DeleteSSHKey**](docs/SshAPI.md#deletesshkey) | **Delete** /ssh/{id} | Delete ssh keypair (org scoped)
+*SshAPI* | [**DownloadSSHKey**](docs/SshAPI.md#downloadsshkey) | **Get** /ssh/{id}/download | Download ssh key files by ID (org scoped)
+*SshAPI* | [**GetSSHKey**](docs/SshAPI.md#getsshkey) | **Get** /ssh/{id} | Get ssh key by ID (org scoped)
+*SshAPI* | [**ListPublicSshKeys**](docs/SshAPI.md#listpublicsshkeys) | **Get** /ssh | List ssh keys (org scoped)
+*TaintsAPI* | [**CreateTaint**](docs/TaintsAPI.md#createtaint) | **Post** /taints | Create node taint (org scoped)
+*TaintsAPI* | [**DeleteTaint**](docs/TaintsAPI.md#deletetaint) | **Delete** /taints/{id} | Delete taint (org scoped)
+*TaintsAPI* | [**GetTaint**](docs/TaintsAPI.md#gettaint) | **Get** /taints/{id} | Get node taint by ID (org scoped)
+*TaintsAPI* | [**ListTaints**](docs/TaintsAPI.md#listtaints) | **Get** /taints | List node pool taints (org scoped)
+*TaintsAPI* | [**UpdateTaint**](docs/TaintsAPI.md#updatetaint) | **Patch** /taints/{id} | Update node taint (org scoped)
+
+
+## Documentation For Models
+
+ - [DtoAuthStartResponse](docs/DtoAuthStartResponse.md)
+ - [DtoCreateLabelRequest](docs/DtoCreateLabelRequest.md)
+ - [DtoCreateSSHRequest](docs/DtoCreateSSHRequest.md)
+ - [DtoCreateServerRequest](docs/DtoCreateServerRequest.md)
+ - [DtoCreateTaintRequest](docs/DtoCreateTaintRequest.md)
+ - [DtoJWK](docs/DtoJWK.md)
+ - [DtoJWKS](docs/DtoJWKS.md)
+ - [DtoLabelResponse](docs/DtoLabelResponse.md)
+ - [DtoLogoutRequest](docs/DtoLogoutRequest.md)
+ - [DtoRefreshRequest](docs/DtoRefreshRequest.md)
+ - [DtoServerResponse](docs/DtoServerResponse.md)
+ - [DtoSshResponse](docs/DtoSshResponse.md)
+ - [DtoSshRevealResponse](docs/DtoSshRevealResponse.md)
+ - [DtoTaintResponse](docs/DtoTaintResponse.md)
+ - [DtoTokenPair](docs/DtoTokenPair.md)
+ - [DtoUpdateLabelRequest](docs/DtoUpdateLabelRequest.md)
+ - [DtoUpdateServerRequest](docs/DtoUpdateServerRequest.md)
+ - [DtoUpdateTaintRequest](docs/DtoUpdateTaintRequest.md)
+ - [HandlersCreateUserKeyRequest](docs/HandlersCreateUserKeyRequest.md)
+ - [HandlersMeResponse](docs/HandlersMeResponse.md)
+ - [HandlersMemberOut](docs/HandlersMemberOut.md)
+ - [HandlersMemberUpsertReq](docs/HandlersMemberUpsertReq.md)
+ - [HandlersOrgCreateReq](docs/HandlersOrgCreateReq.md)
+ - [HandlersOrgKeyCreateReq](docs/HandlersOrgKeyCreateReq.md)
+ - [HandlersOrgKeyCreateResp](docs/HandlersOrgKeyCreateResp.md)
+ - [HandlersOrgUpdateReq](docs/HandlersOrgUpdateReq.md)
+ - [HandlersUpdateMeRequest](docs/HandlersUpdateMeRequest.md)
+ - [HandlersUserAPIKeyOut](docs/HandlersUserAPIKeyOut.md)
+ - [ModelsAPIKey](docs/ModelsAPIKey.md)
+ - [ModelsOrganization](docs/ModelsOrganization.md)
+ - [ModelsUser](docs/ModelsUser.md)
+ - [ModelsUserEmail](docs/ModelsUserEmail.md)
+ - [UtilsErrorResponse](docs/UtilsErrorResponse.md)
+
+
+## Documentation For Authorization
+
+
+Authentication schemes defined for the API:
+### ApiKeyAuth
+
+- **Type**: API key
+- **API key parameter name**: X-API-KEY
+- **Location**: HTTP header
+
+Note, each API key must be added to a map of `map[string]APIKey` where the key is: ApiKeyAuth and passed in as the auth context for each request.
+
+Example
+
+```go
+auth := context.WithValue(
+ context.Background(),
+ autoglue.ContextAPIKeys,
+ map[string]autoglue.APIKey{
+ "ApiKeyAuth": {Key: "API_KEY_STRING"},
+ },
+ )
+r, err := client.Service.Operation(auth, args)
+```
+
+### BearerAuth
+
+- **Type**: API key
+- **API key parameter name**: Authorization
+- **Location**: HTTP header
+
+Note, each API key must be added to a map of `map[string]APIKey` where the key is: BearerAuth and passed in as the auth context for each request.
+
+Example
+
+```go
+auth := context.WithValue(
+ context.Background(),
+ autoglue.ContextAPIKeys,
+ map[string]autoglue.APIKey{
+ "BearerAuth": {Key: "API_KEY_STRING"},
+ },
+ )
+r, err := client.Service.Operation(auth, args)
+```
+
+### OrgKeyAuth
+
+- **Type**: API key
+- **API key parameter name**: X-ORG-KEY
+- **Location**: HTTP header
+
+Note, each API key must be added to a map of `map[string]APIKey` where the key is: OrgKeyAuth and passed in as the auth context for each request.
+
+Example
+
+```go
+auth := context.WithValue(
+ context.Background(),
+ autoglue.ContextAPIKeys,
+ map[string]autoglue.APIKey{
+ "OrgKeyAuth": {Key: "API_KEY_STRING"},
+ },
+ )
+r, err := client.Service.Operation(auth, args)
+```
+
+### OrgSecretAuth
+
+- **Type**: API key
+- **API key parameter name**: X-ORG-SECRET
+- **Location**: HTTP header
+
+Note, each API key must be added to a map of `map[string]APIKey` where the key is: OrgSecretAuth and passed in as the auth context for each request.
+
+Example
+
+```go
+auth := context.WithValue(
+ context.Background(),
+ autoglue.ContextAPIKeys,
+ map[string]autoglue.APIKey{
+ "OrgSecretAuth": {Key: "API_KEY_STRING"},
+ },
+ )
+r, err := client.Service.Operation(auth, args)
+```
+
+
+## Documentation for Utility Methods
+
+Due to the fact that model structure members are all pointers, this package contains
+a number of utility functions to easily obtain pointers to values of basic types.
+Each of these functions takes a value of the given basic type and returns a pointer to it:
+
+* `PtrBool`
+* `PtrInt`
+* `PtrInt32`
+* `PtrInt64`
+* `PtrFloat`
+* `PtrFloat32`
+* `PtrFloat64`
+* `PtrString`
+* `PtrTime`
+
+## Author
+
+
+
diff --git a/sdk/go/api/openapi.yaml b/sdk/go/api/openapi.yaml
new file mode 100644
index 0000000..01cb352
--- /dev/null
+++ b/sdk/go/api/openapi.yaml
@@ -0,0 +1,2409 @@
+openapi: 3.0.1
+info:
+ contact:
+ name: GlueOps
+ description: API for managing K3s clusters across cloud providers
+ title: AutoGlue API
+ version: "1.0"
+servers:
+- url: http://localhost:8080/api/v1
+- url: https://localhost:8080/api/v1
+paths:
+ /.well-known/jwks.json:
+ get:
+ description: Returns the JSON Web Key Set for token verification
+ operationId: getJWKS
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.JWKS"
+ description: OK
+ summary: Get JWKS
+ tags:
+ - Auth
+ /auth/logout:
+ post:
+ operationId: Logout
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.LogoutRequest"
+ description: Refresh token
+ required: true
+ responses:
+ "204":
+ content: {}
+ description: No Content
+ summary: Revoke refresh token family (logout everywhere)
+ tags:
+ - Auth
+ x-codegen-request-body-name: body
+ /auth/refresh:
+ post:
+ operationId: Refresh
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.RefreshRequest"
+ description: Refresh token
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.TokenPair"
+ description: OK
+ summary: Rotate refresh token
+ tags:
+ - Auth
+ x-codegen-request-body-name: body
+ /auth/{provider}/callback:
+ get:
+ operationId: AuthCallback
+ parameters:
+ - description: google|github
+ in: path
+ name: provider
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.TokenPair"
+ description: OK
+ summary: Handle social login callback
+ tags:
+ - Auth
+ /auth/{provider}/start:
+ post:
+ description: Returns provider authorization URL for the frontend to redirect
+ operationId: AuthStart
+ parameters:
+ - description: google|github
+ in: path
+ name: provider
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.AuthStartResponse"
+ description: OK
+ summary: Begin social login
+ tags:
+ - Auth
+ /labels:
+ get:
+ description: "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."
+ operationId: ListLabels
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Exact key
+ in: query
+ name: key
+ schema:
+ type: string
+ - description: Exact value
+ in: query
+ name: value
+ schema:
+ type: string
+ - description: Key contains (case-insensitive)
+ in: query
+ name: q
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/dto.LabelResponse"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: failed to list node taints
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: List node labels (org scoped)
+ tags:
+ - Labels
+ post:
+ description: Creates a label.
+ operationId: CreateLabel
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.CreateLabelRequest"
+ description: Label payload
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.LabelResponse"
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid json / missing fields / invalid node_pool_ids
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: create failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Create label (org scoped)
+ tags:
+ - Labels
+ x-codegen-request-body-name: body
+ /labels/{id}:
+ delete:
+ description: Permanently deletes the label.
+ operationId: DeleteLabel
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Label ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: delete failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Delete label (org scoped)
+ tags:
+ - Labels
+ get:
+ description: Returns one label.
+ operationId: GetLabel
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Label ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.LabelResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: fetch failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Get label by ID (org scoped)
+ tags:
+ - Labels
+ patch:
+ description: Partially update label fields.
+ operationId: UpdateLabel
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Label ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.UpdateLabelRequest"
+ description: Fields to update
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.LabelResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id / invalid json
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: update failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Update label (org scoped)
+ tags:
+ - Labels
+ x-codegen-request-body-name: body
+ /me:
+ get:
+ operationId: GetMe
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.meResponse"
+ description: OK
+ security:
+ - BearerAuth: []
+ - ApiKeyAuth: []
+ summary: Get current user profile
+ tags:
+ - Me
+ patch:
+ operationId: UpdateMe
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.updateMeRequest"
+ description: Patch profile
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/models.User"
+ description: OK
+ security:
+ - BearerAuth: []
+ - ApiKeyAuth: []
+ summary: Update current user profile
+ tags:
+ - Me
+ x-codegen-request-body-name: body
+ /me/api-keys:
+ get:
+ operationId: ListUserAPIKeys
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/handlers.userAPIKeyOut"
+ type: array
+ description: OK
+ security:
+ - BearerAuth: []
+ - ApiKeyAuth: []
+ summary: List my API keys
+ tags:
+ - Me / API Keys
+ post:
+ description: Returns the plaintext key once. Store it securely on the client
+ side.
+ operationId: CreateUserAPIKey
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.createUserKeyRequest"
+ description: Key options
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.userAPIKeyOut"
+ description: Created
+ security:
+ - BearerAuth: []
+ - ApiKeyAuth: []
+ summary: Create a new user API key
+ tags:
+ - Me / API Keys
+ x-codegen-request-body-name: body
+ /me/api-keys/{id}:
+ delete:
+ operationId: DeleteUserAPIKey
+ parameters:
+ - description: Key ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content: {}
+ description: No Content
+ security:
+ - BearerAuth: []
+ summary: Delete a user API key
+ tags:
+ - Me / API Keys
+ /orgs:
+ get:
+ operationId: listMyOrgs
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/models.Organization"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: List organizations I belong to
+ tags:
+ - Orgs
+ post:
+ operationId: createOrg
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.orgCreateReq"
+ description: Org payload
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/models.Organization"
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Bad Request
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ "409":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Conflict
+ security:
+ - BearerAuth: []
+ summary: Create organization
+ tags:
+ - Orgs
+ x-codegen-request-body-name: body
+ /orgs/{id}:
+ delete:
+ operationId: deleteOrg
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content: {}
+ description: Deleted
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Not Found
+ security:
+ - BearerAuth: []
+ summary: Delete organization (owner)
+ tags:
+ - Orgs
+ get:
+ operationId: getOrg
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/models.Organization"
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Not Found
+ security:
+ - BearerAuth: []
+ summary: Get organization
+ tags:
+ - Orgs
+ patch:
+ operationId: updateOrg
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.orgUpdateReq"
+ description: Update payload
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/models.Organization"
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ "404":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Not Found
+ security:
+ - BearerAuth: []
+ summary: Update organization (owner/admin)
+ tags:
+ - Orgs
+ x-codegen-request-body-name: body
+ /orgs/{id}/api-keys:
+ get:
+ operationId: listOrgKeys
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/models.APIKey"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: List org-scoped API keys (no secrets)
+ tags:
+ - Orgs
+ post:
+ operationId: createOrgKey
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.orgKeyCreateReq"
+ description: Key name + optional expiry
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.orgKeyCreateResp"
+ description: Created
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: Create org key/secret pair (owner/admin)
+ tags:
+ - Orgs
+ x-codegen-request-body-name: body
+ /orgs/{id}/api-keys/{key_id}:
+ delete:
+ operationId: deleteOrgKey
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ - description: Key ID (UUID)
+ in: path
+ name: key_id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content: {}
+ description: Deleted
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: Delete org key (owner/admin)
+ tags:
+ - Orgs
+ /orgs/{id}/members:
+ get:
+ operationId: listMembers
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/handlers.memberOut"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: List members in org
+ tags:
+ - Orgs
+ post:
+ operationId: addOrUpdateMember
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.memberUpsertReq"
+ description: User & role
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/handlers.memberOut"
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: Add or update a member (owner/admin)
+ tags:
+ - Orgs
+ x-codegen-request-body-name: body
+ /orgs/{id}/members/{user_id}:
+ delete:
+ operationId: removeMember
+ parameters:
+ - description: Org ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ - description: User ID (UUID)
+ in: path
+ name: user_id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content: {}
+ description: Removed
+ "401":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/utils.ErrorResponse"
+ description: Unauthorized
+ security:
+ - BearerAuth: []
+ summary: Remove a member (owner/admin)
+ tags:
+ - Orgs
+ /servers:
+ get:
+ description: "Returns servers for the organization in X-Org-ID. Optional filters:\
+ \ status, role."
+ operationId: ListServers
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Filter by status (pending|provisioning|ready|failed)
+ in: query
+ name: status
+ schema:
+ type: string
+ - description: Filter by role
+ in: query
+ name: role
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/dto.ServerResponse"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: failed to list servers
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: List servers (org scoped)
+ tags:
+ - Servers
+ post:
+ description: Creates a server bound to the org in X-Org-ID. Validates that ssh_key_id
+ belongs to the org.
+ operationId: CreateServer
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.CreateServerRequest"
+ description: Server payload
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.ServerResponse"
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid json / missing fields / invalid status / invalid ssh_key_id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: create failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Create server (org scoped)
+ tags:
+ - Servers
+ x-codegen-request-body-name: body
+ /servers/{id}:
+ delete:
+ description: Permanently deletes the server.
+ operationId: DeleteServer
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Server ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: delete failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Delete server (org scoped)
+ tags:
+ - Servers
+ get:
+ description: Returns one server in the given organization.
+ operationId: GetServer
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Server ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.ServerResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: fetch failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Get server by ID (org scoped)
+ tags:
+ - Servers
+ patch:
+ description: Partially update fields; changing ssh_key_id validates ownership.
+ operationId: UpdateServer
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Server ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.UpdateServerRequest"
+ description: Fields to update
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.ServerResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id / invalid json / invalid status / invalid ssh_key_id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: update failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Update server (org scoped)
+ tags:
+ - Servers
+ x-codegen-request-body-name: body
+ /ssh:
+ get:
+ description: Returns ssh keys for the organization in X-Org-ID.
+ operationId: ListPublicSshKeys
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/dto.SshResponse"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: failed to list keys
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: List ssh keys (org scoped)
+ tags:
+ - Ssh
+ post:
+ description: "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."
+ operationId: CreateSSHKey
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.CreateSSHRequest"
+ description: Key generation options
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.SshResponse"
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid json / invalid bits
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: generation/create failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Create ssh keypair (org scoped)
+ tags:
+ - Ssh
+ x-codegen-request-body-name: body
+ /ssh/{id}:
+ delete:
+ description: Permanently deletes a keypair.
+ operationId: DeleteSSHKey
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: SSH Key ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: delete failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Delete ssh keypair (org scoped)
+ tags:
+ - Ssh
+ get:
+ description: Returns public key fields. Append `?reveal=true` to include the
+ private key PEM.
+ operationId: GetSSHKey
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: SSH Key ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ - description: Reveal private key PEM
+ in: query
+ name: reveal
+ schema:
+ type: boolean
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.SshRevealResponse"
+ description: When reveal=true
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: fetch failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Get ssh key by ID (org scoped)
+ tags:
+ - Ssh
+ /ssh/{id}/download:
+ get:
+ description: Download `part=public|private|both` of the keypair. `both` returns
+ a zip file.
+ operationId: DownloadSSHKey
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ required: true
+ schema:
+ type: string
+ - description: SSH Key ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ - description: Which part to download
+ in: query
+ name: part
+ required: true
+ schema:
+ enum:
+ - public
+ - private
+ - both
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: file content
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id / invalid part
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: download failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Download ssh key files by ID (org scoped)
+ tags:
+ - Ssh
+ /taints:
+ get:
+ description: "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."
+ operationId: ListTaints
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Exact key
+ in: query
+ name: key
+ schema:
+ type: string
+ - description: Exact value
+ in: query
+ name: value
+ schema:
+ type: string
+ - description: key contains (case-insensitive)
+ in: query
+ name: q
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ items:
+ $ref: "#/components/schemas/dto.TaintResponse"
+ type: array
+ description: OK
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: failed to list node taints
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: List node pool taints (org scoped)
+ tags:
+ - Taints
+ post:
+ description: Creates a taint.
+ operationId: CreateTaint
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.CreateTaintRequest"
+ description: Taint payload
+ required: true
+ responses:
+ "201":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.TaintResponse"
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid json / missing fields / invalid node_pool_ids
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: create failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Create node taint (org scoped)
+ tags:
+ - Taints
+ x-codegen-request-body-name: body
+ /taints/{id}:
+ delete:
+ description: Permanently deletes the taint.
+ operationId: DeleteTaint
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Node Taint ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "204":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: delete failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Delete taint (org scoped)
+ tags:
+ - Taints
+ get:
+ operationId: GetTaint
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Node Taint ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.TaintResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: fetch failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Get node taint by ID (org scoped)
+ tags:
+ - Taints
+ patch:
+ description: Partially update taint fields.
+ operationId: UpdateTaint
+ parameters:
+ - description: Organization UUID
+ in: header
+ name: X-Org-ID
+ schema:
+ type: string
+ - description: Node Taint ID (UUID)
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.UpdateTaintRequest"
+ description: Fields to update
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/dto.TaintResponse"
+ description: OK
+ "400":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: invalid id / invalid json
+ "401":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: Unauthorized
+ "403":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: organization required
+ "404":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: not found
+ "500":
+ content:
+ application/json:
+ schema:
+ type: string
+ description: update failed
+ security:
+ - BearerAuth: []
+ - OrgKeyAuth: []
+ - OrgSecretAuth: []
+ summary: Update node taint (org scoped)
+ tags:
+ - Taints
+ x-codegen-request-body-name: body
+components:
+ schemas:
+ dto.AuthStartResponse:
+ example:
+ auth_url: https://accounts.google.com/o/oauth2/v2/auth?client_id=...
+ properties:
+ auth_url:
+ example: https://accounts.google.com/o/oauth2/v2/auth?client_id=...
+ type: string
+ type: object
+ dto.CreateLabelRequest:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ dto.CreateSSHRequest:
+ properties:
+ bits:
+ description: Only for RSA
+ type: integer
+ comment:
+ example: deploy@autoglue
+ type: string
+ name:
+ type: string
+ type:
+ description: '"rsa" (default) or "ed25519"'
+ type: string
+ type: object
+ dto.CreateServerRequest:
+ properties:
+ hostname:
+ type: string
+ private_ip_address:
+ type: string
+ public_ip_address:
+ type: string
+ role:
+ example: master|worker|bastion
+ type: string
+ ssh_key_id:
+ type: string
+ ssh_user:
+ type: string
+ status:
+ example: pending|provisioning|ready|failed
+ type: string
+ type: object
+ dto.CreateTaintRequest:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ dto.JWK:
+ example:
+ kty: RSA
+ e: AQAB
+ use: sig
+ kid: 7c6f1d0a-7a98-4e6a-9dbf-6b1af4b9f345
+ x: x
+ alg: RS256
+ "n": "n"
+ properties:
+ alg:
+ example: RS256
+ type: string
+ e:
+ example: AQAB
+ type: string
+ kid:
+ example: 7c6f1d0a-7a98-4e6a-9dbf-6b1af4b9f345
+ type: string
+ kty:
+ example: RSA
+ type: string
+ "n":
+ type: string
+ use:
+ example: sig
+ type: string
+ x:
+ type: string
+ type: object
+ dto.JWKS:
+ example:
+ keys:
+ - kty: RSA
+ e: AQAB
+ use: sig
+ kid: 7c6f1d0a-7a98-4e6a-9dbf-6b1af4b9f345
+ x: x
+ alg: RS256
+ "n": "n"
+ - kty: RSA
+ e: AQAB
+ use: sig
+ kid: 7c6f1d0a-7a98-4e6a-9dbf-6b1af4b9f345
+ x: x
+ alg: RS256
+ "n": "n"
+ properties:
+ keys:
+ items:
+ $ref: "#/components/schemas/dto.JWK"
+ type: array
+ type: object
+ dto.LabelResponse:
+ example:
+ id: id
+ value: value
+ key: key
+ properties:
+ id:
+ type: string
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ dto.LogoutRequest:
+ properties:
+ refresh_token:
+ example: m0l9o8rT3t0V8d3eFf...
+ type: string
+ type: object
+ dto.RefreshRequest:
+ properties:
+ refresh_token:
+ example: m0l9o8rT3t0V8d3eFf...
+ type: string
+ type: object
+ dto.ServerResponse:
+ example:
+ hostname: hostname
+ public_ip_address: public_ip_address
+ role: role
+ updated_at: updated_at
+ ssh_key_id: ssh_key_id
+ organization_id: organization_id
+ created_at: created_at
+ private_ip_address: private_ip_address
+ id: id
+ ssh_user: ssh_user
+ status: status
+ properties:
+ created_at:
+ type: string
+ hostname:
+ type: string
+ id:
+ type: string
+ organization_id:
+ type: string
+ private_ip_address:
+ type: string
+ public_ip_address:
+ type: string
+ role:
+ type: string
+ ssh_key_id:
+ type: string
+ ssh_user:
+ type: string
+ status:
+ type: string
+ updated_at:
+ type: string
+ type: object
+ dto.SshResponse:
+ example:
+ public_key: public_key
+ updated_at: updated_at
+ organization_id: organization_id
+ fingerprint: fingerprint
+ name: name
+ created_at: created_at
+ id: id
+ properties:
+ created_at:
+ type: string
+ fingerprint:
+ type: string
+ id:
+ type: string
+ name:
+ type: string
+ organization_id:
+ type: string
+ public_key:
+ type: string
+ updated_at:
+ type: string
+ type: object
+ dto.SshRevealResponse:
+ example:
+ public_key: public_key
+ updated_at: updated_at
+ organization_id: organization_id
+ fingerprint: fingerprint
+ name: name
+ created_at: created_at
+ private_key: private_key
+ id: id
+ properties:
+ created_at:
+ type: string
+ fingerprint:
+ type: string
+ id:
+ type: string
+ name:
+ type: string
+ organization_id:
+ type: string
+ private_key:
+ type: string
+ public_key:
+ type: string
+ updated_at:
+ type: string
+ type: object
+ dto.TaintResponse:
+ example:
+ effect: effect
+ id: id
+ value: value
+ key: key
+ properties:
+ effect:
+ type: string
+ id:
+ type: string
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ dto.TokenPair:
+ example:
+ access_token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ij...
+ refresh_token: m0l9o8rT3t0V8d3eFf....
+ token_type: Bearer
+ expires_in: 3600
+ properties:
+ access_token:
+ example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ij...
+ type: string
+ expires_in:
+ example: 3600
+ type: integer
+ refresh_token:
+ example: m0l9o8rT3t0V8d3eFf....
+ type: string
+ token_type:
+ example: Bearer
+ type: string
+ type: object
+ dto.UpdateLabelRequest:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ dto.UpdateServerRequest:
+ properties:
+ hostname:
+ type: string
+ private_ip_address:
+ type: string
+ public_ip_address:
+ type: string
+ role:
+ example: master|worker|bastion
+ type: string
+ ssh_key_id:
+ type: string
+ ssh_user:
+ type: string
+ status:
+ example: pending|provisioning|ready|failed
+ type: string
+ type: object
+ dto.UpdateTaintRequest:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ value:
+ type: string
+ type: object
+ handlers.createUserKeyRequest:
+ properties:
+ expires_in_hours:
+ description: optional TTL
+ type: integer
+ name:
+ type: string
+ type: object
+ handlers.meResponse:
+ example:
+ emails:
+ - is_primary: true
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ user_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ is_verified: true
+ user:
+ avatar_url: avatar_url
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ is_disabled: true
+ created_at: 2000-01-23T04:56:07.000+00:00
+ primary_email: primary_email
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ display_name: display_name
+ email: email
+ - is_primary: true
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ user_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ is_verified: true
+ user:
+ avatar_url: avatar_url
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ is_disabled: true
+ created_at: 2000-01-23T04:56:07.000+00:00
+ primary_email: primary_email
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ display_name: display_name
+ email: email
+ avatar_url: avatar_url
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ is_disabled: true
+ organizations:
+ - updated_at: 2000-01-23T04:56:07.000+00:00
+ domain: domain
+ name: name
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ - updated_at: 2000-01-23T04:56:07.000+00:00
+ domain: domain
+ name: name
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ created_at: 2000-01-23T04:56:07.000+00:00
+ primary_email: primary_email
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ display_name: display_name
+ properties:
+ avatar_url:
+ type: string
+ created_at:
+ format: date-time
+ type: string
+ display_name:
+ type: string
+ emails:
+ items:
+ $ref: "#/components/schemas/models.UserEmail"
+ type: array
+ id:
+ description: "example: 3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ format: uuid
+ type: string
+ is_disabled:
+ type: boolean
+ organizations:
+ items:
+ $ref: "#/components/schemas/models.Organization"
+ type: array
+ primary_email:
+ type: string
+ updated_at:
+ format: date-time
+ type: string
+ type: object
+ handlers.memberOut:
+ example:
+ role: role
+ user_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ email: email
+ properties:
+ email:
+ type: string
+ role:
+ description: owner/admin/member
+ type: string
+ user_id:
+ format: uuid
+ type: string
+ type: object
+ handlers.memberUpsertReq:
+ properties:
+ role:
+ example: member
+ type: string
+ user_id:
+ format: uuid
+ type: string
+ type: object
+ handlers.orgCreateReq:
+ properties:
+ domain:
+ example: acme.com
+ type: string
+ name:
+ example: Acme Corp
+ type: string
+ type: object
+ handlers.orgKeyCreateReq:
+ properties:
+ expires_in_hours:
+ example: 720
+ type: integer
+ name:
+ example: automation-bot
+ type: string
+ type: object
+ handlers.orgKeyCreateResp:
+ example:
+ org_key: org_key
+ expires_at: expires_at
+ scope: scope
+ name: name
+ created_at: created_at
+ id: id
+ org_secret: org_secret
+ properties:
+ created_at:
+ type: string
+ expires_at:
+ type: string
+ id:
+ type: string
+ name:
+ type: string
+ org_key:
+ description: "shown once:"
+ type: string
+ org_secret:
+ description: "shown once:"
+ type: string
+ scope:
+ description: '"org"'
+ type: string
+ type: object
+ handlers.orgUpdateReq:
+ properties:
+ domain:
+ type: string
+ name:
+ type: string
+ type: object
+ handlers.updateMeRequest:
+ properties:
+ display_name:
+ type: string
+ type: object
+ handlers.userAPIKeyOut:
+ example:
+ last_used_at: last_used_at
+ expires_at: expires_at
+ plain: plain
+ scope: scope
+ name: name
+ created_at: created_at
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ properties:
+ created_at:
+ type: string
+ expires_at:
+ type: string
+ id:
+ format: uuid
+ type: string
+ last_used_at:
+ type: string
+ name:
+ type: string
+ plain:
+ description: "Shown only on create:"
+ type: string
+ scope:
+ description: '"user"'
+ type: string
+ type: object
+ models.APIKey:
+ example:
+ last_used_at: 2000-01-23T04:56:07.000+00:00
+ expires_at: 2000-01-23T04:56:07.000+00:00
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ user_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ org_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ prefix: prefix
+ scope: scope
+ name: name
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ revoked: true
+ properties:
+ created_at:
+ format: date-time
+ type: string
+ expires_at:
+ format: date-time
+ type: string
+ id:
+ format: uuid
+ type: string
+ last_used_at:
+ format: date-time
+ type: string
+ name:
+ type: string
+ org_id:
+ format: uuid
+ type: string
+ prefix:
+ type: string
+ revoked:
+ type: boolean
+ scope:
+ type: string
+ updated_at:
+ format: date-time
+ type: string
+ user_id:
+ format: uuid
+ type: string
+ type: object
+ models.Organization:
+ example:
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ domain: domain
+ name: name
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ properties:
+ created_at:
+ format: date-time
+ type: string
+ domain:
+ type: string
+ id:
+ description: "example: 3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ format: uuid
+ type: string
+ name:
+ type: string
+ updated_at:
+ format: date-time
+ type: string
+ type: object
+ models.User:
+ example:
+ avatar_url: avatar_url
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ is_disabled: true
+ created_at: 2000-01-23T04:56:07.000+00:00
+ primary_email: primary_email
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ display_name: display_name
+ properties:
+ avatar_url:
+ type: string
+ created_at:
+ format: date-time
+ type: string
+ display_name:
+ type: string
+ id:
+ description: "example: 3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ format: uuid
+ type: string
+ is_disabled:
+ type: boolean
+ primary_email:
+ type: string
+ updated_at:
+ format: date-time
+ type: string
+ type: object
+ models.UserEmail:
+ example:
+ is_primary: true
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ user_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ created_at: 2000-01-23T04:56:07.000+00:00
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ is_verified: true
+ user:
+ avatar_url: avatar_url
+ updated_at: 2000-01-23T04:56:07.000+00:00
+ is_disabled: true
+ created_at: 2000-01-23T04:56:07.000+00:00
+ primary_email: primary_email
+ id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
+ display_name: display_name
+ email: email
+ properties:
+ created_at:
+ format: date-time
+ type: string
+ email:
+ type: string
+ id:
+ description: "example: 3fa85f64-5717-4562-b3fc-2c963f66afa6"
+ format: uuid
+ type: string
+ is_primary:
+ type: boolean
+ is_verified:
+ type: boolean
+ updated_at:
+ format: date-time
+ type: string
+ user:
+ $ref: "#/components/schemas/models.User"
+ user_id:
+ format: uuid
+ type: string
+ type: object
+ utils.ErrorResponse:
+ example:
+ code: code
+ message: message
+ properties:
+ code:
+ description: |-
+ A machine-readable error code, e.g. "validation_error"
+ example: validation_error
+ type: string
+ message:
+ description: |-
+ Human-readable message
+ example: slug is required
+ type: string
+ type: object
+ securitySchemes:
+ ApiKeyAuth:
+ description: User API key
+ in: header
+ name: X-API-KEY
+ type: apiKey
+ BearerAuth:
+ description: Bearer token authentication
+ in: header
+ name: Authorization
+ type: apiKey
+ OrgKeyAuth:
+ description: Org-level key/secret authentication
+ in: header
+ name: X-ORG-KEY
+ type: apiKey
+ OrgSecretAuth:
+ description: Org-level secret
+ in: header
+ name: X-ORG-SECRET
+ type: apiKey
+x-original-swagger-version: "2.0"
diff --git a/sdk/go/api_auth.go b/sdk/go/api_auth.go
new file mode 100644
index 0000000..1f706b3
--- /dev/null
+++ b/sdk/go/api_auth.go
@@ -0,0 +1,537 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// AuthAPIService AuthAPI service
+type AuthAPIService service
+
+type ApiAuthCallbackRequest struct {
+ ctx context.Context
+ ApiService *AuthAPIService
+ provider string
+}
+
+func (r ApiAuthCallbackRequest) Execute() (*DtoTokenPair, *http.Response, error) {
+ return r.ApiService.AuthCallbackExecute(r)
+}
+
+/*
+AuthCallback Handle social login callback
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param provider google|github
+ @return ApiAuthCallbackRequest
+*/
+func (a *AuthAPIService) AuthCallback(ctx context.Context, provider string) ApiAuthCallbackRequest {
+ return ApiAuthCallbackRequest{
+ ApiService: a,
+ ctx: ctx,
+ provider: provider,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoTokenPair
+func (a *AuthAPIService) AuthCallbackExecute(r ApiAuthCallbackRequest) (*DtoTokenPair, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoTokenPair
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AuthAPIService.AuthCallback")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/auth/{provider}/callback"
+ localVarPath = strings.Replace(localVarPath, "{"+"provider"+"}", url.PathEscape(parameterValueToString(r.provider, "provider")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiAuthStartRequest struct {
+ ctx context.Context
+ ApiService *AuthAPIService
+ provider string
+}
+
+func (r ApiAuthStartRequest) Execute() (*DtoAuthStartResponse, *http.Response, error) {
+ return r.ApiService.AuthStartExecute(r)
+}
+
+/*
+AuthStart Begin social login
+
+Returns provider authorization URL for the frontend to redirect
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param provider google|github
+ @return ApiAuthStartRequest
+*/
+func (a *AuthAPIService) AuthStart(ctx context.Context, provider string) ApiAuthStartRequest {
+ return ApiAuthStartRequest{
+ ApiService: a,
+ ctx: ctx,
+ provider: provider,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoAuthStartResponse
+func (a *AuthAPIService) AuthStartExecute(r ApiAuthStartRequest) (*DtoAuthStartResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoAuthStartResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AuthAPIService.AuthStart")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/auth/{provider}/start"
+ localVarPath = strings.Replace(localVarPath, "{"+"provider"+"}", url.PathEscape(parameterValueToString(r.provider, "provider")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetJWKSRequest struct {
+ ctx context.Context
+ ApiService *AuthAPIService
+}
+
+func (r ApiGetJWKSRequest) Execute() (*DtoJWKS, *http.Response, error) {
+ return r.ApiService.GetJWKSExecute(r)
+}
+
+/*
+GetJWKS Get JWKS
+
+Returns the JSON Web Key Set for token verification
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiGetJWKSRequest
+*/
+func (a *AuthAPIService) GetJWKS(ctx context.Context) ApiGetJWKSRequest {
+ return ApiGetJWKSRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoJWKS
+func (a *AuthAPIService) GetJWKSExecute(r ApiGetJWKSRequest) (*DtoJWKS, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoJWKS
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AuthAPIService.GetJWKS")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/.well-known/jwks.json"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiLogoutRequest struct {
+ ctx context.Context
+ ApiService *AuthAPIService
+ body *DtoLogoutRequest
+}
+
+// Refresh token
+func (r ApiLogoutRequest) Body(body DtoLogoutRequest) ApiLogoutRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiLogoutRequest) Execute() (*http.Response, error) {
+ return r.ApiService.LogoutExecute(r)
+}
+
+/*
+Logout Revoke refresh token family (logout everywhere)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiLogoutRequest
+*/
+func (a *AuthAPIService) Logout(ctx context.Context) ApiLogoutRequest {
+ return ApiLogoutRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+func (a *AuthAPIService) LogoutExecute(r ApiLogoutRequest) (*http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AuthAPIService.Logout")
+ if err != nil {
+ return nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/auth/logout"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarHTTPResponse, newErr
+ }
+
+ return localVarHTTPResponse, nil
+}
+
+type ApiRefreshRequest struct {
+ ctx context.Context
+ ApiService *AuthAPIService
+ body *DtoRefreshRequest
+}
+
+// Refresh token
+func (r ApiRefreshRequest) Body(body DtoRefreshRequest) ApiRefreshRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiRefreshRequest) Execute() (*DtoTokenPair, *http.Response, error) {
+ return r.ApiService.RefreshExecute(r)
+}
+
+/*
+Refresh Rotate refresh token
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiRefreshRequest
+*/
+func (a *AuthAPIService) Refresh(ctx context.Context) ApiRefreshRequest {
+ return ApiRefreshRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoTokenPair
+func (a *AuthAPIService) RefreshExecute(r ApiRefreshRequest) (*DtoTokenPair, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoTokenPair
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "AuthAPIService.Refresh")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/auth/refresh"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_labels.go b/sdk/go/api_labels.go
new file mode 100644
index 0000000..bd2de5d
--- /dev/null
+++ b/sdk/go/api_labels.go
@@ -0,0 +1,1075 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// LabelsAPIService LabelsAPI service
+type LabelsAPIService service
+
+type ApiCreateLabelRequest struct {
+ ctx context.Context
+ ApiService *LabelsAPIService
+ body *DtoCreateLabelRequest
+ xOrgID *string
+}
+
+// Label payload
+func (r ApiCreateLabelRequest) Body(body DtoCreateLabelRequest) ApiCreateLabelRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiCreateLabelRequest) XOrgID(xOrgID string) ApiCreateLabelRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiCreateLabelRequest) Execute() (*DtoLabelResponse, *http.Response, error) {
+ return r.ApiService.CreateLabelExecute(r)
+}
+
+/*
+CreateLabel Create label (org scoped)
+
+Creates a label.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateLabelRequest
+*/
+func (a *LabelsAPIService) CreateLabel(ctx context.Context) ApiCreateLabelRequest {
+ return ApiCreateLabelRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoLabelResponse
+func (a *LabelsAPIService) CreateLabelExecute(r ApiCreateLabelRequest) (*DtoLabelResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoLabelResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LabelsAPIService.CreateLabel")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/labels"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteLabelRequest struct {
+ ctx context.Context
+ ApiService *LabelsAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiDeleteLabelRequest) XOrgID(xOrgID string) ApiDeleteLabelRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiDeleteLabelRequest) Execute() (string, *http.Response, error) {
+ return r.ApiService.DeleteLabelExecute(r)
+}
+
+/*
+DeleteLabel Delete label (org scoped)
+
+Permanently deletes the label.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Label ID (UUID)
+ @return ApiDeleteLabelRequest
+*/
+func (a *LabelsAPIService) DeleteLabel(ctx context.Context, id string) ApiDeleteLabelRequest {
+ return ApiDeleteLabelRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return string
+func (a *LabelsAPIService) DeleteLabelExecute(r ApiDeleteLabelRequest) (string, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue string
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LabelsAPIService.DeleteLabel")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/labels/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetLabelRequest struct {
+ ctx context.Context
+ ApiService *LabelsAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiGetLabelRequest) XOrgID(xOrgID string) ApiGetLabelRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiGetLabelRequest) Execute() (*DtoLabelResponse, *http.Response, error) {
+ return r.ApiService.GetLabelExecute(r)
+}
+
+/*
+GetLabel Get label by ID (org scoped)
+
+Returns one label.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Label ID (UUID)
+ @return ApiGetLabelRequest
+*/
+func (a *LabelsAPIService) GetLabel(ctx context.Context, id string) ApiGetLabelRequest {
+ return ApiGetLabelRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoLabelResponse
+func (a *LabelsAPIService) GetLabelExecute(r ApiGetLabelRequest) (*DtoLabelResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoLabelResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LabelsAPIService.GetLabel")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/labels/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListLabelsRequest struct {
+ ctx context.Context
+ ApiService *LabelsAPIService
+ xOrgID *string
+ key *string
+ value *string
+ q *string
+}
+
+// Organization UUID
+func (r ApiListLabelsRequest) XOrgID(xOrgID string) ApiListLabelsRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+// Exact key
+func (r ApiListLabelsRequest) Key(key string) ApiListLabelsRequest {
+ r.key = &key
+ return r
+}
+
+// Exact value
+func (r ApiListLabelsRequest) Value(value string) ApiListLabelsRequest {
+ r.value = &value
+ return r
+}
+
+// Key contains (case-insensitive)
+func (r ApiListLabelsRequest) Q(q string) ApiListLabelsRequest {
+ r.q = &q
+ return r
+}
+
+func (r ApiListLabelsRequest) Execute() ([]DtoLabelResponse, *http.Response, error) {
+ return r.ApiService.ListLabelsExecute(r)
+}
+
+/*
+ListLabels List node labels (org scoped)
+
+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.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListLabelsRequest
+*/
+func (a *LabelsAPIService) ListLabels(ctx context.Context) ApiListLabelsRequest {
+ return ApiListLabelsRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []DtoLabelResponse
+func (a *LabelsAPIService) ListLabelsExecute(r ApiListLabelsRequest) ([]DtoLabelResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []DtoLabelResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LabelsAPIService.ListLabels")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/labels"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ if r.key != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "key", r.key, "", "")
+ }
+ if r.value != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "value", r.value, "", "")
+ }
+ if r.q != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "q", r.q, "", "")
+ }
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdateLabelRequest struct {
+ ctx context.Context
+ ApiService *LabelsAPIService
+ id string
+ body *DtoUpdateLabelRequest
+ xOrgID *string
+}
+
+// Fields to update
+func (r ApiUpdateLabelRequest) Body(body DtoUpdateLabelRequest) ApiUpdateLabelRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiUpdateLabelRequest) XOrgID(xOrgID string) ApiUpdateLabelRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiUpdateLabelRequest) Execute() (*DtoLabelResponse, *http.Response, error) {
+ return r.ApiService.UpdateLabelExecute(r)
+}
+
+/*
+UpdateLabel Update label (org scoped)
+
+Partially update label fields.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Label ID (UUID)
+ @return ApiUpdateLabelRequest
+*/
+func (a *LabelsAPIService) UpdateLabel(ctx context.Context, id string) ApiUpdateLabelRequest {
+ return ApiUpdateLabelRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoLabelResponse
+func (a *LabelsAPIService) UpdateLabelExecute(r ApiUpdateLabelRequest) (*DtoLabelResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPatch
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoLabelResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "LabelsAPIService.UpdateLabel")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/labels/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_me.go b/sdk/go/api_me.go
new file mode 100644
index 0000000..71d8769
--- /dev/null
+++ b/sdk/go/api_me.go
@@ -0,0 +1,286 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+)
+
+// MeAPIService MeAPI service
+type MeAPIService service
+
+type ApiGetMeRequest struct {
+ ctx context.Context
+ ApiService *MeAPIService
+}
+
+func (r ApiGetMeRequest) Execute() (*HandlersMeResponse, *http.Response, error) {
+ return r.ApiService.GetMeExecute(r)
+}
+
+/*
+GetMe Get current user profile
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiGetMeRequest
+*/
+func (a *MeAPIService) GetMe(ctx context.Context) ApiGetMeRequest {
+ return ApiGetMeRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return HandlersMeResponse
+func (a *MeAPIService) GetMeExecute(r ApiGetMeRequest) (*HandlersMeResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *HandlersMeResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MeAPIService.GetMe")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/me"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["ApiKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-API-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdateMeRequest struct {
+ ctx context.Context
+ ApiService *MeAPIService
+ body *HandlersUpdateMeRequest
+}
+
+// Patch profile
+func (r ApiUpdateMeRequest) Body(body HandlersUpdateMeRequest) ApiUpdateMeRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiUpdateMeRequest) Execute() (*ModelsUser, *http.Response, error) {
+ return r.ApiService.UpdateMeExecute(r)
+}
+
+/*
+UpdateMe Update current user profile
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiUpdateMeRequest
+*/
+func (a *MeAPIService) UpdateMe(ctx context.Context) ApiUpdateMeRequest {
+ return ApiUpdateMeRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return ModelsUser
+func (a *MeAPIService) UpdateMeExecute(r ApiUpdateMeRequest) (*ModelsUser, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPatch
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *ModelsUser
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MeAPIService.UpdateMe")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/me"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["ApiKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-API-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_me_api_keys.go b/sdk/go/api_me_api_keys.go
new file mode 100644
index 0000000..5b84de3
--- /dev/null
+++ b/sdk/go/api_me_api_keys.go
@@ -0,0 +1,393 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// MeAPIKeysAPIService MeAPIKeysAPI service
+type MeAPIKeysAPIService service
+
+type ApiCreateUserAPIKeyRequest struct {
+ ctx context.Context
+ ApiService *MeAPIKeysAPIService
+ body *HandlersCreateUserKeyRequest
+}
+
+// Key options
+func (r ApiCreateUserAPIKeyRequest) Body(body HandlersCreateUserKeyRequest) ApiCreateUserAPIKeyRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiCreateUserAPIKeyRequest) Execute() (*HandlersUserAPIKeyOut, *http.Response, error) {
+ return r.ApiService.CreateUserAPIKeyExecute(r)
+}
+
+/*
+CreateUserAPIKey Create a new user API key
+
+Returns the plaintext key once. Store it securely on the client side.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateUserAPIKeyRequest
+*/
+func (a *MeAPIKeysAPIService) CreateUserAPIKey(ctx context.Context) ApiCreateUserAPIKeyRequest {
+ return ApiCreateUserAPIKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return HandlersUserAPIKeyOut
+func (a *MeAPIKeysAPIService) CreateUserAPIKeyExecute(r ApiCreateUserAPIKeyRequest) (*HandlersUserAPIKeyOut, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *HandlersUserAPIKeyOut
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MeAPIKeysAPIService.CreateUserAPIKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/me/api-keys"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["ApiKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-API-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteUserAPIKeyRequest struct {
+ ctx context.Context
+ ApiService *MeAPIKeysAPIService
+ id string
+}
+
+func (r ApiDeleteUserAPIKeyRequest) Execute() (*http.Response, error) {
+ return r.ApiService.DeleteUserAPIKeyExecute(r)
+}
+
+/*
+DeleteUserAPIKey Delete a user API key
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Key ID (UUID)
+ @return ApiDeleteUserAPIKeyRequest
+*/
+func (a *MeAPIKeysAPIService) DeleteUserAPIKey(ctx context.Context, id string) ApiDeleteUserAPIKeyRequest {
+ return ApiDeleteUserAPIKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+func (a *MeAPIKeysAPIService) DeleteUserAPIKeyExecute(r ApiDeleteUserAPIKeyRequest) (*http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MeAPIKeysAPIService.DeleteUserAPIKey")
+ if err != nil {
+ return nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/me/api-keys/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarHTTPResponse, newErr
+ }
+
+ return localVarHTTPResponse, nil
+}
+
+type ApiListUserAPIKeysRequest struct {
+ ctx context.Context
+ ApiService *MeAPIKeysAPIService
+}
+
+func (r ApiListUserAPIKeysRequest) Execute() ([]HandlersUserAPIKeyOut, *http.Response, error) {
+ return r.ApiService.ListUserAPIKeysExecute(r)
+}
+
+/*
+ListUserAPIKeys List my API keys
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListUserAPIKeysRequest
+*/
+func (a *MeAPIKeysAPIService) ListUserAPIKeys(ctx context.Context) ApiListUserAPIKeysRequest {
+ return ApiListUserAPIKeysRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []HandlersUserAPIKeyOut
+func (a *MeAPIKeysAPIService) ListUserAPIKeysExecute(r ApiListUserAPIKeysRequest) ([]HandlersUserAPIKeyOut, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []HandlersUserAPIKeyOut
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MeAPIKeysAPIService.ListUserAPIKeys")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/me/api-keys"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["ApiKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-API-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_orgs.go b/sdk/go/api_orgs.go
new file mode 100644
index 0000000..6e97fcb
--- /dev/null
+++ b/sdk/go/api_orgs.go
@@ -0,0 +1,1476 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// OrgsAPIService OrgsAPI service
+type OrgsAPIService service
+
+type ApiAddOrUpdateMemberRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+ body *HandlersMemberUpsertReq
+}
+
+// User & role
+func (r ApiAddOrUpdateMemberRequest) Body(body HandlersMemberUpsertReq) ApiAddOrUpdateMemberRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiAddOrUpdateMemberRequest) Execute() (*HandlersMemberOut, *http.Response, error) {
+ return r.ApiService.AddOrUpdateMemberExecute(r)
+}
+
+/*
+AddOrUpdateMember Add or update a member (owner/admin)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiAddOrUpdateMemberRequest
+*/
+func (a *OrgsAPIService) AddOrUpdateMember(ctx context.Context, id string) ApiAddOrUpdateMemberRequest {
+ return ApiAddOrUpdateMemberRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return HandlersMemberOut
+func (a *OrgsAPIService) AddOrUpdateMemberExecute(r ApiAddOrUpdateMemberRequest) (*HandlersMemberOut, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *HandlersMemberOut
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.AddOrUpdateMember")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/members"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreateOrgRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ body *HandlersOrgCreateReq
+}
+
+// Org payload
+func (r ApiCreateOrgRequest) Body(body HandlersOrgCreateReq) ApiCreateOrgRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiCreateOrgRequest) Execute() (*ModelsOrganization, *http.Response, error) {
+ return r.ApiService.CreateOrgExecute(r)
+}
+
+/*
+CreateOrg Create organization
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateOrgRequest
+*/
+func (a *OrgsAPIService) CreateOrg(ctx context.Context) ApiCreateOrgRequest {
+ return ApiCreateOrgRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return ModelsOrganization
+func (a *OrgsAPIService) CreateOrgExecute(r ApiCreateOrgRequest) (*ModelsOrganization, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *ModelsOrganization
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.CreateOrg")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 409 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiCreateOrgKeyRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+ body *HandlersOrgKeyCreateReq
+}
+
+// Key name + optional expiry
+func (r ApiCreateOrgKeyRequest) Body(body HandlersOrgKeyCreateReq) ApiCreateOrgKeyRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiCreateOrgKeyRequest) Execute() (*HandlersOrgKeyCreateResp, *http.Response, error) {
+ return r.ApiService.CreateOrgKeyExecute(r)
+}
+
+/*
+CreateOrgKey Create org key/secret pair (owner/admin)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiCreateOrgKeyRequest
+*/
+func (a *OrgsAPIService) CreateOrgKey(ctx context.Context, id string) ApiCreateOrgKeyRequest {
+ return ApiCreateOrgKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return HandlersOrgKeyCreateResp
+func (a *OrgsAPIService) CreateOrgKeyExecute(r ApiCreateOrgKeyRequest) (*HandlersOrgKeyCreateResp, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *HandlersOrgKeyCreateResp
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.CreateOrgKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/api-keys"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteOrgRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+}
+
+func (r ApiDeleteOrgRequest) Execute() (*http.Response, error) {
+ return r.ApiService.DeleteOrgExecute(r)
+}
+
+/*
+DeleteOrg Delete organization (owner)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiDeleteOrgRequest
+*/
+func (a *OrgsAPIService) DeleteOrg(ctx context.Context, id string) ApiDeleteOrgRequest {
+ return ApiDeleteOrgRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+func (a *OrgsAPIService) DeleteOrgExecute(r ApiDeleteOrgRequest) (*http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.DeleteOrg")
+ if err != nil {
+ return nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarHTTPResponse, newErr
+ }
+
+ return localVarHTTPResponse, nil
+}
+
+type ApiDeleteOrgKeyRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+ keyId string
+}
+
+func (r ApiDeleteOrgKeyRequest) Execute() (*http.Response, error) {
+ return r.ApiService.DeleteOrgKeyExecute(r)
+}
+
+/*
+DeleteOrgKey Delete org key (owner/admin)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @param keyId Key ID (UUID)
+ @return ApiDeleteOrgKeyRequest
+*/
+func (a *OrgsAPIService) DeleteOrgKey(ctx context.Context, id string, keyId string) ApiDeleteOrgKeyRequest {
+ return ApiDeleteOrgKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ keyId: keyId,
+ }
+}
+
+// Execute executes the request
+func (a *OrgsAPIService) DeleteOrgKeyExecute(r ApiDeleteOrgKeyRequest) (*http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.DeleteOrgKey")
+ if err != nil {
+ return nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/api-keys/{key_id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+ localVarPath = strings.Replace(localVarPath, "{"+"key_id"+"}", url.PathEscape(parameterValueToString(r.keyId, "keyId")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarHTTPResponse, newErr
+ }
+
+ return localVarHTTPResponse, nil
+}
+
+type ApiGetOrgRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+}
+
+func (r ApiGetOrgRequest) Execute() (*ModelsOrganization, *http.Response, error) {
+ return r.ApiService.GetOrgExecute(r)
+}
+
+/*
+GetOrg Get organization
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiGetOrgRequest
+*/
+func (a *OrgsAPIService) GetOrg(ctx context.Context, id string) ApiGetOrgRequest {
+ return ApiGetOrgRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return ModelsOrganization
+func (a *OrgsAPIService) GetOrgExecute(r ApiGetOrgRequest) (*ModelsOrganization, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *ModelsOrganization
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.GetOrg")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListMembersRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+}
+
+func (r ApiListMembersRequest) Execute() ([]HandlersMemberOut, *http.Response, error) {
+ return r.ApiService.ListMembersExecute(r)
+}
+
+/*
+ListMembers List members in org
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiListMembersRequest
+*/
+func (a *OrgsAPIService) ListMembers(ctx context.Context, id string) ApiListMembersRequest {
+ return ApiListMembersRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return []HandlersMemberOut
+func (a *OrgsAPIService) ListMembersExecute(r ApiListMembersRequest) ([]HandlersMemberOut, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []HandlersMemberOut
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.ListMembers")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/members"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListMyOrgsRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+}
+
+func (r ApiListMyOrgsRequest) Execute() ([]ModelsOrganization, *http.Response, error) {
+ return r.ApiService.ListMyOrgsExecute(r)
+}
+
+/*
+ListMyOrgs List organizations I belong to
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListMyOrgsRequest
+*/
+func (a *OrgsAPIService) ListMyOrgs(ctx context.Context) ApiListMyOrgsRequest {
+ return ApiListMyOrgsRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []ModelsOrganization
+func (a *OrgsAPIService) ListMyOrgsExecute(r ApiListMyOrgsRequest) ([]ModelsOrganization, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []ModelsOrganization
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.ListMyOrgs")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListOrgKeysRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+}
+
+func (r ApiListOrgKeysRequest) Execute() ([]ModelsAPIKey, *http.Response, error) {
+ return r.ApiService.ListOrgKeysExecute(r)
+}
+
+/*
+ListOrgKeys List org-scoped API keys (no secrets)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiListOrgKeysRequest
+*/
+func (a *OrgsAPIService) ListOrgKeys(ctx context.Context, id string) ApiListOrgKeysRequest {
+ return ApiListOrgKeysRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return []ModelsAPIKey
+func (a *OrgsAPIService) ListOrgKeysExecute(r ApiListOrgKeysRequest) ([]ModelsAPIKey, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []ModelsAPIKey
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.ListOrgKeys")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/api-keys"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiRemoveMemberRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+ userId string
+}
+
+func (r ApiRemoveMemberRequest) Execute() (*http.Response, error) {
+ return r.ApiService.RemoveMemberExecute(r)
+}
+
+/*
+RemoveMember Remove a member (owner/admin)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @param userId User ID (UUID)
+ @return ApiRemoveMemberRequest
+*/
+func (a *OrgsAPIService) RemoveMember(ctx context.Context, id string, userId string) ApiRemoveMemberRequest {
+ return ApiRemoveMemberRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ userId: userId,
+ }
+}
+
+// Execute executes the request
+func (a *OrgsAPIService) RemoveMemberExecute(r ApiRemoveMemberRequest) (*http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.RemoveMember")
+ if err != nil {
+ return nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}/members/{user_id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+ localVarPath = strings.Replace(localVarPath, "{"+"user_id"+"}", url.PathEscape(parameterValueToString(r.userId, "userId")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarHTTPResponse, newErr
+ }
+
+ return localVarHTTPResponse, nil
+}
+
+type ApiUpdateOrgRequest struct {
+ ctx context.Context
+ ApiService *OrgsAPIService
+ id string
+ body *HandlersOrgUpdateReq
+}
+
+// Update payload
+func (r ApiUpdateOrgRequest) Body(body HandlersOrgUpdateReq) ApiUpdateOrgRequest {
+ r.body = &body
+ return r
+}
+
+func (r ApiUpdateOrgRequest) Execute() (*ModelsOrganization, *http.Response, error) {
+ return r.ApiService.UpdateOrgExecute(r)
+}
+
+/*
+UpdateOrg Update organization (owner/admin)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Org ID (UUID)
+ @return ApiUpdateOrgRequest
+*/
+func (a *OrgsAPIService) UpdateOrg(ctx context.Context, id string) ApiUpdateOrgRequest {
+ return ApiUpdateOrgRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return ModelsOrganization
+func (a *OrgsAPIService) UpdateOrgExecute(r ApiUpdateOrgRequest) (*ModelsOrganization, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPatch
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *ModelsOrganization
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "OrgsAPIService.UpdateOrg")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/orgs/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v UtilsErrorResponse
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_servers.go b/sdk/go/api_servers.go
new file mode 100644
index 0000000..7bdb5c9
--- /dev/null
+++ b/sdk/go/api_servers.go
@@ -0,0 +1,1065 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// ServersAPIService ServersAPI service
+type ServersAPIService service
+
+type ApiCreateServerRequest struct {
+ ctx context.Context
+ ApiService *ServersAPIService
+ body *DtoCreateServerRequest
+ xOrgID *string
+}
+
+// Server payload
+func (r ApiCreateServerRequest) Body(body DtoCreateServerRequest) ApiCreateServerRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiCreateServerRequest) XOrgID(xOrgID string) ApiCreateServerRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiCreateServerRequest) Execute() (*DtoServerResponse, *http.Response, error) {
+ return r.ApiService.CreateServerExecute(r)
+}
+
+/*
+CreateServer Create server (org scoped)
+
+Creates a server bound to the org in X-Org-ID. Validates that ssh_key_id belongs to the org.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateServerRequest
+*/
+func (a *ServersAPIService) CreateServer(ctx context.Context) ApiCreateServerRequest {
+ return ApiCreateServerRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoServerResponse
+func (a *ServersAPIService) CreateServerExecute(r ApiCreateServerRequest) (*DtoServerResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoServerResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ServersAPIService.CreateServer")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/servers"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteServerRequest struct {
+ ctx context.Context
+ ApiService *ServersAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiDeleteServerRequest) XOrgID(xOrgID string) ApiDeleteServerRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiDeleteServerRequest) Execute() (string, *http.Response, error) {
+ return r.ApiService.DeleteServerExecute(r)
+}
+
+/*
+DeleteServer Delete server (org scoped)
+
+Permanently deletes the server.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Server ID (UUID)
+ @return ApiDeleteServerRequest
+*/
+func (a *ServersAPIService) DeleteServer(ctx context.Context, id string) ApiDeleteServerRequest {
+ return ApiDeleteServerRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return string
+func (a *ServersAPIService) DeleteServerExecute(r ApiDeleteServerRequest) (string, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue string
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ServersAPIService.DeleteServer")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/servers/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetServerRequest struct {
+ ctx context.Context
+ ApiService *ServersAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiGetServerRequest) XOrgID(xOrgID string) ApiGetServerRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiGetServerRequest) Execute() (*DtoServerResponse, *http.Response, error) {
+ return r.ApiService.GetServerExecute(r)
+}
+
+/*
+GetServer Get server by ID (org scoped)
+
+Returns one server in the given organization.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Server ID (UUID)
+ @return ApiGetServerRequest
+*/
+func (a *ServersAPIService) GetServer(ctx context.Context, id string) ApiGetServerRequest {
+ return ApiGetServerRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoServerResponse
+func (a *ServersAPIService) GetServerExecute(r ApiGetServerRequest) (*DtoServerResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoServerResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ServersAPIService.GetServer")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/servers/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListServersRequest struct {
+ ctx context.Context
+ ApiService *ServersAPIService
+ xOrgID *string
+ status *string
+ role *string
+}
+
+// Organization UUID
+func (r ApiListServersRequest) XOrgID(xOrgID string) ApiListServersRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+// Filter by status (pending|provisioning|ready|failed)
+func (r ApiListServersRequest) Status(status string) ApiListServersRequest {
+ r.status = &status
+ return r
+}
+
+// Filter by role
+func (r ApiListServersRequest) Role(role string) ApiListServersRequest {
+ r.role = &role
+ return r
+}
+
+func (r ApiListServersRequest) Execute() ([]DtoServerResponse, *http.Response, error) {
+ return r.ApiService.ListServersExecute(r)
+}
+
+/*
+ListServers List servers (org scoped)
+
+Returns servers for the organization in X-Org-ID. Optional filters: status, role.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListServersRequest
+*/
+func (a *ServersAPIService) ListServers(ctx context.Context) ApiListServersRequest {
+ return ApiListServersRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []DtoServerResponse
+func (a *ServersAPIService) ListServersExecute(r ApiListServersRequest) ([]DtoServerResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []DtoServerResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ServersAPIService.ListServers")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/servers"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ if r.status != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "status", r.status, "", "")
+ }
+ if r.role != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "role", r.role, "", "")
+ }
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdateServerRequest struct {
+ ctx context.Context
+ ApiService *ServersAPIService
+ id string
+ body *DtoUpdateServerRequest
+ xOrgID *string
+}
+
+// Fields to update
+func (r ApiUpdateServerRequest) Body(body DtoUpdateServerRequest) ApiUpdateServerRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiUpdateServerRequest) XOrgID(xOrgID string) ApiUpdateServerRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiUpdateServerRequest) Execute() (*DtoServerResponse, *http.Response, error) {
+ return r.ApiService.UpdateServerExecute(r)
+}
+
+/*
+UpdateServer Update server (org scoped)
+
+Partially update fields; changing ssh_key_id validates ownership.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Server ID (UUID)
+ @return ApiUpdateServerRequest
+*/
+func (a *ServersAPIService) UpdateServer(ctx context.Context, id string) ApiUpdateServerRequest {
+ return ApiUpdateServerRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoServerResponse
+func (a *ServersAPIService) UpdateServerExecute(r ApiUpdateServerRequest) (*DtoServerResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPatch
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoServerResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ServersAPIService.UpdateServer")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/servers/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_ssh.go b/sdk/go/api_ssh.go
new file mode 100644
index 0000000..1d37090
--- /dev/null
+++ b/sdk/go/api_ssh.go
@@ -0,0 +1,1055 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// SshAPIService SshAPI service
+type SshAPIService service
+
+type ApiCreateSSHKeyRequest struct {
+ ctx context.Context
+ ApiService *SshAPIService
+ body *DtoCreateSSHRequest
+ xOrgID *string
+}
+
+// Key generation options
+func (r ApiCreateSSHKeyRequest) Body(body DtoCreateSSHRequest) ApiCreateSSHKeyRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiCreateSSHKeyRequest) XOrgID(xOrgID string) ApiCreateSSHKeyRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiCreateSSHKeyRequest) Execute() (*DtoSshResponse, *http.Response, error) {
+ return r.ApiService.CreateSSHKeyExecute(r)
+}
+
+/*
+CreateSSHKey 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.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateSSHKeyRequest
+*/
+func (a *SshAPIService) CreateSSHKey(ctx context.Context) ApiCreateSSHKeyRequest {
+ return ApiCreateSSHKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoSshResponse
+func (a *SshAPIService) CreateSSHKeyExecute(r ApiCreateSSHKeyRequest) (*DtoSshResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoSshResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SshAPIService.CreateSSHKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/ssh"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteSSHKeyRequest struct {
+ ctx context.Context
+ ApiService *SshAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiDeleteSSHKeyRequest) XOrgID(xOrgID string) ApiDeleteSSHKeyRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiDeleteSSHKeyRequest) Execute() (string, *http.Response, error) {
+ return r.ApiService.DeleteSSHKeyExecute(r)
+}
+
+/*
+DeleteSSHKey Delete ssh keypair (org scoped)
+
+Permanently deletes a keypair.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id SSH Key ID (UUID)
+ @return ApiDeleteSSHKeyRequest
+*/
+func (a *SshAPIService) DeleteSSHKey(ctx context.Context, id string) ApiDeleteSSHKeyRequest {
+ return ApiDeleteSSHKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return string
+func (a *SshAPIService) DeleteSSHKeyExecute(r ApiDeleteSSHKeyRequest) (string, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue string
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SshAPIService.DeleteSSHKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/ssh/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDownloadSSHKeyRequest struct {
+ ctx context.Context
+ ApiService *SshAPIService
+ xOrgID *string
+ id string
+ part *string
+}
+
+// Organization UUID
+func (r ApiDownloadSSHKeyRequest) XOrgID(xOrgID string) ApiDownloadSSHKeyRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+// Which part to download
+func (r ApiDownloadSSHKeyRequest) Part(part string) ApiDownloadSSHKeyRequest {
+ r.part = &part
+ return r
+}
+
+func (r ApiDownloadSSHKeyRequest) Execute() (string, *http.Response, error) {
+ return r.ApiService.DownloadSSHKeyExecute(r)
+}
+
+/*
+DownloadSSHKey Download ssh key files by ID (org scoped)
+
+Download `part=public|private|both` of the keypair. `both` returns a zip file.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id SSH Key ID (UUID)
+ @return ApiDownloadSSHKeyRequest
+*/
+func (a *SshAPIService) DownloadSSHKey(ctx context.Context, id string) ApiDownloadSSHKeyRequest {
+ return ApiDownloadSSHKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return string
+func (a *SshAPIService) DownloadSSHKeyExecute(r ApiDownloadSSHKeyRequest) (string, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue string
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SshAPIService.DownloadSSHKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/ssh/{id}/download"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.xOrgID == nil {
+ return localVarReturnValue, nil, reportError("xOrgID is required and must be specified")
+ }
+ if r.part == nil {
+ return localVarReturnValue, nil, reportError("part is required and must be specified")
+ }
+
+ parameterAddToHeaderOrQuery(localVarQueryParams, "part", r.part, "", "")
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetSSHKeyRequest struct {
+ ctx context.Context
+ ApiService *SshAPIService
+ id string
+ xOrgID *string
+ reveal *bool
+}
+
+// Organization UUID
+func (r ApiGetSSHKeyRequest) XOrgID(xOrgID string) ApiGetSSHKeyRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+// Reveal private key PEM
+func (r ApiGetSSHKeyRequest) Reveal(reveal bool) ApiGetSSHKeyRequest {
+ r.reveal = &reveal
+ return r
+}
+
+func (r ApiGetSSHKeyRequest) Execute() (*DtoSshRevealResponse, *http.Response, error) {
+ return r.ApiService.GetSSHKeyExecute(r)
+}
+
+/*
+GetSSHKey Get ssh key by ID (org scoped)
+
+Returns public key fields. Append `?reveal=true` to include the private key PEM.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id SSH Key ID (UUID)
+ @return ApiGetSSHKeyRequest
+*/
+func (a *SshAPIService) GetSSHKey(ctx context.Context, id string) ApiGetSSHKeyRequest {
+ return ApiGetSSHKeyRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoSshRevealResponse
+func (a *SshAPIService) GetSSHKeyExecute(r ApiGetSSHKeyRequest) (*DtoSshRevealResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoSshRevealResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SshAPIService.GetSSHKey")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/ssh/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ if r.reveal != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "reveal", r.reveal, "", "")
+ }
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListPublicSshKeysRequest struct {
+ ctx context.Context
+ ApiService *SshAPIService
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiListPublicSshKeysRequest) XOrgID(xOrgID string) ApiListPublicSshKeysRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiListPublicSshKeysRequest) Execute() ([]DtoSshResponse, *http.Response, error) {
+ return r.ApiService.ListPublicSshKeysExecute(r)
+}
+
+/*
+ListPublicSshKeys List ssh keys (org scoped)
+
+Returns ssh keys for the organization in X-Org-ID.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListPublicSshKeysRequest
+*/
+func (a *SshAPIService) ListPublicSshKeys(ctx context.Context) ApiListPublicSshKeysRequest {
+ return ApiListPublicSshKeysRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []DtoSshResponse
+func (a *SshAPIService) ListPublicSshKeysExecute(r ApiListPublicSshKeysRequest) ([]DtoSshResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []DtoSshResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "SshAPIService.ListPublicSshKeys")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/ssh"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/api_taints.go b/sdk/go/api_taints.go
new file mode 100644
index 0000000..2190b8d
--- /dev/null
+++ b/sdk/go/api_taints.go
@@ -0,0 +1,1073 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "io"
+ "net/http"
+ "net/url"
+ "strings"
+)
+
+// TaintsAPIService TaintsAPI service
+type TaintsAPIService service
+
+type ApiCreateTaintRequest struct {
+ ctx context.Context
+ ApiService *TaintsAPIService
+ body *DtoCreateTaintRequest
+ xOrgID *string
+}
+
+// Taint payload
+func (r ApiCreateTaintRequest) Body(body DtoCreateTaintRequest) ApiCreateTaintRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiCreateTaintRequest) XOrgID(xOrgID string) ApiCreateTaintRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiCreateTaintRequest) Execute() (*DtoTaintResponse, *http.Response, error) {
+ return r.ApiService.CreateTaintExecute(r)
+}
+
+/*
+CreateTaint Create node taint (org scoped)
+
+Creates a taint.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiCreateTaintRequest
+*/
+func (a *TaintsAPIService) CreateTaint(ctx context.Context) ApiCreateTaintRequest {
+ return ApiCreateTaintRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoTaintResponse
+func (a *TaintsAPIService) CreateTaintExecute(r ApiCreateTaintRequest) (*DtoTaintResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPost
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoTaintResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaintsAPIService.CreateTaint")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/taints"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiDeleteTaintRequest struct {
+ ctx context.Context
+ ApiService *TaintsAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiDeleteTaintRequest) XOrgID(xOrgID string) ApiDeleteTaintRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiDeleteTaintRequest) Execute() (string, *http.Response, error) {
+ return r.ApiService.DeleteTaintExecute(r)
+}
+
+/*
+DeleteTaint Delete taint (org scoped)
+
+Permanently deletes the taint.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Node Taint ID (UUID)
+ @return ApiDeleteTaintRequest
+*/
+func (a *TaintsAPIService) DeleteTaint(ctx context.Context, id string) ApiDeleteTaintRequest {
+ return ApiDeleteTaintRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return string
+func (a *TaintsAPIService) DeleteTaintExecute(r ApiDeleteTaintRequest) (string, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodDelete
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue string
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaintsAPIService.DeleteTaint")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/taints/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiGetTaintRequest struct {
+ ctx context.Context
+ ApiService *TaintsAPIService
+ id string
+ xOrgID *string
+}
+
+// Organization UUID
+func (r ApiGetTaintRequest) XOrgID(xOrgID string) ApiGetTaintRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiGetTaintRequest) Execute() (*DtoTaintResponse, *http.Response, error) {
+ return r.ApiService.GetTaintExecute(r)
+}
+
+/*
+GetTaint Get node taint by ID (org scoped)
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Node Taint ID (UUID)
+ @return ApiGetTaintRequest
+*/
+func (a *TaintsAPIService) GetTaint(ctx context.Context, id string) ApiGetTaintRequest {
+ return ApiGetTaintRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoTaintResponse
+func (a *TaintsAPIService) GetTaintExecute(r ApiGetTaintRequest) (*DtoTaintResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoTaintResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaintsAPIService.GetTaint")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/taints/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiListTaintsRequest struct {
+ ctx context.Context
+ ApiService *TaintsAPIService
+ xOrgID *string
+ key *string
+ value *string
+ q *string
+}
+
+// Organization UUID
+func (r ApiListTaintsRequest) XOrgID(xOrgID string) ApiListTaintsRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+// Exact key
+func (r ApiListTaintsRequest) Key(key string) ApiListTaintsRequest {
+ r.key = &key
+ return r
+}
+
+// Exact value
+func (r ApiListTaintsRequest) Value(value string) ApiListTaintsRequest {
+ r.value = &value
+ return r
+}
+
+// key contains (case-insensitive)
+func (r ApiListTaintsRequest) Q(q string) ApiListTaintsRequest {
+ r.q = &q
+ return r
+}
+
+func (r ApiListTaintsRequest) Execute() ([]DtoTaintResponse, *http.Response, error) {
+ return r.ApiService.ListTaintsExecute(r)
+}
+
+/*
+ListTaints List node pool taints (org scoped)
+
+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.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @return ApiListTaintsRequest
+*/
+func (a *TaintsAPIService) ListTaints(ctx context.Context) ApiListTaintsRequest {
+ return ApiListTaintsRequest{
+ ApiService: a,
+ ctx: ctx,
+ }
+}
+
+// Execute executes the request
+//
+// @return []DtoTaintResponse
+func (a *TaintsAPIService) ListTaintsExecute(r ApiListTaintsRequest) ([]DtoTaintResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodGet
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue []DtoTaintResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaintsAPIService.ListTaints")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/taints"
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+
+ if r.key != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "key", r.key, "", "")
+ }
+ if r.value != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "value", r.value, "", "")
+ }
+ if r.q != nil {
+ parameterAddToHeaderOrQuery(localVarQueryParams, "q", r.q, "", "")
+ }
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
+
+type ApiUpdateTaintRequest struct {
+ ctx context.Context
+ ApiService *TaintsAPIService
+ id string
+ body *DtoUpdateTaintRequest
+ xOrgID *string
+}
+
+// Fields to update
+func (r ApiUpdateTaintRequest) Body(body DtoUpdateTaintRequest) ApiUpdateTaintRequest {
+ r.body = &body
+ return r
+}
+
+// Organization UUID
+func (r ApiUpdateTaintRequest) XOrgID(xOrgID string) ApiUpdateTaintRequest {
+ r.xOrgID = &xOrgID
+ return r
+}
+
+func (r ApiUpdateTaintRequest) Execute() (*DtoTaintResponse, *http.Response, error) {
+ return r.ApiService.UpdateTaintExecute(r)
+}
+
+/*
+UpdateTaint Update node taint (org scoped)
+
+Partially update taint fields.
+
+ @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
+ @param id Node Taint ID (UUID)
+ @return ApiUpdateTaintRequest
+*/
+func (a *TaintsAPIService) UpdateTaint(ctx context.Context, id string) ApiUpdateTaintRequest {
+ return ApiUpdateTaintRequest{
+ ApiService: a,
+ ctx: ctx,
+ id: id,
+ }
+}
+
+// Execute executes the request
+//
+// @return DtoTaintResponse
+func (a *TaintsAPIService) UpdateTaintExecute(r ApiUpdateTaintRequest) (*DtoTaintResponse, *http.Response, error) {
+ var (
+ localVarHTTPMethod = http.MethodPatch
+ localVarPostBody interface{}
+ formFiles []formFile
+ localVarReturnValue *DtoTaintResponse
+ )
+
+ localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "TaintsAPIService.UpdateTaint")
+ if err != nil {
+ return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
+ }
+
+ localVarPath := localBasePath + "/taints/{id}"
+ localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
+
+ localVarHeaderParams := make(map[string]string)
+ localVarQueryParams := url.Values{}
+ localVarFormParams := url.Values{}
+ if r.body == nil {
+ return localVarReturnValue, nil, reportError("body is required and must be specified")
+ }
+
+ // to determine the Content-Type header
+ localVarHTTPContentTypes := []string{"application/json"}
+
+ // set Content-Type header
+ localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
+ if localVarHTTPContentType != "" {
+ localVarHeaderParams["Content-Type"] = localVarHTTPContentType
+ }
+
+ // to determine the Accept header
+ localVarHTTPHeaderAccepts := []string{"application/json"}
+
+ // set Accept header
+ localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
+ if localVarHTTPHeaderAccept != "" {
+ localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
+ }
+ if r.xOrgID != nil {
+ parameterAddToHeaderOrQuery(localVarHeaderParams, "X-Org-ID", r.xOrgID, "", "")
+ }
+ // body params
+ localVarPostBody = r.body
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgKeyAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-KEY"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["OrgSecretAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["X-ORG-SECRET"] = key
+ }
+ }
+ }
+ if r.ctx != nil {
+ // API Key Authentication
+ if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
+ if apiKey, ok := auth["BearerAuth"]; ok {
+ var key string
+ if apiKey.Prefix != "" {
+ key = apiKey.Prefix + " " + apiKey.Key
+ } else {
+ key = apiKey.Key
+ }
+ localVarHeaderParams["Authorization"] = key
+ }
+ }
+ }
+ req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
+ if err != nil {
+ return localVarReturnValue, nil, err
+ }
+
+ localVarHTTPResponse, err := a.client.callAPI(req)
+ if err != nil || localVarHTTPResponse == nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
+ localVarHTTPResponse.Body.Close()
+ localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
+ if err != nil {
+ return localVarReturnValue, localVarHTTPResponse, err
+ }
+
+ if localVarHTTPResponse.StatusCode >= 300 {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: localVarHTTPResponse.Status,
+ }
+ if localVarHTTPResponse.StatusCode == 400 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 401 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 403 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 404 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ if localVarHTTPResponse.StatusCode == 500 {
+ var v string
+ err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr.error = err.Error()
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+ newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
+ newErr.model = v
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
+ if err != nil {
+ newErr := &GenericOpenAPIError{
+ body: localVarBody,
+ error: err.Error(),
+ }
+ return localVarReturnValue, localVarHTTPResponse, newErr
+ }
+
+ return localVarReturnValue, localVarHTTPResponse, nil
+}
diff --git a/sdk/go/client.go b/sdk/go/client.go
new file mode 100644
index 0000000..f21fafb
--- /dev/null
+++ b/sdk/go/client.go
@@ -0,0 +1,676 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "encoding/xml"
+ "errors"
+ "fmt"
+ "io"
+ "log"
+ "mime/multipart"
+ "net/http"
+ "net/http/httputil"
+ "net/url"
+ "os"
+ "path/filepath"
+ "reflect"
+ "regexp"
+ "strconv"
+ "strings"
+ "time"
+ "unicode/utf8"
+)
+
+var (
+ JsonCheck = regexp.MustCompile(`(?i:(?:application|text)/(?:[^;]+\+)?json)`)
+ XmlCheck = regexp.MustCompile(`(?i:(?:application|text)/(?:[^;]+\+)?xml)`)
+ queryParamSplit = regexp.MustCompile(`(^|&)([^&]+)`)
+ queryDescape = strings.NewReplacer("%5B", "[", "%5D", "]")
+)
+
+// APIClient manages communication with the AutoGlue API API v1.0
+// In most cases there should be only one, shared, APIClient.
+type APIClient struct {
+ cfg *Configuration
+ common service // Reuse a single struct instead of allocating one for each service on the heap.
+
+ // API Services
+
+ AuthAPI *AuthAPIService
+
+ LabelsAPI *LabelsAPIService
+
+ MeAPI *MeAPIService
+
+ MeAPIKeysAPI *MeAPIKeysAPIService
+
+ OrgsAPI *OrgsAPIService
+
+ ServersAPI *ServersAPIService
+
+ SshAPI *SshAPIService
+
+ TaintsAPI *TaintsAPIService
+}
+
+type service struct {
+ client *APIClient
+}
+
+// NewAPIClient creates a new API client. Requires a userAgent string describing your application.
+// optionally a custom http.Client to allow for advanced features such as caching.
+func NewAPIClient(cfg *Configuration) *APIClient {
+ if cfg.HTTPClient == nil {
+ cfg.HTTPClient = http.DefaultClient
+ }
+
+ c := &APIClient{}
+ c.cfg = cfg
+ c.common.client = c
+
+ // API Services
+ c.AuthAPI = (*AuthAPIService)(&c.common)
+ c.LabelsAPI = (*LabelsAPIService)(&c.common)
+ c.MeAPI = (*MeAPIService)(&c.common)
+ c.MeAPIKeysAPI = (*MeAPIKeysAPIService)(&c.common)
+ c.OrgsAPI = (*OrgsAPIService)(&c.common)
+ c.ServersAPI = (*ServersAPIService)(&c.common)
+ c.SshAPI = (*SshAPIService)(&c.common)
+ c.TaintsAPI = (*TaintsAPIService)(&c.common)
+
+ return c
+}
+
+func atoi(in string) (int, error) {
+ return strconv.Atoi(in)
+}
+
+// selectHeaderContentType select a content type from the available list.
+func selectHeaderContentType(contentTypes []string) string {
+ if len(contentTypes) == 0 {
+ return ""
+ }
+ if contains(contentTypes, "application/json") {
+ return "application/json"
+ }
+ return contentTypes[0] // use the first content type specified in 'consumes'
+}
+
+// selectHeaderAccept join all accept types and return
+func selectHeaderAccept(accepts []string) string {
+ if len(accepts) == 0 {
+ return ""
+ }
+
+ if contains(accepts, "application/json") {
+ return "application/json"
+ }
+
+ return strings.Join(accepts, ",")
+}
+
+// contains is a case insensitive match, finding needle in a haystack
+func contains(haystack []string, needle string) bool {
+ for _, a := range haystack {
+ if strings.EqualFold(a, needle) {
+ return true
+ }
+ }
+ return false
+}
+
+// Verify optional parameters are of the correct type.
+func typeCheckParameter(obj interface{}, expected string, name string) error {
+ // Make sure there is an object.
+ if obj == nil {
+ return nil
+ }
+
+ // Check the type is as expected.
+ if reflect.TypeOf(obj).String() != expected {
+ return fmt.Errorf("expected %s to be of type %s but received %s", name, expected, reflect.TypeOf(obj).String())
+ }
+ return nil
+}
+
+func parameterValueToString(obj interface{}, key string) string {
+ if reflect.TypeOf(obj).Kind() != reflect.Ptr {
+ if actualObj, ok := obj.(interface{ GetActualInstanceValue() interface{} }); ok {
+ return fmt.Sprintf("%v", actualObj.GetActualInstanceValue())
+ }
+
+ return fmt.Sprintf("%v", obj)
+ }
+ var param, ok = obj.(MappedNullable)
+ if !ok {
+ return ""
+ }
+ dataMap, err := param.ToMap()
+ if err != nil {
+ return ""
+ }
+ return fmt.Sprintf("%v", dataMap[key])
+}
+
+// parameterAddToHeaderOrQuery adds the provided object to the request header or url query
+// supporting deep object syntax
+func parameterAddToHeaderOrQuery(headerOrQueryParams interface{}, keyPrefix string, obj interface{}, style string, collectionType string) {
+ var v = reflect.ValueOf(obj)
+ var value = ""
+ if v == reflect.ValueOf(nil) {
+ value = "null"
+ } else {
+ switch v.Kind() {
+ case reflect.Invalid:
+ value = "invalid"
+
+ case reflect.Struct:
+ if t, ok := obj.(MappedNullable); ok {
+ dataMap, err := t.ToMap()
+ if err != nil {
+ return
+ }
+ parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, dataMap, style, collectionType)
+ return
+ }
+ if t, ok := obj.(time.Time); ok {
+ parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, t.Format(time.RFC3339Nano), style, collectionType)
+ return
+ }
+ value = v.Type().String() + " value"
+ case reflect.Slice:
+ var indValue = reflect.ValueOf(obj)
+ if indValue == reflect.ValueOf(nil) {
+ return
+ }
+ var lenIndValue = indValue.Len()
+ for i := 0; i < lenIndValue; i++ {
+ var arrayValue = indValue.Index(i)
+ var keyPrefixForCollectionType = keyPrefix
+ if style == "deepObject" {
+ keyPrefixForCollectionType = keyPrefix + "[" + strconv.Itoa(i) + "]"
+ }
+ parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefixForCollectionType, arrayValue.Interface(), style, collectionType)
+ }
+ return
+
+ case reflect.Map:
+ var indValue = reflect.ValueOf(obj)
+ if indValue == reflect.ValueOf(nil) {
+ return
+ }
+ iter := indValue.MapRange()
+ for iter.Next() {
+ k, v := iter.Key(), iter.Value()
+ parameterAddToHeaderOrQuery(headerOrQueryParams, fmt.Sprintf("%s[%s]", keyPrefix, k.String()), v.Interface(), style, collectionType)
+ }
+ return
+
+ case reflect.Interface:
+ fallthrough
+ case reflect.Ptr:
+ parameterAddToHeaderOrQuery(headerOrQueryParams, keyPrefix, v.Elem().Interface(), style, collectionType)
+ return
+
+ case reflect.Int, reflect.Int8, reflect.Int16,
+ reflect.Int32, reflect.Int64:
+ value = strconv.FormatInt(v.Int(), 10)
+ case reflect.Uint, reflect.Uint8, reflect.Uint16,
+ reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ value = strconv.FormatUint(v.Uint(), 10)
+ case reflect.Float32, reflect.Float64:
+ value = strconv.FormatFloat(v.Float(), 'g', -1, 32)
+ case reflect.Bool:
+ value = strconv.FormatBool(v.Bool())
+ case reflect.String:
+ value = v.String()
+ default:
+ value = v.Type().String() + " value"
+ }
+ }
+
+ switch valuesMap := headerOrQueryParams.(type) {
+ case url.Values:
+ if collectionType == "csv" && valuesMap.Get(keyPrefix) != "" {
+ valuesMap.Set(keyPrefix, valuesMap.Get(keyPrefix)+","+value)
+ } else {
+ valuesMap.Add(keyPrefix, value)
+ }
+ break
+ case map[string]string:
+ valuesMap[keyPrefix] = value
+ break
+ }
+}
+
+// helper for converting interface{} parameters to json strings
+func parameterToJson(obj interface{}) (string, error) {
+ jsonBuf, err := json.Marshal(obj)
+ if err != nil {
+ return "", err
+ }
+ return string(jsonBuf), err
+}
+
+// callAPI do the request.
+func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) {
+ if c.cfg.Debug {
+ dump, err := httputil.DumpRequestOut(request, true)
+ if err != nil {
+ return nil, err
+ }
+ log.Printf("\n%s\n", string(dump))
+ }
+
+ resp, err := c.cfg.HTTPClient.Do(request)
+ if err != nil {
+ return resp, err
+ }
+
+ if c.cfg.Debug {
+ dump, err := httputil.DumpResponse(resp, true)
+ if err != nil {
+ return resp, err
+ }
+ log.Printf("\n%s\n", string(dump))
+ }
+ return resp, err
+}
+
+// Allow modification of underlying config for alternate implementations and testing
+// Caution: modifying the configuration while live can cause data races and potentially unwanted behavior
+func (c *APIClient) GetConfig() *Configuration {
+ return c.cfg
+}
+
+type formFile struct {
+ fileBytes []byte
+ fileName string
+ formFileName string
+}
+
+// prepareRequest build the request
+func (c *APIClient) prepareRequest(
+ ctx context.Context,
+ path string, method string,
+ postBody interface{},
+ headerParams map[string]string,
+ queryParams url.Values,
+ formParams url.Values,
+ formFiles []formFile) (localVarRequest *http.Request, err error) {
+
+ var body *bytes.Buffer
+
+ // Detect postBody type and post.
+ if postBody != nil {
+ contentType := headerParams["Content-Type"]
+ if contentType == "" {
+ contentType = detectContentType(postBody)
+ headerParams["Content-Type"] = contentType
+ }
+
+ body, err = setBody(postBody, contentType)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ // add form parameters and file if available.
+ if strings.HasPrefix(headerParams["Content-Type"], "multipart/form-data") && len(formParams) > 0 || (len(formFiles) > 0) {
+ if body != nil {
+ return nil, errors.New("Cannot specify postBody and multipart form at the same time.")
+ }
+ body = &bytes.Buffer{}
+ w := multipart.NewWriter(body)
+
+ for k, v := range formParams {
+ for _, iv := range v {
+ if strings.HasPrefix(k, "@") { // file
+ err = addFile(w, k[1:], iv)
+ if err != nil {
+ return nil, err
+ }
+ } else { // form value
+ w.WriteField(k, iv)
+ }
+ }
+ }
+ for _, formFile := range formFiles {
+ if len(formFile.fileBytes) > 0 && formFile.fileName != "" {
+ w.Boundary()
+ part, err := w.CreateFormFile(formFile.formFileName, filepath.Base(formFile.fileName))
+ if err != nil {
+ return nil, err
+ }
+ _, err = part.Write(formFile.fileBytes)
+ if err != nil {
+ return nil, err
+ }
+ }
+ }
+
+ // Set the Boundary in the Content-Type
+ headerParams["Content-Type"] = w.FormDataContentType()
+
+ // Set Content-Length
+ headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len())
+ w.Close()
+ }
+
+ if strings.HasPrefix(headerParams["Content-Type"], "application/x-www-form-urlencoded") && len(formParams) > 0 {
+ if body != nil {
+ return nil, errors.New("Cannot specify postBody and x-www-form-urlencoded form at the same time.")
+ }
+ body = &bytes.Buffer{}
+ body.WriteString(formParams.Encode())
+ // Set Content-Length
+ headerParams["Content-Length"] = fmt.Sprintf("%d", body.Len())
+ }
+
+ // Setup path and query parameters
+ url, err := url.Parse(path)
+ if err != nil {
+ return nil, err
+ }
+
+ // Override request host, if applicable
+ if c.cfg.Host != "" {
+ url.Host = c.cfg.Host
+ }
+
+ // Override request scheme, if applicable
+ if c.cfg.Scheme != "" {
+ url.Scheme = c.cfg.Scheme
+ }
+
+ // Adding Query Param
+ query := url.Query()
+ for k, v := range queryParams {
+ for _, iv := range v {
+ query.Add(k, iv)
+ }
+ }
+
+ // Encode the parameters.
+ url.RawQuery = queryParamSplit.ReplaceAllStringFunc(query.Encode(), func(s string) string {
+ pieces := strings.Split(s, "=")
+ pieces[0] = queryDescape.Replace(pieces[0])
+ return strings.Join(pieces, "=")
+ })
+
+ // Generate a new request
+ if body != nil {
+ localVarRequest, err = http.NewRequest(method, url.String(), body)
+ } else {
+ localVarRequest, err = http.NewRequest(method, url.String(), nil)
+ }
+ if err != nil {
+ return nil, err
+ }
+
+ // add header parameters, if any
+ if len(headerParams) > 0 {
+ headers := http.Header{}
+ for h, v := range headerParams {
+ headers[h] = []string{v}
+ }
+ localVarRequest.Header = headers
+ }
+
+ // Add the user agent to the request.
+ localVarRequest.Header.Add("User-Agent", c.cfg.UserAgent)
+
+ if ctx != nil {
+ // add context to the request
+ localVarRequest = localVarRequest.WithContext(ctx)
+
+ // Walk through any authentication.
+
+ }
+
+ for header, value := range c.cfg.DefaultHeader {
+ localVarRequest.Header.Add(header, value)
+ }
+ return localVarRequest, nil
+}
+
+func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err error) {
+ if len(b) == 0 {
+ return nil
+ }
+ if s, ok := v.(*string); ok {
+ *s = string(b)
+ return nil
+ }
+ if f, ok := v.(*os.File); ok {
+ f, err = os.CreateTemp("", "HttpClientFile")
+ if err != nil {
+ return
+ }
+ _, err = f.Write(b)
+ if err != nil {
+ return
+ }
+ _, err = f.Seek(0, io.SeekStart)
+ return
+ }
+ if f, ok := v.(**os.File); ok {
+ *f, err = os.CreateTemp("", "HttpClientFile")
+ if err != nil {
+ return
+ }
+ _, err = (*f).Write(b)
+ if err != nil {
+ return
+ }
+ _, err = (*f).Seek(0, io.SeekStart)
+ return
+ }
+ if XmlCheck.MatchString(contentType) {
+ if err = xml.Unmarshal(b, v); err != nil {
+ return err
+ }
+ return nil
+ }
+ if JsonCheck.MatchString(contentType) {
+ if actualObj, ok := v.(interface{ GetActualInstance() interface{} }); ok { // oneOf, anyOf schemas
+ if unmarshalObj, ok := actualObj.(interface{ UnmarshalJSON([]byte) error }); ok { // make sure it has UnmarshalJSON defined
+ if err = unmarshalObj.UnmarshalJSON(b); err != nil {
+ return err
+ }
+ } else {
+ return errors.New("Unknown type with GetActualInstance but no unmarshalObj.UnmarshalJSON defined")
+ }
+ } else if err = json.Unmarshal(b, v); err != nil { // simple model
+ return err
+ }
+ return nil
+ }
+ return errors.New("undefined response type")
+}
+
+// Add a file to the multipart request
+func addFile(w *multipart.Writer, fieldName, path string) error {
+ file, err := os.Open(filepath.Clean(path))
+ if err != nil {
+ return err
+ }
+ err = file.Close()
+ if err != nil {
+ return err
+ }
+
+ part, err := w.CreateFormFile(fieldName, filepath.Base(path))
+ if err != nil {
+ return err
+ }
+ _, err = io.Copy(part, file)
+
+ return err
+}
+
+// Set request body from an interface{}
+func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err error) {
+ if bodyBuf == nil {
+ bodyBuf = &bytes.Buffer{}
+ }
+
+ if reader, ok := body.(io.Reader); ok {
+ _, err = bodyBuf.ReadFrom(reader)
+ } else if fp, ok := body.(*os.File); ok {
+ _, err = bodyBuf.ReadFrom(fp)
+ } else if b, ok := body.([]byte); ok {
+ _, err = bodyBuf.Write(b)
+ } else if s, ok := body.(string); ok {
+ _, err = bodyBuf.WriteString(s)
+ } else if s, ok := body.(*string); ok {
+ _, err = bodyBuf.WriteString(*s)
+ } else if JsonCheck.MatchString(contentType) {
+ err = json.NewEncoder(bodyBuf).Encode(body)
+ } else if XmlCheck.MatchString(contentType) {
+ var bs []byte
+ bs, err = xml.Marshal(body)
+ if err == nil {
+ bodyBuf.Write(bs)
+ }
+ }
+
+ if err != nil {
+ return nil, err
+ }
+
+ if bodyBuf.Len() == 0 {
+ err = fmt.Errorf("invalid body type %s\n", contentType)
+ return nil, err
+ }
+ return bodyBuf, nil
+}
+
+// detectContentType method is used to figure out `Request.Body` content type for request header
+func detectContentType(body interface{}) string {
+ contentType := "text/plain; charset=utf-8"
+ kind := reflect.TypeOf(body).Kind()
+
+ switch kind {
+ case reflect.Struct, reflect.Map, reflect.Ptr:
+ contentType = "application/json; charset=utf-8"
+ case reflect.String:
+ contentType = "text/plain; charset=utf-8"
+ default:
+ if b, ok := body.([]byte); ok {
+ contentType = http.DetectContentType(b)
+ } else if kind == reflect.Slice {
+ contentType = "application/json; charset=utf-8"
+ }
+ }
+
+ return contentType
+}
+
+// Ripped from https://github.com/gregjones/httpcache/blob/master/httpcache.go
+type cacheControl map[string]string
+
+func parseCacheControl(headers http.Header) cacheControl {
+ cc := cacheControl{}
+ ccHeader := headers.Get("Cache-Control")
+ for _, part := range strings.Split(ccHeader, ",") {
+ part = strings.Trim(part, " ")
+ if part == "" {
+ continue
+ }
+ if strings.ContainsRune(part, '=') {
+ keyval := strings.Split(part, "=")
+ cc[strings.Trim(keyval[0], " ")] = strings.Trim(keyval[1], ",")
+ } else {
+ cc[part] = ""
+ }
+ }
+ return cc
+}
+
+// CacheExpires helper function to determine remaining time before repeating a request.
+func CacheExpires(r *http.Response) time.Time {
+ // Figure out when the cache expires.
+ var expires time.Time
+ now, err := time.Parse(time.RFC1123, r.Header.Get("date"))
+ if err != nil {
+ return time.Now()
+ }
+ respCacheControl := parseCacheControl(r.Header)
+
+ if maxAge, ok := respCacheControl["max-age"]; ok {
+ lifetime, err := time.ParseDuration(maxAge + "s")
+ if err != nil {
+ expires = now
+ } else {
+ expires = now.Add(lifetime)
+ }
+ } else {
+ expiresHeader := r.Header.Get("Expires")
+ if expiresHeader != "" {
+ expires, err = time.Parse(time.RFC1123, expiresHeader)
+ if err != nil {
+ expires = now
+ }
+ }
+ }
+ return expires
+}
+
+func strlen(s string) int {
+ return utf8.RuneCountInString(s)
+}
+
+// GenericOpenAPIError Provides access to the body, error and model on returned errors.
+type GenericOpenAPIError struct {
+ body []byte
+ error string
+ model interface{}
+}
+
+// Error returns non-empty string if there was an error.
+func (e GenericOpenAPIError) Error() string {
+ return e.error
+}
+
+// Body returns the raw bytes of the response
+func (e GenericOpenAPIError) Body() []byte {
+ return e.body
+}
+
+// Model returns the unpacked model of the error
+func (e GenericOpenAPIError) Model() interface{} {
+ return e.model
+}
+
+// format error message using title and detail when model implements rfc7807
+func formatErrorMessage(status string, v interface{}) string {
+ str := ""
+ metaValue := reflect.ValueOf(v).Elem()
+
+ if metaValue.Kind() == reflect.Struct {
+ field := metaValue.FieldByName("Title")
+ if field != (reflect.Value{}) {
+ str = fmt.Sprintf("%s", field.Interface())
+ }
+
+ field = metaValue.FieldByName("Detail")
+ if field != (reflect.Value{}) {
+ str = fmt.Sprintf("%s (%s)", str, field.Interface())
+ }
+ }
+
+ return strings.TrimSpace(fmt.Sprintf("%s %s", status, str))
+}
diff --git a/sdk/go/configuration.go b/sdk/go/configuration.go
new file mode 100644
index 0000000..2a6776d
--- /dev/null
+++ b/sdk/go/configuration.go
@@ -0,0 +1,221 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "context"
+ "fmt"
+ "net/http"
+ "strings"
+)
+
+// contextKeys are used to identify the type of value in the context.
+// Since these are string, it is possible to get a short description of the
+// context key for logging and debugging using key.String().
+
+type contextKey string
+
+func (c contextKey) String() string {
+ return "auth " + string(c)
+}
+
+var (
+ // ContextAPIKeys takes a string apikey as authentication for the request
+ ContextAPIKeys = contextKey("apiKeys")
+
+ // ContextServerIndex uses a server configuration from the index.
+ ContextServerIndex = contextKey("serverIndex")
+
+ // ContextOperationServerIndices uses a server configuration from the index mapping.
+ ContextOperationServerIndices = contextKey("serverOperationIndices")
+
+ // ContextServerVariables overrides a server configuration variables.
+ ContextServerVariables = contextKey("serverVariables")
+
+ // ContextOperationServerVariables overrides a server configuration variables using operation specific values.
+ ContextOperationServerVariables = contextKey("serverOperationVariables")
+)
+
+// BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth
+type BasicAuth struct {
+ UserName string `json:"userName,omitempty"`
+ Password string `json:"password,omitempty"`
+}
+
+// APIKey provides API key based authentication to a request passed via context using ContextAPIKey
+type APIKey struct {
+ Key string
+ Prefix string
+}
+
+// ServerVariable stores the information about a server variable
+type ServerVariable struct {
+ Description string
+ DefaultValue string
+ EnumValues []string
+}
+
+// ServerConfiguration stores the information about a server
+type ServerConfiguration struct {
+ URL string
+ Description string
+ Variables map[string]ServerVariable
+}
+
+// ServerConfigurations stores multiple ServerConfiguration items
+type ServerConfigurations []ServerConfiguration
+
+// Configuration stores the configuration of the API client
+type Configuration struct {
+ Host string `json:"host,omitempty"`
+ Scheme string `json:"scheme,omitempty"`
+ DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
+ UserAgent string `json:"userAgent,omitempty"`
+ Debug bool `json:"debug,omitempty"`
+ Servers ServerConfigurations
+ OperationServers map[string]ServerConfigurations
+ HTTPClient *http.Client
+}
+
+// NewConfiguration returns a new Configuration object
+func NewConfiguration() *Configuration {
+ cfg := &Configuration{
+ DefaultHeader: make(map[string]string),
+ UserAgent: "OpenAPI-Generator/1.0.0/go",
+ Debug: false,
+ Servers: ServerConfigurations{
+ {
+ URL: "http://localhost:8080/api/v1",
+ Description: "No description provided",
+ },
+ {
+ URL: "https://localhost:8080/api/v1",
+ Description: "No description provided",
+ },
+ },
+ OperationServers: map[string]ServerConfigurations{},
+ }
+ return cfg
+}
+
+// AddDefaultHeader adds a new HTTP header to the default header in the request
+func (c *Configuration) AddDefaultHeader(key string, value string) {
+ c.DefaultHeader[key] = value
+}
+
+// URL formats template on a index using given variables
+func (sc ServerConfigurations) URL(index int, variables map[string]string) (string, error) {
+ if index < 0 || len(sc) <= index {
+ return "", fmt.Errorf("index %v out of range %v", index, len(sc)-1)
+ }
+ server := sc[index]
+ url := server.URL
+
+ // go through variables and replace placeholders
+ for name, variable := range server.Variables {
+ if value, ok := variables[name]; ok {
+ found := bool(len(variable.EnumValues) == 0)
+ for _, enumValue := range variable.EnumValues {
+ if value == enumValue {
+ found = true
+ }
+ }
+ if !found {
+ return "", fmt.Errorf("the variable %s in the server URL has invalid value %v. Must be %v", name, value, variable.EnumValues)
+ }
+ url = strings.Replace(url, "{"+name+"}", value, -1)
+ } else {
+ url = strings.Replace(url, "{"+name+"}", variable.DefaultValue, -1)
+ }
+ }
+ return url, nil
+}
+
+// ServerURL returns URL based on server settings
+func (c *Configuration) ServerURL(index int, variables map[string]string) (string, error) {
+ return c.Servers.URL(index, variables)
+}
+
+func getServerIndex(ctx context.Context) (int, error) {
+ si := ctx.Value(ContextServerIndex)
+ if si != nil {
+ if index, ok := si.(int); ok {
+ return index, nil
+ }
+ return 0, reportError("Invalid type %T should be int", si)
+ }
+ return 0, nil
+}
+
+func getServerOperationIndex(ctx context.Context, endpoint string) (int, error) {
+ osi := ctx.Value(ContextOperationServerIndices)
+ if osi != nil {
+ if operationIndices, ok := osi.(map[string]int); !ok {
+ return 0, reportError("Invalid type %T should be map[string]int", osi)
+ } else {
+ index, ok := operationIndices[endpoint]
+ if ok {
+ return index, nil
+ }
+ }
+ }
+ return getServerIndex(ctx)
+}
+
+func getServerVariables(ctx context.Context) (map[string]string, error) {
+ sv := ctx.Value(ContextServerVariables)
+ if sv != nil {
+ if variables, ok := sv.(map[string]string); ok {
+ return variables, nil
+ }
+ return nil, reportError("ctx value of ContextServerVariables has invalid type %T should be map[string]string", sv)
+ }
+ return nil, nil
+}
+
+func getServerOperationVariables(ctx context.Context, endpoint string) (map[string]string, error) {
+ osv := ctx.Value(ContextOperationServerVariables)
+ if osv != nil {
+ if operationVariables, ok := osv.(map[string]map[string]string); !ok {
+ return nil, reportError("ctx value of ContextOperationServerVariables has invalid type %T should be map[string]map[string]string", osv)
+ } else {
+ variables, ok := operationVariables[endpoint]
+ if ok {
+ return variables, nil
+ }
+ }
+ }
+ return getServerVariables(ctx)
+}
+
+// ServerURLWithContext returns a new server URL given an endpoint
+func (c *Configuration) ServerURLWithContext(ctx context.Context, endpoint string) (string, error) {
+ sc, ok := c.OperationServers[endpoint]
+ if !ok {
+ sc = c.Servers
+ }
+
+ if ctx == nil {
+ return sc.URL(0, nil)
+ }
+
+ index, err := getServerOperationIndex(ctx, endpoint)
+ if err != nil {
+ return "", err
+ }
+
+ variables, err := getServerOperationVariables(ctx, endpoint)
+ if err != nil {
+ return "", err
+ }
+
+ return sc.URL(index, variables)
+}
diff --git a/sdk/go/docs/AuthAPI.md b/sdk/go/docs/AuthAPI.md
new file mode 100644
index 0000000..d18b369
--- /dev/null
+++ b/sdk/go/docs/AuthAPI.md
@@ -0,0 +1,338 @@
+# \AuthAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx, provider).Execute()
+
+Handle social login callback
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ provider := "provider_example" // string | google|github
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.AuthAPI.AuthCallback(context.Background(), provider).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `AuthAPI.AuthCallback``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `AuthCallback`: DtoTokenPair
+ fmt.Fprintf(os.Stdout, "Response from `AuthAPI.AuthCallback`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**provider** | **string** | google|github |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiAuthCallbackRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**DtoTokenPair**](DtoTokenPair.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## AuthStart
+
+> DtoAuthStartResponse AuthStart(ctx, provider).Execute()
+
+Begin social login
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ provider := "provider_example" // string | google|github
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.AuthAPI.AuthStart(context.Background(), provider).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `AuthAPI.AuthStart``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `AuthStart`: DtoAuthStartResponse
+ fmt.Fprintf(os.Stdout, "Response from `AuthAPI.AuthStart`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**provider** | **string** | google|github |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiAuthStartRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**DtoAuthStartResponse**](DtoAuthStartResponse.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetJWKS
+
+> DtoJWKS GetJWKS(ctx).Execute()
+
+Get JWKS
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.AuthAPI.GetJWKS(context.Background()).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `AuthAPI.GetJWKS``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetJWKS`: DtoJWKS
+ fmt.Fprintf(os.Stdout, "Response from `AuthAPI.GetJWKS`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+This endpoint does not need any parameter.
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetJWKSRequest struct via the builder pattern
+
+
+### Return type
+
+[**DtoJWKS**](DtoJWKS.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## Logout
+
+> Logout(ctx).Body(body).Execute()
+
+Revoke refresh token family (logout everywhere)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoLogoutRequest() // DtoLogoutRequest | Refresh token
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ r, err := apiClient.AuthAPI.Logout(context.Background()).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `AuthAPI.Logout``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiLogoutRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**DtoLogoutRequest**](DtoLogoutRequest.md) | Refresh token |
+
+### Return type
+
+ (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## Refresh
+
+> DtoTokenPair Refresh(ctx).Body(body).Execute()
+
+Rotate refresh token
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoRefreshRequest() // DtoRefreshRequest | Refresh token
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.AuthAPI.Refresh(context.Background()).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `AuthAPI.Refresh``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `Refresh`: DtoTokenPair
+ fmt.Fprintf(os.Stdout, "Response from `AuthAPI.Refresh`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiRefreshRequest struct via the builder pattern
+
+
+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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/DtoAuthStartResponse.md b/sdk/go/docs/DtoAuthStartResponse.md
new file mode 100644
index 0000000..4a47ef6
--- /dev/null
+++ b/sdk/go/docs/DtoAuthStartResponse.md
@@ -0,0 +1,56 @@
+# DtoAuthStartResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AuthUrl** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoAuthStartResponse
+
+`func NewDtoAuthStartResponse() *DtoAuthStartResponse`
+
+NewDtoAuthStartResponse instantiates a new DtoAuthStartResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoAuthStartResponseWithDefaults
+
+`func NewDtoAuthStartResponseWithDefaults() *DtoAuthStartResponse`
+
+NewDtoAuthStartResponseWithDefaults instantiates a new DtoAuthStartResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetAuthUrl
+
+`func (o *DtoAuthStartResponse) GetAuthUrl() string`
+
+GetAuthUrl returns the AuthUrl field if non-nil, zero value otherwise.
+
+### GetAuthUrlOk
+
+`func (o *DtoAuthStartResponse) GetAuthUrlOk() (*string, bool)`
+
+GetAuthUrlOk returns a tuple with the AuthUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAuthUrl
+
+`func (o *DtoAuthStartResponse) SetAuthUrl(v string)`
+
+SetAuthUrl sets AuthUrl field to given value.
+
+### HasAuthUrl
+
+`func (o *DtoAuthStartResponse) HasAuthUrl() bool`
+
+HasAuthUrl returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoCreateLabelRequest.md b/sdk/go/docs/DtoCreateLabelRequest.md
new file mode 100644
index 0000000..a0469fc
--- /dev/null
+++ b/sdk/go/docs/DtoCreateLabelRequest.md
@@ -0,0 +1,82 @@
+# DtoCreateLabelRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoCreateLabelRequest
+
+`func NewDtoCreateLabelRequest() *DtoCreateLabelRequest`
+
+NewDtoCreateLabelRequest instantiates a new DtoCreateLabelRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoCreateLabelRequestWithDefaults
+
+`func NewDtoCreateLabelRequestWithDefaults() *DtoCreateLabelRequest`
+
+NewDtoCreateLabelRequestWithDefaults instantiates a new DtoCreateLabelRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetKey
+
+`func (o *DtoCreateLabelRequest) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoCreateLabelRequest) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoCreateLabelRequest) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoCreateLabelRequest) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoCreateLabelRequest) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoCreateLabelRequest) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoCreateLabelRequest) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoCreateLabelRequest) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoCreateSSHRequest.md b/sdk/go/docs/DtoCreateSSHRequest.md
new file mode 100644
index 0000000..03a4894
--- /dev/null
+++ b/sdk/go/docs/DtoCreateSSHRequest.md
@@ -0,0 +1,134 @@
+# DtoCreateSSHRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Bits** | Pointer to **int32** | Only for RSA | [optional]
+**Comment** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**Type** | Pointer to **string** | \"rsa\" (default) or \"ed25519\" | [optional]
+
+## Methods
+
+### NewDtoCreateSSHRequest
+
+`func NewDtoCreateSSHRequest() *DtoCreateSSHRequest`
+
+NewDtoCreateSSHRequest instantiates a new DtoCreateSSHRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoCreateSSHRequestWithDefaults
+
+`func NewDtoCreateSSHRequestWithDefaults() *DtoCreateSSHRequest`
+
+NewDtoCreateSSHRequestWithDefaults instantiates a new DtoCreateSSHRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetBits
+
+`func (o *DtoCreateSSHRequest) GetBits() int32`
+
+GetBits returns the Bits field if non-nil, zero value otherwise.
+
+### GetBitsOk
+
+`func (o *DtoCreateSSHRequest) GetBitsOk() (*int32, bool)`
+
+GetBitsOk returns a tuple with the Bits field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetBits
+
+`func (o *DtoCreateSSHRequest) SetBits(v int32)`
+
+SetBits sets Bits field to given value.
+
+### HasBits
+
+`func (o *DtoCreateSSHRequest) HasBits() bool`
+
+HasBits returns a boolean if a field has been set.
+
+### GetComment
+
+`func (o *DtoCreateSSHRequest) GetComment() string`
+
+GetComment returns the Comment field if non-nil, zero value otherwise.
+
+### GetCommentOk
+
+`func (o *DtoCreateSSHRequest) GetCommentOk() (*string, bool)`
+
+GetCommentOk returns a tuple with the Comment field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetComment
+
+`func (o *DtoCreateSSHRequest) SetComment(v string)`
+
+SetComment sets Comment field to given value.
+
+### HasComment
+
+`func (o *DtoCreateSSHRequest) HasComment() bool`
+
+HasComment returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *DtoCreateSSHRequest) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *DtoCreateSSHRequest) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *DtoCreateSSHRequest) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *DtoCreateSSHRequest) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetType
+
+`func (o *DtoCreateSSHRequest) GetType() string`
+
+GetType returns the Type field if non-nil, zero value otherwise.
+
+### GetTypeOk
+
+`func (o *DtoCreateSSHRequest) GetTypeOk() (*string, bool)`
+
+GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetType
+
+`func (o *DtoCreateSSHRequest) SetType(v string)`
+
+SetType sets Type field to given value.
+
+### HasType
+
+`func (o *DtoCreateSSHRequest) HasType() bool`
+
+HasType returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoCreateServerRequest.md b/sdk/go/docs/DtoCreateServerRequest.md
new file mode 100644
index 0000000..05acfb2
--- /dev/null
+++ b/sdk/go/docs/DtoCreateServerRequest.md
@@ -0,0 +1,212 @@
+# DtoCreateServerRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Hostname** | Pointer to **string** | | [optional]
+**PrivateIpAddress** | Pointer to **string** | | [optional]
+**PublicIpAddress** | Pointer to **string** | | [optional]
+**Role** | Pointer to **string** | | [optional]
+**SshKeyId** | Pointer to **string** | | [optional]
+**SshUser** | Pointer to **string** | | [optional]
+**Status** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoCreateServerRequest
+
+`func NewDtoCreateServerRequest() *DtoCreateServerRequest`
+
+NewDtoCreateServerRequest instantiates a new DtoCreateServerRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoCreateServerRequestWithDefaults
+
+`func NewDtoCreateServerRequestWithDefaults() *DtoCreateServerRequest`
+
+NewDtoCreateServerRequestWithDefaults instantiates a new DtoCreateServerRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetHostname
+
+`func (o *DtoCreateServerRequest) GetHostname() string`
+
+GetHostname returns the Hostname field if non-nil, zero value otherwise.
+
+### GetHostnameOk
+
+`func (o *DtoCreateServerRequest) GetHostnameOk() (*string, bool)`
+
+GetHostnameOk returns a tuple with the Hostname field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHostname
+
+`func (o *DtoCreateServerRequest) SetHostname(v string)`
+
+SetHostname sets Hostname field to given value.
+
+### HasHostname
+
+`func (o *DtoCreateServerRequest) HasHostname() bool`
+
+HasHostname returns a boolean if a field has been set.
+
+### GetPrivateIpAddress
+
+`func (o *DtoCreateServerRequest) GetPrivateIpAddress() string`
+
+GetPrivateIpAddress returns the PrivateIpAddress field if non-nil, zero value otherwise.
+
+### GetPrivateIpAddressOk
+
+`func (o *DtoCreateServerRequest) GetPrivateIpAddressOk() (*string, bool)`
+
+GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrivateIpAddress
+
+`func (o *DtoCreateServerRequest) SetPrivateIpAddress(v string)`
+
+SetPrivateIpAddress sets PrivateIpAddress field to given value.
+
+### HasPrivateIpAddress
+
+`func (o *DtoCreateServerRequest) HasPrivateIpAddress() bool`
+
+HasPrivateIpAddress returns a boolean if a field has been set.
+
+### GetPublicIpAddress
+
+`func (o *DtoCreateServerRequest) GetPublicIpAddress() string`
+
+GetPublicIpAddress returns the PublicIpAddress field if non-nil, zero value otherwise.
+
+### GetPublicIpAddressOk
+
+`func (o *DtoCreateServerRequest) GetPublicIpAddressOk() (*string, bool)`
+
+GetPublicIpAddressOk returns a tuple with the PublicIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPublicIpAddress
+
+`func (o *DtoCreateServerRequest) SetPublicIpAddress(v string)`
+
+SetPublicIpAddress sets PublicIpAddress field to given value.
+
+### HasPublicIpAddress
+
+`func (o *DtoCreateServerRequest) HasPublicIpAddress() bool`
+
+HasPublicIpAddress returns a boolean if a field has been set.
+
+### GetRole
+
+`func (o *DtoCreateServerRequest) GetRole() string`
+
+GetRole returns the Role field if non-nil, zero value otherwise.
+
+### GetRoleOk
+
+`func (o *DtoCreateServerRequest) GetRoleOk() (*string, bool)`
+
+GetRoleOk returns a tuple with the Role field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRole
+
+`func (o *DtoCreateServerRequest) SetRole(v string)`
+
+SetRole sets Role field to given value.
+
+### HasRole
+
+`func (o *DtoCreateServerRequest) HasRole() bool`
+
+HasRole returns a boolean if a field has been set.
+
+### GetSshKeyId
+
+`func (o *DtoCreateServerRequest) GetSshKeyId() string`
+
+GetSshKeyId returns the SshKeyId field if non-nil, zero value otherwise.
+
+### GetSshKeyIdOk
+
+`func (o *DtoCreateServerRequest) GetSshKeyIdOk() (*string, bool)`
+
+GetSshKeyIdOk returns a tuple with the SshKeyId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshKeyId
+
+`func (o *DtoCreateServerRequest) SetSshKeyId(v string)`
+
+SetSshKeyId sets SshKeyId field to given value.
+
+### HasSshKeyId
+
+`func (o *DtoCreateServerRequest) HasSshKeyId() bool`
+
+HasSshKeyId returns a boolean if a field has been set.
+
+### GetSshUser
+
+`func (o *DtoCreateServerRequest) GetSshUser() string`
+
+GetSshUser returns the SshUser field if non-nil, zero value otherwise.
+
+### GetSshUserOk
+
+`func (o *DtoCreateServerRequest) GetSshUserOk() (*string, bool)`
+
+GetSshUserOk returns a tuple with the SshUser field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshUser
+
+`func (o *DtoCreateServerRequest) SetSshUser(v string)`
+
+SetSshUser sets SshUser field to given value.
+
+### HasSshUser
+
+`func (o *DtoCreateServerRequest) HasSshUser() bool`
+
+HasSshUser returns a boolean if a field has been set.
+
+### GetStatus
+
+`func (o *DtoCreateServerRequest) GetStatus() string`
+
+GetStatus returns the Status field if non-nil, zero value otherwise.
+
+### GetStatusOk
+
+`func (o *DtoCreateServerRequest) GetStatusOk() (*string, bool)`
+
+GetStatusOk returns a tuple with the Status field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStatus
+
+`func (o *DtoCreateServerRequest) SetStatus(v string)`
+
+SetStatus sets Status field to given value.
+
+### HasStatus
+
+`func (o *DtoCreateServerRequest) HasStatus() bool`
+
+HasStatus returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoCreateTaintRequest.md b/sdk/go/docs/DtoCreateTaintRequest.md
new file mode 100644
index 0000000..78367b4
--- /dev/null
+++ b/sdk/go/docs/DtoCreateTaintRequest.md
@@ -0,0 +1,108 @@
+# DtoCreateTaintRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Effect** | Pointer to **string** | | [optional]
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoCreateTaintRequest
+
+`func NewDtoCreateTaintRequest() *DtoCreateTaintRequest`
+
+NewDtoCreateTaintRequest instantiates a new DtoCreateTaintRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoCreateTaintRequestWithDefaults
+
+`func NewDtoCreateTaintRequestWithDefaults() *DtoCreateTaintRequest`
+
+NewDtoCreateTaintRequestWithDefaults instantiates a new DtoCreateTaintRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEffect
+
+`func (o *DtoCreateTaintRequest) GetEffect() string`
+
+GetEffect returns the Effect field if non-nil, zero value otherwise.
+
+### GetEffectOk
+
+`func (o *DtoCreateTaintRequest) GetEffectOk() (*string, bool)`
+
+GetEffectOk returns a tuple with the Effect field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEffect
+
+`func (o *DtoCreateTaintRequest) SetEffect(v string)`
+
+SetEffect sets Effect field to given value.
+
+### HasEffect
+
+`func (o *DtoCreateTaintRequest) HasEffect() bool`
+
+HasEffect returns a boolean if a field has been set.
+
+### GetKey
+
+`func (o *DtoCreateTaintRequest) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoCreateTaintRequest) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoCreateTaintRequest) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoCreateTaintRequest) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoCreateTaintRequest) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoCreateTaintRequest) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoCreateTaintRequest) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoCreateTaintRequest) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoJWK.md b/sdk/go/docs/DtoJWK.md
new file mode 100644
index 0000000..bbfca3e
--- /dev/null
+++ b/sdk/go/docs/DtoJWK.md
@@ -0,0 +1,212 @@
+# DtoJWK
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Alg** | Pointer to **string** | | [optional]
+**E** | Pointer to **string** | | [optional]
+**Kid** | Pointer to **string** | | [optional]
+**Kty** | Pointer to **string** | | [optional]
+**N** | Pointer to **string** | | [optional]
+**Use** | Pointer to **string** | | [optional]
+**X** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoJWK
+
+`func NewDtoJWK() *DtoJWK`
+
+NewDtoJWK instantiates a new DtoJWK object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoJWKWithDefaults
+
+`func NewDtoJWKWithDefaults() *DtoJWK`
+
+NewDtoJWKWithDefaults instantiates a new DtoJWK object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetAlg
+
+`func (o *DtoJWK) GetAlg() string`
+
+GetAlg returns the Alg field if non-nil, zero value otherwise.
+
+### GetAlgOk
+
+`func (o *DtoJWK) GetAlgOk() (*string, bool)`
+
+GetAlgOk returns a tuple with the Alg field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAlg
+
+`func (o *DtoJWK) SetAlg(v string)`
+
+SetAlg sets Alg field to given value.
+
+### HasAlg
+
+`func (o *DtoJWK) HasAlg() bool`
+
+HasAlg returns a boolean if a field has been set.
+
+### GetE
+
+`func (o *DtoJWK) GetE() string`
+
+GetE returns the E field if non-nil, zero value otherwise.
+
+### GetEOk
+
+`func (o *DtoJWK) GetEOk() (*string, bool)`
+
+GetEOk returns a tuple with the E field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetE
+
+`func (o *DtoJWK) SetE(v string)`
+
+SetE sets E field to given value.
+
+### HasE
+
+`func (o *DtoJWK) HasE() bool`
+
+HasE returns a boolean if a field has been set.
+
+### GetKid
+
+`func (o *DtoJWK) GetKid() string`
+
+GetKid returns the Kid field if non-nil, zero value otherwise.
+
+### GetKidOk
+
+`func (o *DtoJWK) GetKidOk() (*string, bool)`
+
+GetKidOk returns a tuple with the Kid field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKid
+
+`func (o *DtoJWK) SetKid(v string)`
+
+SetKid sets Kid field to given value.
+
+### HasKid
+
+`func (o *DtoJWK) HasKid() bool`
+
+HasKid returns a boolean if a field has been set.
+
+### GetKty
+
+`func (o *DtoJWK) GetKty() string`
+
+GetKty returns the Kty field if non-nil, zero value otherwise.
+
+### GetKtyOk
+
+`func (o *DtoJWK) GetKtyOk() (*string, bool)`
+
+GetKtyOk returns a tuple with the Kty field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKty
+
+`func (o *DtoJWK) SetKty(v string)`
+
+SetKty sets Kty field to given value.
+
+### HasKty
+
+`func (o *DtoJWK) HasKty() bool`
+
+HasKty returns a boolean if a field has been set.
+
+### GetN
+
+`func (o *DtoJWK) GetN() string`
+
+GetN returns the N field if non-nil, zero value otherwise.
+
+### GetNOk
+
+`func (o *DtoJWK) GetNOk() (*string, bool)`
+
+GetNOk returns a tuple with the N field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetN
+
+`func (o *DtoJWK) SetN(v string)`
+
+SetN sets N field to given value.
+
+### HasN
+
+`func (o *DtoJWK) HasN() bool`
+
+HasN returns a boolean if a field has been set.
+
+### GetUse
+
+`func (o *DtoJWK) GetUse() string`
+
+GetUse returns the Use field if non-nil, zero value otherwise.
+
+### GetUseOk
+
+`func (o *DtoJWK) GetUseOk() (*string, bool)`
+
+GetUseOk returns a tuple with the Use field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUse
+
+`func (o *DtoJWK) SetUse(v string)`
+
+SetUse sets Use field to given value.
+
+### HasUse
+
+`func (o *DtoJWK) HasUse() bool`
+
+HasUse returns a boolean if a field has been set.
+
+### GetX
+
+`func (o *DtoJWK) GetX() string`
+
+GetX returns the X field if non-nil, zero value otherwise.
+
+### GetXOk
+
+`func (o *DtoJWK) GetXOk() (*string, bool)`
+
+GetXOk returns a tuple with the X field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetX
+
+`func (o *DtoJWK) SetX(v string)`
+
+SetX sets X field to given value.
+
+### HasX
+
+`func (o *DtoJWK) HasX() bool`
+
+HasX returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoJWKS.md b/sdk/go/docs/DtoJWKS.md
new file mode 100644
index 0000000..9efce4d
--- /dev/null
+++ b/sdk/go/docs/DtoJWKS.md
@@ -0,0 +1,56 @@
+# DtoJWKS
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Keys** | Pointer to [**[]DtoJWK**](DtoJWK.md) | | [optional]
+
+## Methods
+
+### NewDtoJWKS
+
+`func NewDtoJWKS() *DtoJWKS`
+
+NewDtoJWKS instantiates a new DtoJWKS object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoJWKSWithDefaults
+
+`func NewDtoJWKSWithDefaults() *DtoJWKS`
+
+NewDtoJWKSWithDefaults instantiates a new DtoJWKS object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetKeys
+
+`func (o *DtoJWKS) GetKeys() []DtoJWK`
+
+GetKeys returns the Keys field if non-nil, zero value otherwise.
+
+### GetKeysOk
+
+`func (o *DtoJWKS) GetKeysOk() (*[]DtoJWK, bool)`
+
+GetKeysOk returns a tuple with the Keys field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKeys
+
+`func (o *DtoJWKS) SetKeys(v []DtoJWK)`
+
+SetKeys sets Keys field to given value.
+
+### HasKeys
+
+`func (o *DtoJWKS) HasKeys() bool`
+
+HasKeys returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoLabelResponse.md b/sdk/go/docs/DtoLabelResponse.md
new file mode 100644
index 0000000..83a2b9a
--- /dev/null
+++ b/sdk/go/docs/DtoLabelResponse.md
@@ -0,0 +1,108 @@
+# DtoLabelResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | Pointer to **string** | | [optional]
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoLabelResponse
+
+`func NewDtoLabelResponse() *DtoLabelResponse`
+
+NewDtoLabelResponse instantiates a new DtoLabelResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoLabelResponseWithDefaults
+
+`func NewDtoLabelResponseWithDefaults() *DtoLabelResponse`
+
+NewDtoLabelResponseWithDefaults instantiates a new DtoLabelResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetId
+
+`func (o *DtoLabelResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *DtoLabelResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *DtoLabelResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *DtoLabelResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetKey
+
+`func (o *DtoLabelResponse) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoLabelResponse) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoLabelResponse) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoLabelResponse) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoLabelResponse) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoLabelResponse) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoLabelResponse) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoLabelResponse) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoLogoutRequest.md b/sdk/go/docs/DtoLogoutRequest.md
new file mode 100644
index 0000000..05af9bd
--- /dev/null
+++ b/sdk/go/docs/DtoLogoutRequest.md
@@ -0,0 +1,56 @@
+# DtoLogoutRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**RefreshToken** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoLogoutRequest
+
+`func NewDtoLogoutRequest() *DtoLogoutRequest`
+
+NewDtoLogoutRequest instantiates a new DtoLogoutRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoLogoutRequestWithDefaults
+
+`func NewDtoLogoutRequestWithDefaults() *DtoLogoutRequest`
+
+NewDtoLogoutRequestWithDefaults instantiates a new DtoLogoutRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetRefreshToken
+
+`func (o *DtoLogoutRequest) GetRefreshToken() string`
+
+GetRefreshToken returns the RefreshToken field if non-nil, zero value otherwise.
+
+### GetRefreshTokenOk
+
+`func (o *DtoLogoutRequest) GetRefreshTokenOk() (*string, bool)`
+
+GetRefreshTokenOk returns a tuple with the RefreshToken field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRefreshToken
+
+`func (o *DtoLogoutRequest) SetRefreshToken(v string)`
+
+SetRefreshToken sets RefreshToken field to given value.
+
+### HasRefreshToken
+
+`func (o *DtoLogoutRequest) HasRefreshToken() bool`
+
+HasRefreshToken returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoRefreshRequest.md b/sdk/go/docs/DtoRefreshRequest.md
new file mode 100644
index 0000000..2c95a50
--- /dev/null
+++ b/sdk/go/docs/DtoRefreshRequest.md
@@ -0,0 +1,56 @@
+# DtoRefreshRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**RefreshToken** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoRefreshRequest
+
+`func NewDtoRefreshRequest() *DtoRefreshRequest`
+
+NewDtoRefreshRequest instantiates a new DtoRefreshRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoRefreshRequestWithDefaults
+
+`func NewDtoRefreshRequestWithDefaults() *DtoRefreshRequest`
+
+NewDtoRefreshRequestWithDefaults instantiates a new DtoRefreshRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetRefreshToken
+
+`func (o *DtoRefreshRequest) GetRefreshToken() string`
+
+GetRefreshToken returns the RefreshToken field if non-nil, zero value otherwise.
+
+### GetRefreshTokenOk
+
+`func (o *DtoRefreshRequest) GetRefreshTokenOk() (*string, bool)`
+
+GetRefreshTokenOk returns a tuple with the RefreshToken field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRefreshToken
+
+`func (o *DtoRefreshRequest) SetRefreshToken(v string)`
+
+SetRefreshToken sets RefreshToken field to given value.
+
+### HasRefreshToken
+
+`func (o *DtoRefreshRequest) HasRefreshToken() bool`
+
+HasRefreshToken returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoServerResponse.md b/sdk/go/docs/DtoServerResponse.md
new file mode 100644
index 0000000..259bd8f
--- /dev/null
+++ b/sdk/go/docs/DtoServerResponse.md
@@ -0,0 +1,316 @@
+# DtoServerResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **string** | | [optional]
+**Hostname** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**OrganizationId** | Pointer to **string** | | [optional]
+**PrivateIpAddress** | Pointer to **string** | | [optional]
+**PublicIpAddress** | Pointer to **string** | | [optional]
+**Role** | Pointer to **string** | | [optional]
+**SshKeyId** | Pointer to **string** | | [optional]
+**SshUser** | Pointer to **string** | | [optional]
+**Status** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoServerResponse
+
+`func NewDtoServerResponse() *DtoServerResponse`
+
+NewDtoServerResponse instantiates a new DtoServerResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoServerResponseWithDefaults
+
+`func NewDtoServerResponseWithDefaults() *DtoServerResponse`
+
+NewDtoServerResponseWithDefaults instantiates a new DtoServerResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *DtoServerResponse) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *DtoServerResponse) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *DtoServerResponse) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *DtoServerResponse) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetHostname
+
+`func (o *DtoServerResponse) GetHostname() string`
+
+GetHostname returns the Hostname field if non-nil, zero value otherwise.
+
+### GetHostnameOk
+
+`func (o *DtoServerResponse) GetHostnameOk() (*string, bool)`
+
+GetHostnameOk returns a tuple with the Hostname field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHostname
+
+`func (o *DtoServerResponse) SetHostname(v string)`
+
+SetHostname sets Hostname field to given value.
+
+### HasHostname
+
+`func (o *DtoServerResponse) HasHostname() bool`
+
+HasHostname returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *DtoServerResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *DtoServerResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *DtoServerResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *DtoServerResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetOrganizationId
+
+`func (o *DtoServerResponse) GetOrganizationId() string`
+
+GetOrganizationId returns the OrganizationId field if non-nil, zero value otherwise.
+
+### GetOrganizationIdOk
+
+`func (o *DtoServerResponse) GetOrganizationIdOk() (*string, bool)`
+
+GetOrganizationIdOk returns a tuple with the OrganizationId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrganizationId
+
+`func (o *DtoServerResponse) SetOrganizationId(v string)`
+
+SetOrganizationId sets OrganizationId field to given value.
+
+### HasOrganizationId
+
+`func (o *DtoServerResponse) HasOrganizationId() bool`
+
+HasOrganizationId returns a boolean if a field has been set.
+
+### GetPrivateIpAddress
+
+`func (o *DtoServerResponse) GetPrivateIpAddress() string`
+
+GetPrivateIpAddress returns the PrivateIpAddress field if non-nil, zero value otherwise.
+
+### GetPrivateIpAddressOk
+
+`func (o *DtoServerResponse) GetPrivateIpAddressOk() (*string, bool)`
+
+GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrivateIpAddress
+
+`func (o *DtoServerResponse) SetPrivateIpAddress(v string)`
+
+SetPrivateIpAddress sets PrivateIpAddress field to given value.
+
+### HasPrivateIpAddress
+
+`func (o *DtoServerResponse) HasPrivateIpAddress() bool`
+
+HasPrivateIpAddress returns a boolean if a field has been set.
+
+### GetPublicIpAddress
+
+`func (o *DtoServerResponse) GetPublicIpAddress() string`
+
+GetPublicIpAddress returns the PublicIpAddress field if non-nil, zero value otherwise.
+
+### GetPublicIpAddressOk
+
+`func (o *DtoServerResponse) GetPublicIpAddressOk() (*string, bool)`
+
+GetPublicIpAddressOk returns a tuple with the PublicIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPublicIpAddress
+
+`func (o *DtoServerResponse) SetPublicIpAddress(v string)`
+
+SetPublicIpAddress sets PublicIpAddress field to given value.
+
+### HasPublicIpAddress
+
+`func (o *DtoServerResponse) HasPublicIpAddress() bool`
+
+HasPublicIpAddress returns a boolean if a field has been set.
+
+### GetRole
+
+`func (o *DtoServerResponse) GetRole() string`
+
+GetRole returns the Role field if non-nil, zero value otherwise.
+
+### GetRoleOk
+
+`func (o *DtoServerResponse) GetRoleOk() (*string, bool)`
+
+GetRoleOk returns a tuple with the Role field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRole
+
+`func (o *DtoServerResponse) SetRole(v string)`
+
+SetRole sets Role field to given value.
+
+### HasRole
+
+`func (o *DtoServerResponse) HasRole() bool`
+
+HasRole returns a boolean if a field has been set.
+
+### GetSshKeyId
+
+`func (o *DtoServerResponse) GetSshKeyId() string`
+
+GetSshKeyId returns the SshKeyId field if non-nil, zero value otherwise.
+
+### GetSshKeyIdOk
+
+`func (o *DtoServerResponse) GetSshKeyIdOk() (*string, bool)`
+
+GetSshKeyIdOk returns a tuple with the SshKeyId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshKeyId
+
+`func (o *DtoServerResponse) SetSshKeyId(v string)`
+
+SetSshKeyId sets SshKeyId field to given value.
+
+### HasSshKeyId
+
+`func (o *DtoServerResponse) HasSshKeyId() bool`
+
+HasSshKeyId returns a boolean if a field has been set.
+
+### GetSshUser
+
+`func (o *DtoServerResponse) GetSshUser() string`
+
+GetSshUser returns the SshUser field if non-nil, zero value otherwise.
+
+### GetSshUserOk
+
+`func (o *DtoServerResponse) GetSshUserOk() (*string, bool)`
+
+GetSshUserOk returns a tuple with the SshUser field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshUser
+
+`func (o *DtoServerResponse) SetSshUser(v string)`
+
+SetSshUser sets SshUser field to given value.
+
+### HasSshUser
+
+`func (o *DtoServerResponse) HasSshUser() bool`
+
+HasSshUser returns a boolean if a field has been set.
+
+### GetStatus
+
+`func (o *DtoServerResponse) GetStatus() string`
+
+GetStatus returns the Status field if non-nil, zero value otherwise.
+
+### GetStatusOk
+
+`func (o *DtoServerResponse) GetStatusOk() (*string, bool)`
+
+GetStatusOk returns a tuple with the Status field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStatus
+
+`func (o *DtoServerResponse) SetStatus(v string)`
+
+SetStatus sets Status field to given value.
+
+### HasStatus
+
+`func (o *DtoServerResponse) HasStatus() bool`
+
+HasStatus returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *DtoServerResponse) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *DtoServerResponse) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *DtoServerResponse) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *DtoServerResponse) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoSshResponse.md b/sdk/go/docs/DtoSshResponse.md
new file mode 100644
index 0000000..5ae8b88
--- /dev/null
+++ b/sdk/go/docs/DtoSshResponse.md
@@ -0,0 +1,212 @@
+# DtoSshResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **string** | | [optional]
+**Fingerprint** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**OrganizationId** | Pointer to **string** | | [optional]
+**PublicKey** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoSshResponse
+
+`func NewDtoSshResponse() *DtoSshResponse`
+
+NewDtoSshResponse instantiates a new DtoSshResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoSshResponseWithDefaults
+
+`func NewDtoSshResponseWithDefaults() *DtoSshResponse`
+
+NewDtoSshResponseWithDefaults instantiates a new DtoSshResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *DtoSshResponse) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *DtoSshResponse) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *DtoSshResponse) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *DtoSshResponse) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetFingerprint
+
+`func (o *DtoSshResponse) GetFingerprint() string`
+
+GetFingerprint returns the Fingerprint field if non-nil, zero value otherwise.
+
+### GetFingerprintOk
+
+`func (o *DtoSshResponse) GetFingerprintOk() (*string, bool)`
+
+GetFingerprintOk returns a tuple with the Fingerprint field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFingerprint
+
+`func (o *DtoSshResponse) SetFingerprint(v string)`
+
+SetFingerprint sets Fingerprint field to given value.
+
+### HasFingerprint
+
+`func (o *DtoSshResponse) HasFingerprint() bool`
+
+HasFingerprint returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *DtoSshResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *DtoSshResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *DtoSshResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *DtoSshResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *DtoSshResponse) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *DtoSshResponse) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *DtoSshResponse) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *DtoSshResponse) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetOrganizationId
+
+`func (o *DtoSshResponse) GetOrganizationId() string`
+
+GetOrganizationId returns the OrganizationId field if non-nil, zero value otherwise.
+
+### GetOrganizationIdOk
+
+`func (o *DtoSshResponse) GetOrganizationIdOk() (*string, bool)`
+
+GetOrganizationIdOk returns a tuple with the OrganizationId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrganizationId
+
+`func (o *DtoSshResponse) SetOrganizationId(v string)`
+
+SetOrganizationId sets OrganizationId field to given value.
+
+### HasOrganizationId
+
+`func (o *DtoSshResponse) HasOrganizationId() bool`
+
+HasOrganizationId returns a boolean if a field has been set.
+
+### GetPublicKey
+
+`func (o *DtoSshResponse) GetPublicKey() string`
+
+GetPublicKey returns the PublicKey field if non-nil, zero value otherwise.
+
+### GetPublicKeyOk
+
+`func (o *DtoSshResponse) GetPublicKeyOk() (*string, bool)`
+
+GetPublicKeyOk returns a tuple with the PublicKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPublicKey
+
+`func (o *DtoSshResponse) SetPublicKey(v string)`
+
+SetPublicKey sets PublicKey field to given value.
+
+### HasPublicKey
+
+`func (o *DtoSshResponse) HasPublicKey() bool`
+
+HasPublicKey returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *DtoSshResponse) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *DtoSshResponse) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *DtoSshResponse) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *DtoSshResponse) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoSshRevealResponse.md b/sdk/go/docs/DtoSshRevealResponse.md
new file mode 100644
index 0000000..9a196c4
--- /dev/null
+++ b/sdk/go/docs/DtoSshRevealResponse.md
@@ -0,0 +1,238 @@
+# DtoSshRevealResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **string** | | [optional]
+**Fingerprint** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**OrganizationId** | Pointer to **string** | | [optional]
+**PrivateKey** | Pointer to **string** | | [optional]
+**PublicKey** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoSshRevealResponse
+
+`func NewDtoSshRevealResponse() *DtoSshRevealResponse`
+
+NewDtoSshRevealResponse instantiates a new DtoSshRevealResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoSshRevealResponseWithDefaults
+
+`func NewDtoSshRevealResponseWithDefaults() *DtoSshRevealResponse`
+
+NewDtoSshRevealResponseWithDefaults instantiates a new DtoSshRevealResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *DtoSshRevealResponse) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *DtoSshRevealResponse) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *DtoSshRevealResponse) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *DtoSshRevealResponse) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetFingerprint
+
+`func (o *DtoSshRevealResponse) GetFingerprint() string`
+
+GetFingerprint returns the Fingerprint field if non-nil, zero value otherwise.
+
+### GetFingerprintOk
+
+`func (o *DtoSshRevealResponse) GetFingerprintOk() (*string, bool)`
+
+GetFingerprintOk returns a tuple with the Fingerprint field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetFingerprint
+
+`func (o *DtoSshRevealResponse) SetFingerprint(v string)`
+
+SetFingerprint sets Fingerprint field to given value.
+
+### HasFingerprint
+
+`func (o *DtoSshRevealResponse) HasFingerprint() bool`
+
+HasFingerprint returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *DtoSshRevealResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *DtoSshRevealResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *DtoSshRevealResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *DtoSshRevealResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *DtoSshRevealResponse) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *DtoSshRevealResponse) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *DtoSshRevealResponse) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *DtoSshRevealResponse) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetOrganizationId
+
+`func (o *DtoSshRevealResponse) GetOrganizationId() string`
+
+GetOrganizationId returns the OrganizationId field if non-nil, zero value otherwise.
+
+### GetOrganizationIdOk
+
+`func (o *DtoSshRevealResponse) GetOrganizationIdOk() (*string, bool)`
+
+GetOrganizationIdOk returns a tuple with the OrganizationId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrganizationId
+
+`func (o *DtoSshRevealResponse) SetOrganizationId(v string)`
+
+SetOrganizationId sets OrganizationId field to given value.
+
+### HasOrganizationId
+
+`func (o *DtoSshRevealResponse) HasOrganizationId() bool`
+
+HasOrganizationId returns a boolean if a field has been set.
+
+### GetPrivateKey
+
+`func (o *DtoSshRevealResponse) GetPrivateKey() string`
+
+GetPrivateKey returns the PrivateKey field if non-nil, zero value otherwise.
+
+### GetPrivateKeyOk
+
+`func (o *DtoSshRevealResponse) GetPrivateKeyOk() (*string, bool)`
+
+GetPrivateKeyOk returns a tuple with the PrivateKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrivateKey
+
+`func (o *DtoSshRevealResponse) SetPrivateKey(v string)`
+
+SetPrivateKey sets PrivateKey field to given value.
+
+### HasPrivateKey
+
+`func (o *DtoSshRevealResponse) HasPrivateKey() bool`
+
+HasPrivateKey returns a boolean if a field has been set.
+
+### GetPublicKey
+
+`func (o *DtoSshRevealResponse) GetPublicKey() string`
+
+GetPublicKey returns the PublicKey field if non-nil, zero value otherwise.
+
+### GetPublicKeyOk
+
+`func (o *DtoSshRevealResponse) GetPublicKeyOk() (*string, bool)`
+
+GetPublicKeyOk returns a tuple with the PublicKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPublicKey
+
+`func (o *DtoSshRevealResponse) SetPublicKey(v string)`
+
+SetPublicKey sets PublicKey field to given value.
+
+### HasPublicKey
+
+`func (o *DtoSshRevealResponse) HasPublicKey() bool`
+
+HasPublicKey returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *DtoSshRevealResponse) GetUpdatedAt() string`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *DtoSshRevealResponse) GetUpdatedAtOk() (*string, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *DtoSshRevealResponse) SetUpdatedAt(v string)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *DtoSshRevealResponse) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoTaintResponse.md b/sdk/go/docs/DtoTaintResponse.md
new file mode 100644
index 0000000..172857a
--- /dev/null
+++ b/sdk/go/docs/DtoTaintResponse.md
@@ -0,0 +1,134 @@
+# DtoTaintResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Effect** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoTaintResponse
+
+`func NewDtoTaintResponse() *DtoTaintResponse`
+
+NewDtoTaintResponse instantiates a new DtoTaintResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoTaintResponseWithDefaults
+
+`func NewDtoTaintResponseWithDefaults() *DtoTaintResponse`
+
+NewDtoTaintResponseWithDefaults instantiates a new DtoTaintResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEffect
+
+`func (o *DtoTaintResponse) GetEffect() string`
+
+GetEffect returns the Effect field if non-nil, zero value otherwise.
+
+### GetEffectOk
+
+`func (o *DtoTaintResponse) GetEffectOk() (*string, bool)`
+
+GetEffectOk returns a tuple with the Effect field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEffect
+
+`func (o *DtoTaintResponse) SetEffect(v string)`
+
+SetEffect sets Effect field to given value.
+
+### HasEffect
+
+`func (o *DtoTaintResponse) HasEffect() bool`
+
+HasEffect returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *DtoTaintResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *DtoTaintResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *DtoTaintResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *DtoTaintResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetKey
+
+`func (o *DtoTaintResponse) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoTaintResponse) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoTaintResponse) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoTaintResponse) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoTaintResponse) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoTaintResponse) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoTaintResponse) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoTaintResponse) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoTokenPair.md b/sdk/go/docs/DtoTokenPair.md
new file mode 100644
index 0000000..4325a37
--- /dev/null
+++ b/sdk/go/docs/DtoTokenPair.md
@@ -0,0 +1,134 @@
+# DtoTokenPair
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AccessToken** | Pointer to **string** | | [optional]
+**ExpiresIn** | Pointer to **int32** | | [optional]
+**RefreshToken** | Pointer to **string** | | [optional]
+**TokenType** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoTokenPair
+
+`func NewDtoTokenPair() *DtoTokenPair`
+
+NewDtoTokenPair instantiates a new DtoTokenPair object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoTokenPairWithDefaults
+
+`func NewDtoTokenPairWithDefaults() *DtoTokenPair`
+
+NewDtoTokenPairWithDefaults instantiates a new DtoTokenPair object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetAccessToken
+
+`func (o *DtoTokenPair) GetAccessToken() string`
+
+GetAccessToken returns the AccessToken field if non-nil, zero value otherwise.
+
+### GetAccessTokenOk
+
+`func (o *DtoTokenPair) GetAccessTokenOk() (*string, bool)`
+
+GetAccessTokenOk returns a tuple with the AccessToken field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAccessToken
+
+`func (o *DtoTokenPair) SetAccessToken(v string)`
+
+SetAccessToken sets AccessToken field to given value.
+
+### HasAccessToken
+
+`func (o *DtoTokenPair) HasAccessToken() bool`
+
+HasAccessToken returns a boolean if a field has been set.
+
+### GetExpiresIn
+
+`func (o *DtoTokenPair) GetExpiresIn() int32`
+
+GetExpiresIn returns the ExpiresIn field if non-nil, zero value otherwise.
+
+### GetExpiresInOk
+
+`func (o *DtoTokenPair) GetExpiresInOk() (*int32, bool)`
+
+GetExpiresInOk returns a tuple with the ExpiresIn field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresIn
+
+`func (o *DtoTokenPair) SetExpiresIn(v int32)`
+
+SetExpiresIn sets ExpiresIn field to given value.
+
+### HasExpiresIn
+
+`func (o *DtoTokenPair) HasExpiresIn() bool`
+
+HasExpiresIn returns a boolean if a field has been set.
+
+### GetRefreshToken
+
+`func (o *DtoTokenPair) GetRefreshToken() string`
+
+GetRefreshToken returns the RefreshToken field if non-nil, zero value otherwise.
+
+### GetRefreshTokenOk
+
+`func (o *DtoTokenPair) GetRefreshTokenOk() (*string, bool)`
+
+GetRefreshTokenOk returns a tuple with the RefreshToken field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRefreshToken
+
+`func (o *DtoTokenPair) SetRefreshToken(v string)`
+
+SetRefreshToken sets RefreshToken field to given value.
+
+### HasRefreshToken
+
+`func (o *DtoTokenPair) HasRefreshToken() bool`
+
+HasRefreshToken returns a boolean if a field has been set.
+
+### GetTokenType
+
+`func (o *DtoTokenPair) GetTokenType() string`
+
+GetTokenType returns the TokenType field if non-nil, zero value otherwise.
+
+### GetTokenTypeOk
+
+`func (o *DtoTokenPair) GetTokenTypeOk() (*string, bool)`
+
+GetTokenTypeOk returns a tuple with the TokenType field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetTokenType
+
+`func (o *DtoTokenPair) SetTokenType(v string)`
+
+SetTokenType sets TokenType field to given value.
+
+### HasTokenType
+
+`func (o *DtoTokenPair) HasTokenType() bool`
+
+HasTokenType returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoUpdateLabelRequest.md b/sdk/go/docs/DtoUpdateLabelRequest.md
new file mode 100644
index 0000000..a32d3c7
--- /dev/null
+++ b/sdk/go/docs/DtoUpdateLabelRequest.md
@@ -0,0 +1,82 @@
+# DtoUpdateLabelRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoUpdateLabelRequest
+
+`func NewDtoUpdateLabelRequest() *DtoUpdateLabelRequest`
+
+NewDtoUpdateLabelRequest instantiates a new DtoUpdateLabelRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoUpdateLabelRequestWithDefaults
+
+`func NewDtoUpdateLabelRequestWithDefaults() *DtoUpdateLabelRequest`
+
+NewDtoUpdateLabelRequestWithDefaults instantiates a new DtoUpdateLabelRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetKey
+
+`func (o *DtoUpdateLabelRequest) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoUpdateLabelRequest) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoUpdateLabelRequest) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoUpdateLabelRequest) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoUpdateLabelRequest) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoUpdateLabelRequest) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoUpdateLabelRequest) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoUpdateLabelRequest) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoUpdateServerRequest.md b/sdk/go/docs/DtoUpdateServerRequest.md
new file mode 100644
index 0000000..3fc17b7
--- /dev/null
+++ b/sdk/go/docs/DtoUpdateServerRequest.md
@@ -0,0 +1,212 @@
+# DtoUpdateServerRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Hostname** | Pointer to **string** | | [optional]
+**PrivateIpAddress** | Pointer to **string** | | [optional]
+**PublicIpAddress** | Pointer to **string** | | [optional]
+**Role** | Pointer to **string** | | [optional]
+**SshKeyId** | Pointer to **string** | | [optional]
+**SshUser** | Pointer to **string** | | [optional]
+**Status** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoUpdateServerRequest
+
+`func NewDtoUpdateServerRequest() *DtoUpdateServerRequest`
+
+NewDtoUpdateServerRequest instantiates a new DtoUpdateServerRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoUpdateServerRequestWithDefaults
+
+`func NewDtoUpdateServerRequestWithDefaults() *DtoUpdateServerRequest`
+
+NewDtoUpdateServerRequestWithDefaults instantiates a new DtoUpdateServerRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetHostname
+
+`func (o *DtoUpdateServerRequest) GetHostname() string`
+
+GetHostname returns the Hostname field if non-nil, zero value otherwise.
+
+### GetHostnameOk
+
+`func (o *DtoUpdateServerRequest) GetHostnameOk() (*string, bool)`
+
+GetHostnameOk returns a tuple with the Hostname field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetHostname
+
+`func (o *DtoUpdateServerRequest) SetHostname(v string)`
+
+SetHostname sets Hostname field to given value.
+
+### HasHostname
+
+`func (o *DtoUpdateServerRequest) HasHostname() bool`
+
+HasHostname returns a boolean if a field has been set.
+
+### GetPrivateIpAddress
+
+`func (o *DtoUpdateServerRequest) GetPrivateIpAddress() string`
+
+GetPrivateIpAddress returns the PrivateIpAddress field if non-nil, zero value otherwise.
+
+### GetPrivateIpAddressOk
+
+`func (o *DtoUpdateServerRequest) GetPrivateIpAddressOk() (*string, bool)`
+
+GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrivateIpAddress
+
+`func (o *DtoUpdateServerRequest) SetPrivateIpAddress(v string)`
+
+SetPrivateIpAddress sets PrivateIpAddress field to given value.
+
+### HasPrivateIpAddress
+
+`func (o *DtoUpdateServerRequest) HasPrivateIpAddress() bool`
+
+HasPrivateIpAddress returns a boolean if a field has been set.
+
+### GetPublicIpAddress
+
+`func (o *DtoUpdateServerRequest) GetPublicIpAddress() string`
+
+GetPublicIpAddress returns the PublicIpAddress field if non-nil, zero value otherwise.
+
+### GetPublicIpAddressOk
+
+`func (o *DtoUpdateServerRequest) GetPublicIpAddressOk() (*string, bool)`
+
+GetPublicIpAddressOk returns a tuple with the PublicIpAddress field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPublicIpAddress
+
+`func (o *DtoUpdateServerRequest) SetPublicIpAddress(v string)`
+
+SetPublicIpAddress sets PublicIpAddress field to given value.
+
+### HasPublicIpAddress
+
+`func (o *DtoUpdateServerRequest) HasPublicIpAddress() bool`
+
+HasPublicIpAddress returns a boolean if a field has been set.
+
+### GetRole
+
+`func (o *DtoUpdateServerRequest) GetRole() string`
+
+GetRole returns the Role field if non-nil, zero value otherwise.
+
+### GetRoleOk
+
+`func (o *DtoUpdateServerRequest) GetRoleOk() (*string, bool)`
+
+GetRoleOk returns a tuple with the Role field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRole
+
+`func (o *DtoUpdateServerRequest) SetRole(v string)`
+
+SetRole sets Role field to given value.
+
+### HasRole
+
+`func (o *DtoUpdateServerRequest) HasRole() bool`
+
+HasRole returns a boolean if a field has been set.
+
+### GetSshKeyId
+
+`func (o *DtoUpdateServerRequest) GetSshKeyId() string`
+
+GetSshKeyId returns the SshKeyId field if non-nil, zero value otherwise.
+
+### GetSshKeyIdOk
+
+`func (o *DtoUpdateServerRequest) GetSshKeyIdOk() (*string, bool)`
+
+GetSshKeyIdOk returns a tuple with the SshKeyId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshKeyId
+
+`func (o *DtoUpdateServerRequest) SetSshKeyId(v string)`
+
+SetSshKeyId sets SshKeyId field to given value.
+
+### HasSshKeyId
+
+`func (o *DtoUpdateServerRequest) HasSshKeyId() bool`
+
+HasSshKeyId returns a boolean if a field has been set.
+
+### GetSshUser
+
+`func (o *DtoUpdateServerRequest) GetSshUser() string`
+
+GetSshUser returns the SshUser field if non-nil, zero value otherwise.
+
+### GetSshUserOk
+
+`func (o *DtoUpdateServerRequest) GetSshUserOk() (*string, bool)`
+
+GetSshUserOk returns a tuple with the SshUser field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetSshUser
+
+`func (o *DtoUpdateServerRequest) SetSshUser(v string)`
+
+SetSshUser sets SshUser field to given value.
+
+### HasSshUser
+
+`func (o *DtoUpdateServerRequest) HasSshUser() bool`
+
+HasSshUser returns a boolean if a field has been set.
+
+### GetStatus
+
+`func (o *DtoUpdateServerRequest) GetStatus() string`
+
+GetStatus returns the Status field if non-nil, zero value otherwise.
+
+### GetStatusOk
+
+`func (o *DtoUpdateServerRequest) GetStatusOk() (*string, bool)`
+
+GetStatusOk returns a tuple with the Status field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetStatus
+
+`func (o *DtoUpdateServerRequest) SetStatus(v string)`
+
+SetStatus sets Status field to given value.
+
+### HasStatus
+
+`func (o *DtoUpdateServerRequest) HasStatus() bool`
+
+HasStatus returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/DtoUpdateTaintRequest.md b/sdk/go/docs/DtoUpdateTaintRequest.md
new file mode 100644
index 0000000..e726d23
--- /dev/null
+++ b/sdk/go/docs/DtoUpdateTaintRequest.md
@@ -0,0 +1,108 @@
+# DtoUpdateTaintRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Effect** | Pointer to **string** | | [optional]
+**Key** | Pointer to **string** | | [optional]
+**Value** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewDtoUpdateTaintRequest
+
+`func NewDtoUpdateTaintRequest() *DtoUpdateTaintRequest`
+
+NewDtoUpdateTaintRequest instantiates a new DtoUpdateTaintRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewDtoUpdateTaintRequestWithDefaults
+
+`func NewDtoUpdateTaintRequestWithDefaults() *DtoUpdateTaintRequest`
+
+NewDtoUpdateTaintRequestWithDefaults instantiates a new DtoUpdateTaintRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEffect
+
+`func (o *DtoUpdateTaintRequest) GetEffect() string`
+
+GetEffect returns the Effect field if non-nil, zero value otherwise.
+
+### GetEffectOk
+
+`func (o *DtoUpdateTaintRequest) GetEffectOk() (*string, bool)`
+
+GetEffectOk returns a tuple with the Effect field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEffect
+
+`func (o *DtoUpdateTaintRequest) SetEffect(v string)`
+
+SetEffect sets Effect field to given value.
+
+### HasEffect
+
+`func (o *DtoUpdateTaintRequest) HasEffect() bool`
+
+HasEffect returns a boolean if a field has been set.
+
+### GetKey
+
+`func (o *DtoUpdateTaintRequest) GetKey() string`
+
+GetKey returns the Key field if non-nil, zero value otherwise.
+
+### GetKeyOk
+
+`func (o *DtoUpdateTaintRequest) GetKeyOk() (*string, bool)`
+
+GetKeyOk returns a tuple with the Key field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetKey
+
+`func (o *DtoUpdateTaintRequest) SetKey(v string)`
+
+SetKey sets Key field to given value.
+
+### HasKey
+
+`func (o *DtoUpdateTaintRequest) HasKey() bool`
+
+HasKey returns a boolean if a field has been set.
+
+### GetValue
+
+`func (o *DtoUpdateTaintRequest) GetValue() string`
+
+GetValue returns the Value field if non-nil, zero value otherwise.
+
+### GetValueOk
+
+`func (o *DtoUpdateTaintRequest) GetValueOk() (*string, bool)`
+
+GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetValue
+
+`func (o *DtoUpdateTaintRequest) SetValue(v string)`
+
+SetValue sets Value field to given value.
+
+### HasValue
+
+`func (o *DtoUpdateTaintRequest) HasValue() bool`
+
+HasValue returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersCreateUserKeyRequest.md b/sdk/go/docs/HandlersCreateUserKeyRequest.md
new file mode 100644
index 0000000..0564e49
--- /dev/null
+++ b/sdk/go/docs/HandlersCreateUserKeyRequest.md
@@ -0,0 +1,82 @@
+# HandlersCreateUserKeyRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ExpiresInHours** | Pointer to **int32** | optional TTL | [optional]
+**Name** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersCreateUserKeyRequest
+
+`func NewHandlersCreateUserKeyRequest() *HandlersCreateUserKeyRequest`
+
+NewHandlersCreateUserKeyRequest instantiates a new HandlersCreateUserKeyRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersCreateUserKeyRequestWithDefaults
+
+`func NewHandlersCreateUserKeyRequestWithDefaults() *HandlersCreateUserKeyRequest`
+
+NewHandlersCreateUserKeyRequestWithDefaults instantiates a new HandlersCreateUserKeyRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetExpiresInHours
+
+`func (o *HandlersCreateUserKeyRequest) GetExpiresInHours() int32`
+
+GetExpiresInHours returns the ExpiresInHours field if non-nil, zero value otherwise.
+
+### GetExpiresInHoursOk
+
+`func (o *HandlersCreateUserKeyRequest) GetExpiresInHoursOk() (*int32, bool)`
+
+GetExpiresInHoursOk returns a tuple with the ExpiresInHours field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresInHours
+
+`func (o *HandlersCreateUserKeyRequest) SetExpiresInHours(v int32)`
+
+SetExpiresInHours sets ExpiresInHours field to given value.
+
+### HasExpiresInHours
+
+`func (o *HandlersCreateUserKeyRequest) HasExpiresInHours() bool`
+
+HasExpiresInHours returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersCreateUserKeyRequest) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersCreateUserKeyRequest) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersCreateUserKeyRequest) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersCreateUserKeyRequest) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersMeResponse.md b/sdk/go/docs/HandlersMeResponse.md
new file mode 100644
index 0000000..e80293b
--- /dev/null
+++ b/sdk/go/docs/HandlersMeResponse.md
@@ -0,0 +1,264 @@
+# HandlersMeResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AvatarUrl** | Pointer to **string** | | [optional]
+**CreatedAt** | Pointer to **time.Time** | | [optional]
+**DisplayName** | Pointer to **string** | | [optional]
+**Emails** | Pointer to [**[]ModelsUserEmail**](ModelsUserEmail.md) | | [optional]
+**Id** | Pointer to **string** | example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 | [optional]
+**IsDisabled** | Pointer to **bool** | | [optional]
+**Organizations** | Pointer to [**[]ModelsOrganization**](ModelsOrganization.md) | | [optional]
+**PrimaryEmail** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **time.Time** | | [optional]
+
+## Methods
+
+### NewHandlersMeResponse
+
+`func NewHandlersMeResponse() *HandlersMeResponse`
+
+NewHandlersMeResponse instantiates a new HandlersMeResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersMeResponseWithDefaults
+
+`func NewHandlersMeResponseWithDefaults() *HandlersMeResponse`
+
+NewHandlersMeResponseWithDefaults instantiates a new HandlersMeResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetAvatarUrl
+
+`func (o *HandlersMeResponse) GetAvatarUrl() string`
+
+GetAvatarUrl returns the AvatarUrl field if non-nil, zero value otherwise.
+
+### GetAvatarUrlOk
+
+`func (o *HandlersMeResponse) GetAvatarUrlOk() (*string, bool)`
+
+GetAvatarUrlOk returns a tuple with the AvatarUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAvatarUrl
+
+`func (o *HandlersMeResponse) SetAvatarUrl(v string)`
+
+SetAvatarUrl sets AvatarUrl field to given value.
+
+### HasAvatarUrl
+
+`func (o *HandlersMeResponse) HasAvatarUrl() bool`
+
+HasAvatarUrl returns a boolean if a field has been set.
+
+### GetCreatedAt
+
+`func (o *HandlersMeResponse) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *HandlersMeResponse) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *HandlersMeResponse) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *HandlersMeResponse) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetDisplayName
+
+`func (o *HandlersMeResponse) GetDisplayName() string`
+
+GetDisplayName returns the DisplayName field if non-nil, zero value otherwise.
+
+### GetDisplayNameOk
+
+`func (o *HandlersMeResponse) GetDisplayNameOk() (*string, bool)`
+
+GetDisplayNameOk returns a tuple with the DisplayName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDisplayName
+
+`func (o *HandlersMeResponse) SetDisplayName(v string)`
+
+SetDisplayName sets DisplayName field to given value.
+
+### HasDisplayName
+
+`func (o *HandlersMeResponse) HasDisplayName() bool`
+
+HasDisplayName returns a boolean if a field has been set.
+
+### GetEmails
+
+`func (o *HandlersMeResponse) GetEmails() []ModelsUserEmail`
+
+GetEmails returns the Emails field if non-nil, zero value otherwise.
+
+### GetEmailsOk
+
+`func (o *HandlersMeResponse) GetEmailsOk() (*[]ModelsUserEmail, bool)`
+
+GetEmailsOk returns a tuple with the Emails field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmails
+
+`func (o *HandlersMeResponse) SetEmails(v []ModelsUserEmail)`
+
+SetEmails sets Emails field to given value.
+
+### HasEmails
+
+`func (o *HandlersMeResponse) HasEmails() bool`
+
+HasEmails returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *HandlersMeResponse) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *HandlersMeResponse) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *HandlersMeResponse) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *HandlersMeResponse) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetIsDisabled
+
+`func (o *HandlersMeResponse) GetIsDisabled() bool`
+
+GetIsDisabled returns the IsDisabled field if non-nil, zero value otherwise.
+
+### GetIsDisabledOk
+
+`func (o *HandlersMeResponse) GetIsDisabledOk() (*bool, bool)`
+
+GetIsDisabledOk returns a tuple with the IsDisabled field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsDisabled
+
+`func (o *HandlersMeResponse) SetIsDisabled(v bool)`
+
+SetIsDisabled sets IsDisabled field to given value.
+
+### HasIsDisabled
+
+`func (o *HandlersMeResponse) HasIsDisabled() bool`
+
+HasIsDisabled returns a boolean if a field has been set.
+
+### GetOrganizations
+
+`func (o *HandlersMeResponse) GetOrganizations() []ModelsOrganization`
+
+GetOrganizations returns the Organizations field if non-nil, zero value otherwise.
+
+### GetOrganizationsOk
+
+`func (o *HandlersMeResponse) GetOrganizationsOk() (*[]ModelsOrganization, bool)`
+
+GetOrganizationsOk returns a tuple with the Organizations field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrganizations
+
+`func (o *HandlersMeResponse) SetOrganizations(v []ModelsOrganization)`
+
+SetOrganizations sets Organizations field to given value.
+
+### HasOrganizations
+
+`func (o *HandlersMeResponse) HasOrganizations() bool`
+
+HasOrganizations returns a boolean if a field has been set.
+
+### GetPrimaryEmail
+
+`func (o *HandlersMeResponse) GetPrimaryEmail() string`
+
+GetPrimaryEmail returns the PrimaryEmail field if non-nil, zero value otherwise.
+
+### GetPrimaryEmailOk
+
+`func (o *HandlersMeResponse) GetPrimaryEmailOk() (*string, bool)`
+
+GetPrimaryEmailOk returns a tuple with the PrimaryEmail field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrimaryEmail
+
+`func (o *HandlersMeResponse) SetPrimaryEmail(v string)`
+
+SetPrimaryEmail sets PrimaryEmail field to given value.
+
+### HasPrimaryEmail
+
+`func (o *HandlersMeResponse) HasPrimaryEmail() bool`
+
+HasPrimaryEmail returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *HandlersMeResponse) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *HandlersMeResponse) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *HandlersMeResponse) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *HandlersMeResponse) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersMemberOut.md b/sdk/go/docs/HandlersMemberOut.md
new file mode 100644
index 0000000..a865676
--- /dev/null
+++ b/sdk/go/docs/HandlersMemberOut.md
@@ -0,0 +1,108 @@
+# HandlersMemberOut
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Email** | Pointer to **string** | | [optional]
+**Role** | Pointer to **string** | owner/admin/member | [optional]
+**UserId** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersMemberOut
+
+`func NewHandlersMemberOut() *HandlersMemberOut`
+
+NewHandlersMemberOut instantiates a new HandlersMemberOut object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersMemberOutWithDefaults
+
+`func NewHandlersMemberOutWithDefaults() *HandlersMemberOut`
+
+NewHandlersMemberOutWithDefaults instantiates a new HandlersMemberOut object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetEmail
+
+`func (o *HandlersMemberOut) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *HandlersMemberOut) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *HandlersMemberOut) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *HandlersMemberOut) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetRole
+
+`func (o *HandlersMemberOut) GetRole() string`
+
+GetRole returns the Role field if non-nil, zero value otherwise.
+
+### GetRoleOk
+
+`func (o *HandlersMemberOut) GetRoleOk() (*string, bool)`
+
+GetRoleOk returns a tuple with the Role field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRole
+
+`func (o *HandlersMemberOut) SetRole(v string)`
+
+SetRole sets Role field to given value.
+
+### HasRole
+
+`func (o *HandlersMemberOut) HasRole() bool`
+
+HasRole returns a boolean if a field has been set.
+
+### GetUserId
+
+`func (o *HandlersMemberOut) GetUserId() string`
+
+GetUserId returns the UserId field if non-nil, zero value otherwise.
+
+### GetUserIdOk
+
+`func (o *HandlersMemberOut) GetUserIdOk() (*string, bool)`
+
+GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUserId
+
+`func (o *HandlersMemberOut) SetUserId(v string)`
+
+SetUserId sets UserId field to given value.
+
+### HasUserId
+
+`func (o *HandlersMemberOut) HasUserId() bool`
+
+HasUserId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersMemberUpsertReq.md b/sdk/go/docs/HandlersMemberUpsertReq.md
new file mode 100644
index 0000000..c2d9671
--- /dev/null
+++ b/sdk/go/docs/HandlersMemberUpsertReq.md
@@ -0,0 +1,82 @@
+# HandlersMemberUpsertReq
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Role** | Pointer to **string** | | [optional]
+**UserId** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersMemberUpsertReq
+
+`func NewHandlersMemberUpsertReq() *HandlersMemberUpsertReq`
+
+NewHandlersMemberUpsertReq instantiates a new HandlersMemberUpsertReq object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersMemberUpsertReqWithDefaults
+
+`func NewHandlersMemberUpsertReqWithDefaults() *HandlersMemberUpsertReq`
+
+NewHandlersMemberUpsertReqWithDefaults instantiates a new HandlersMemberUpsertReq object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetRole
+
+`func (o *HandlersMemberUpsertReq) GetRole() string`
+
+GetRole returns the Role field if non-nil, zero value otherwise.
+
+### GetRoleOk
+
+`func (o *HandlersMemberUpsertReq) GetRoleOk() (*string, bool)`
+
+GetRoleOk returns a tuple with the Role field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRole
+
+`func (o *HandlersMemberUpsertReq) SetRole(v string)`
+
+SetRole sets Role field to given value.
+
+### HasRole
+
+`func (o *HandlersMemberUpsertReq) HasRole() bool`
+
+HasRole returns a boolean if a field has been set.
+
+### GetUserId
+
+`func (o *HandlersMemberUpsertReq) GetUserId() string`
+
+GetUserId returns the UserId field if non-nil, zero value otherwise.
+
+### GetUserIdOk
+
+`func (o *HandlersMemberUpsertReq) GetUserIdOk() (*string, bool)`
+
+GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUserId
+
+`func (o *HandlersMemberUpsertReq) SetUserId(v string)`
+
+SetUserId sets UserId field to given value.
+
+### HasUserId
+
+`func (o *HandlersMemberUpsertReq) HasUserId() bool`
+
+HasUserId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersOrgCreateReq.md b/sdk/go/docs/HandlersOrgCreateReq.md
new file mode 100644
index 0000000..07eea50
--- /dev/null
+++ b/sdk/go/docs/HandlersOrgCreateReq.md
@@ -0,0 +1,82 @@
+# HandlersOrgCreateReq
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Domain** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersOrgCreateReq
+
+`func NewHandlersOrgCreateReq() *HandlersOrgCreateReq`
+
+NewHandlersOrgCreateReq instantiates a new HandlersOrgCreateReq object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersOrgCreateReqWithDefaults
+
+`func NewHandlersOrgCreateReqWithDefaults() *HandlersOrgCreateReq`
+
+NewHandlersOrgCreateReqWithDefaults instantiates a new HandlersOrgCreateReq object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDomain
+
+`func (o *HandlersOrgCreateReq) GetDomain() string`
+
+GetDomain returns the Domain field if non-nil, zero value otherwise.
+
+### GetDomainOk
+
+`func (o *HandlersOrgCreateReq) GetDomainOk() (*string, bool)`
+
+GetDomainOk returns a tuple with the Domain field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDomain
+
+`func (o *HandlersOrgCreateReq) SetDomain(v string)`
+
+SetDomain sets Domain field to given value.
+
+### HasDomain
+
+`func (o *HandlersOrgCreateReq) HasDomain() bool`
+
+HasDomain returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersOrgCreateReq) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersOrgCreateReq) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersOrgCreateReq) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersOrgCreateReq) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersOrgKeyCreateReq.md b/sdk/go/docs/HandlersOrgKeyCreateReq.md
new file mode 100644
index 0000000..f69d484
--- /dev/null
+++ b/sdk/go/docs/HandlersOrgKeyCreateReq.md
@@ -0,0 +1,82 @@
+# HandlersOrgKeyCreateReq
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ExpiresInHours** | Pointer to **int32** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersOrgKeyCreateReq
+
+`func NewHandlersOrgKeyCreateReq() *HandlersOrgKeyCreateReq`
+
+NewHandlersOrgKeyCreateReq instantiates a new HandlersOrgKeyCreateReq object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersOrgKeyCreateReqWithDefaults
+
+`func NewHandlersOrgKeyCreateReqWithDefaults() *HandlersOrgKeyCreateReq`
+
+NewHandlersOrgKeyCreateReqWithDefaults instantiates a new HandlersOrgKeyCreateReq object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetExpiresInHours
+
+`func (o *HandlersOrgKeyCreateReq) GetExpiresInHours() int32`
+
+GetExpiresInHours returns the ExpiresInHours field if non-nil, zero value otherwise.
+
+### GetExpiresInHoursOk
+
+`func (o *HandlersOrgKeyCreateReq) GetExpiresInHoursOk() (*int32, bool)`
+
+GetExpiresInHoursOk returns a tuple with the ExpiresInHours field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresInHours
+
+`func (o *HandlersOrgKeyCreateReq) SetExpiresInHours(v int32)`
+
+SetExpiresInHours sets ExpiresInHours field to given value.
+
+### HasExpiresInHours
+
+`func (o *HandlersOrgKeyCreateReq) HasExpiresInHours() bool`
+
+HasExpiresInHours returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersOrgKeyCreateReq) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersOrgKeyCreateReq) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersOrgKeyCreateReq) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersOrgKeyCreateReq) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersOrgKeyCreateResp.md b/sdk/go/docs/HandlersOrgKeyCreateResp.md
new file mode 100644
index 0000000..aa0fb3c
--- /dev/null
+++ b/sdk/go/docs/HandlersOrgKeyCreateResp.md
@@ -0,0 +1,212 @@
+# HandlersOrgKeyCreateResp
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **string** | | [optional]
+**ExpiresAt** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**OrgKey** | Pointer to **string** | shown once: | [optional]
+**OrgSecret** | Pointer to **string** | shown once: | [optional]
+**Scope** | Pointer to **string** | \"org\" | [optional]
+
+## Methods
+
+### NewHandlersOrgKeyCreateResp
+
+`func NewHandlersOrgKeyCreateResp() *HandlersOrgKeyCreateResp`
+
+NewHandlersOrgKeyCreateResp instantiates a new HandlersOrgKeyCreateResp object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersOrgKeyCreateRespWithDefaults
+
+`func NewHandlersOrgKeyCreateRespWithDefaults() *HandlersOrgKeyCreateResp`
+
+NewHandlersOrgKeyCreateRespWithDefaults instantiates a new HandlersOrgKeyCreateResp object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *HandlersOrgKeyCreateResp) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *HandlersOrgKeyCreateResp) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *HandlersOrgKeyCreateResp) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *HandlersOrgKeyCreateResp) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetExpiresAt
+
+`func (o *HandlersOrgKeyCreateResp) GetExpiresAt() string`
+
+GetExpiresAt returns the ExpiresAt field if non-nil, zero value otherwise.
+
+### GetExpiresAtOk
+
+`func (o *HandlersOrgKeyCreateResp) GetExpiresAtOk() (*string, bool)`
+
+GetExpiresAtOk returns a tuple with the ExpiresAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresAt
+
+`func (o *HandlersOrgKeyCreateResp) SetExpiresAt(v string)`
+
+SetExpiresAt sets ExpiresAt field to given value.
+
+### HasExpiresAt
+
+`func (o *HandlersOrgKeyCreateResp) HasExpiresAt() bool`
+
+HasExpiresAt returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *HandlersOrgKeyCreateResp) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *HandlersOrgKeyCreateResp) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *HandlersOrgKeyCreateResp) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *HandlersOrgKeyCreateResp) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersOrgKeyCreateResp) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersOrgKeyCreateResp) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersOrgKeyCreateResp) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersOrgKeyCreateResp) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetOrgKey
+
+`func (o *HandlersOrgKeyCreateResp) GetOrgKey() string`
+
+GetOrgKey returns the OrgKey field if non-nil, zero value otherwise.
+
+### GetOrgKeyOk
+
+`func (o *HandlersOrgKeyCreateResp) GetOrgKeyOk() (*string, bool)`
+
+GetOrgKeyOk returns a tuple with the OrgKey field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrgKey
+
+`func (o *HandlersOrgKeyCreateResp) SetOrgKey(v string)`
+
+SetOrgKey sets OrgKey field to given value.
+
+### HasOrgKey
+
+`func (o *HandlersOrgKeyCreateResp) HasOrgKey() bool`
+
+HasOrgKey returns a boolean if a field has been set.
+
+### GetOrgSecret
+
+`func (o *HandlersOrgKeyCreateResp) GetOrgSecret() string`
+
+GetOrgSecret returns the OrgSecret field if non-nil, zero value otherwise.
+
+### GetOrgSecretOk
+
+`func (o *HandlersOrgKeyCreateResp) GetOrgSecretOk() (*string, bool)`
+
+GetOrgSecretOk returns a tuple with the OrgSecret field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrgSecret
+
+`func (o *HandlersOrgKeyCreateResp) SetOrgSecret(v string)`
+
+SetOrgSecret sets OrgSecret field to given value.
+
+### HasOrgSecret
+
+`func (o *HandlersOrgKeyCreateResp) HasOrgSecret() bool`
+
+HasOrgSecret returns a boolean if a field has been set.
+
+### GetScope
+
+`func (o *HandlersOrgKeyCreateResp) GetScope() string`
+
+GetScope returns the Scope field if non-nil, zero value otherwise.
+
+### GetScopeOk
+
+`func (o *HandlersOrgKeyCreateResp) GetScopeOk() (*string, bool)`
+
+GetScopeOk returns a tuple with the Scope field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetScope
+
+`func (o *HandlersOrgKeyCreateResp) SetScope(v string)`
+
+SetScope sets Scope field to given value.
+
+### HasScope
+
+`func (o *HandlersOrgKeyCreateResp) HasScope() bool`
+
+HasScope returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersOrgUpdateReq.md b/sdk/go/docs/HandlersOrgUpdateReq.md
new file mode 100644
index 0000000..ff89ace
--- /dev/null
+++ b/sdk/go/docs/HandlersOrgUpdateReq.md
@@ -0,0 +1,82 @@
+# HandlersOrgUpdateReq
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Domain** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersOrgUpdateReq
+
+`func NewHandlersOrgUpdateReq() *HandlersOrgUpdateReq`
+
+NewHandlersOrgUpdateReq instantiates a new HandlersOrgUpdateReq object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersOrgUpdateReqWithDefaults
+
+`func NewHandlersOrgUpdateReqWithDefaults() *HandlersOrgUpdateReq`
+
+NewHandlersOrgUpdateReqWithDefaults instantiates a new HandlersOrgUpdateReq object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDomain
+
+`func (o *HandlersOrgUpdateReq) GetDomain() string`
+
+GetDomain returns the Domain field if non-nil, zero value otherwise.
+
+### GetDomainOk
+
+`func (o *HandlersOrgUpdateReq) GetDomainOk() (*string, bool)`
+
+GetDomainOk returns a tuple with the Domain field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDomain
+
+`func (o *HandlersOrgUpdateReq) SetDomain(v string)`
+
+SetDomain sets Domain field to given value.
+
+### HasDomain
+
+`func (o *HandlersOrgUpdateReq) HasDomain() bool`
+
+HasDomain returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersOrgUpdateReq) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersOrgUpdateReq) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersOrgUpdateReq) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersOrgUpdateReq) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersUpdateMeRequest.md b/sdk/go/docs/HandlersUpdateMeRequest.md
new file mode 100644
index 0000000..eda195e
--- /dev/null
+++ b/sdk/go/docs/HandlersUpdateMeRequest.md
@@ -0,0 +1,56 @@
+# HandlersUpdateMeRequest
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**DisplayName** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewHandlersUpdateMeRequest
+
+`func NewHandlersUpdateMeRequest() *HandlersUpdateMeRequest`
+
+NewHandlersUpdateMeRequest instantiates a new HandlersUpdateMeRequest object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersUpdateMeRequestWithDefaults
+
+`func NewHandlersUpdateMeRequestWithDefaults() *HandlersUpdateMeRequest`
+
+NewHandlersUpdateMeRequestWithDefaults instantiates a new HandlersUpdateMeRequest object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetDisplayName
+
+`func (o *HandlersUpdateMeRequest) GetDisplayName() string`
+
+GetDisplayName returns the DisplayName field if non-nil, zero value otherwise.
+
+### GetDisplayNameOk
+
+`func (o *HandlersUpdateMeRequest) GetDisplayNameOk() (*string, bool)`
+
+GetDisplayNameOk returns a tuple with the DisplayName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDisplayName
+
+`func (o *HandlersUpdateMeRequest) SetDisplayName(v string)`
+
+SetDisplayName sets DisplayName field to given value.
+
+### HasDisplayName
+
+`func (o *HandlersUpdateMeRequest) HasDisplayName() bool`
+
+HasDisplayName returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/HandlersUserAPIKeyOut.md b/sdk/go/docs/HandlersUserAPIKeyOut.md
new file mode 100644
index 0000000..90d3e6f
--- /dev/null
+++ b/sdk/go/docs/HandlersUserAPIKeyOut.md
@@ -0,0 +1,212 @@
+# HandlersUserAPIKeyOut
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **string** | | [optional]
+**ExpiresAt** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**LastUsedAt** | Pointer to **string** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**Plain** | Pointer to **string** | Shown only on create: | [optional]
+**Scope** | Pointer to **string** | \"user\" | [optional]
+
+## Methods
+
+### NewHandlersUserAPIKeyOut
+
+`func NewHandlersUserAPIKeyOut() *HandlersUserAPIKeyOut`
+
+NewHandlersUserAPIKeyOut instantiates a new HandlersUserAPIKeyOut object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewHandlersUserAPIKeyOutWithDefaults
+
+`func NewHandlersUserAPIKeyOutWithDefaults() *HandlersUserAPIKeyOut`
+
+NewHandlersUserAPIKeyOutWithDefaults instantiates a new HandlersUserAPIKeyOut object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *HandlersUserAPIKeyOut) GetCreatedAt() string`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *HandlersUserAPIKeyOut) GetCreatedAtOk() (*string, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *HandlersUserAPIKeyOut) SetCreatedAt(v string)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *HandlersUserAPIKeyOut) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetExpiresAt
+
+`func (o *HandlersUserAPIKeyOut) GetExpiresAt() string`
+
+GetExpiresAt returns the ExpiresAt field if non-nil, zero value otherwise.
+
+### GetExpiresAtOk
+
+`func (o *HandlersUserAPIKeyOut) GetExpiresAtOk() (*string, bool)`
+
+GetExpiresAtOk returns a tuple with the ExpiresAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresAt
+
+`func (o *HandlersUserAPIKeyOut) SetExpiresAt(v string)`
+
+SetExpiresAt sets ExpiresAt field to given value.
+
+### HasExpiresAt
+
+`func (o *HandlersUserAPIKeyOut) HasExpiresAt() bool`
+
+HasExpiresAt returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *HandlersUserAPIKeyOut) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *HandlersUserAPIKeyOut) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *HandlersUserAPIKeyOut) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *HandlersUserAPIKeyOut) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetLastUsedAt
+
+`func (o *HandlersUserAPIKeyOut) GetLastUsedAt() string`
+
+GetLastUsedAt returns the LastUsedAt field if non-nil, zero value otherwise.
+
+### GetLastUsedAtOk
+
+`func (o *HandlersUserAPIKeyOut) GetLastUsedAtOk() (*string, bool)`
+
+GetLastUsedAtOk returns a tuple with the LastUsedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastUsedAt
+
+`func (o *HandlersUserAPIKeyOut) SetLastUsedAt(v string)`
+
+SetLastUsedAt sets LastUsedAt field to given value.
+
+### HasLastUsedAt
+
+`func (o *HandlersUserAPIKeyOut) HasLastUsedAt() bool`
+
+HasLastUsedAt returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *HandlersUserAPIKeyOut) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *HandlersUserAPIKeyOut) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *HandlersUserAPIKeyOut) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *HandlersUserAPIKeyOut) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetPlain
+
+`func (o *HandlersUserAPIKeyOut) GetPlain() string`
+
+GetPlain returns the Plain field if non-nil, zero value otherwise.
+
+### GetPlainOk
+
+`func (o *HandlersUserAPIKeyOut) GetPlainOk() (*string, bool)`
+
+GetPlainOk returns a tuple with the Plain field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPlain
+
+`func (o *HandlersUserAPIKeyOut) SetPlain(v string)`
+
+SetPlain sets Plain field to given value.
+
+### HasPlain
+
+`func (o *HandlersUserAPIKeyOut) HasPlain() bool`
+
+HasPlain returns a boolean if a field has been set.
+
+### GetScope
+
+`func (o *HandlersUserAPIKeyOut) GetScope() string`
+
+GetScope returns the Scope field if non-nil, zero value otherwise.
+
+### GetScopeOk
+
+`func (o *HandlersUserAPIKeyOut) GetScopeOk() (*string, bool)`
+
+GetScopeOk returns a tuple with the Scope field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetScope
+
+`func (o *HandlersUserAPIKeyOut) SetScope(v string)`
+
+SetScope sets Scope field to given value.
+
+### HasScope
+
+`func (o *HandlersUserAPIKeyOut) HasScope() bool`
+
+HasScope returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/LabelsAPI.md b/sdk/go/docs/LabelsAPI.md
new file mode 100644
index 0000000..fc32a9f
--- /dev/null
+++ b/sdk/go/docs/LabelsAPI.md
@@ -0,0 +1,371 @@
+# \LabelsAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Body(body).XOrgID(xOrgID).Execute()
+
+Create label (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoCreateLabelRequest() // DtoCreateLabelRequest | Label payload
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.LabelsAPI.CreateLabel(context.Background()).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `LabelsAPI.CreateLabel``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateLabel`: DtoLabelResponse
+ fmt.Fprintf(os.Stdout, "Response from `LabelsAPI.CreateLabel`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateLabelRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**DtoCreateLabelRequest**](DtoCreateLabelRequest.md) | Label payload |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteLabel
+
+> string DeleteLabel(ctx, id).XOrgID(xOrgID).Execute()
+
+Delete label (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Label ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.LabelsAPI.DeleteLabel(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `LabelsAPI.DeleteLabel``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `DeleteLabel`: string
+ fmt.Fprintf(os.Stdout, "Response from `LabelsAPI.DeleteLabel`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Label ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteLabelRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetLabel
+
+> DtoLabelResponse GetLabel(ctx, id).XOrgID(xOrgID).Execute()
+
+Get label by ID (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Label ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.LabelsAPI.GetLabel(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `LabelsAPI.GetLabel``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetLabel`: DtoLabelResponse
+ fmt.Fprintf(os.Stdout, "Response from `LabelsAPI.GetLabel`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Label ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetLabelRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListLabels
+
+> []DtoLabelResponse ListLabels(ctx).XOrgID(xOrgID).Key(key).Value(value).Q(q).Execute()
+
+List node labels (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+ key := "key_example" // string | Exact key (optional)
+ value := "value_example" // string | Exact value (optional)
+ q := "q_example" // string | Key contains (case-insensitive) (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.LabelsAPI.ListLabels(context.Background()).XOrgID(xOrgID).Key(key).Value(value).Q(q).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `LabelsAPI.ListLabels``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListLabels`: []DtoLabelResponse
+ fmt.Fprintf(os.Stdout, "Response from `LabelsAPI.ListLabels`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListLabelsRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **xOrgID** | **string** | Organization UUID |
+ **key** | **string** | Exact key |
+ **value** | **string** | Exact value |
+ **q** | **string** | Key contains (case-insensitive) |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateLabel
+
+> DtoLabelResponse UpdateLabel(ctx, id).Body(body).XOrgID(xOrgID).Execute()
+
+Update label (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Label ID (UUID)
+ body := *openapiclient.NewDtoUpdateLabelRequest() // DtoUpdateLabelRequest | Fields to update
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.LabelsAPI.UpdateLabel(context.Background(), id).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `LabelsAPI.UpdateLabel``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `UpdateLabel`: DtoLabelResponse
+ fmt.Fprintf(os.Stdout, "Response from `LabelsAPI.UpdateLabel`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Label ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateLabelRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **body** | [**DtoUpdateLabelRequest**](DtoUpdateLabelRequest.md) | Fields to update |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/MeAPI.md b/sdk/go/docs/MeAPI.md
new file mode 100644
index 0000000..645e1cd
--- /dev/null
+++ b/sdk/go/docs/MeAPI.md
@@ -0,0 +1,133 @@
+# \MeAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Execute()
+
+Get current user profile
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.MeAPI.GetMe(context.Background()).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `MeAPI.GetMe``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetMe`: HandlersMeResponse
+ fmt.Fprintf(os.Stdout, "Response from `MeAPI.GetMe`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+This endpoint does not need any parameter.
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetMeRequest struct via the builder pattern
+
+
+### Return type
+
+[**HandlersMeResponse**](HandlersMeResponse.md)
+
+### Authorization
+
+[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateMe
+
+> ModelsUser UpdateMe(ctx).Body(body).Execute()
+
+Update current user profile
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewHandlersUpdateMeRequest() // HandlersUpdateMeRequest | Patch profile
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.MeAPI.UpdateMe(context.Background()).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `MeAPI.UpdateMe``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `UpdateMe`: ModelsUser
+ fmt.Fprintf(os.Stdout, "Response from `MeAPI.UpdateMe`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateMeRequest struct via the builder pattern
+
+
+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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/MeAPIKeysAPI.md b/sdk/go/docs/MeAPIKeysAPI.md
new file mode 100644
index 0000000..d6c4952
--- /dev/null
+++ b/sdk/go/docs/MeAPIKeysAPI.md
@@ -0,0 +1,202 @@
+# \MeAPIKeysAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Body(body).Execute()
+
+Create a new user API key
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewHandlersCreateUserKeyRequest() // HandlersCreateUserKeyRequest | Key options
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.MeAPIKeysAPI.CreateUserAPIKey(context.Background()).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `MeAPIKeysAPI.CreateUserAPIKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateUserAPIKey`: HandlersUserAPIKeyOut
+ fmt.Fprintf(os.Stdout, "Response from `MeAPIKeysAPI.CreateUserAPIKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateUserAPIKeyRequest struct via the builder pattern
+
+
+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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteUserAPIKey
+
+> DeleteUserAPIKey(ctx, id).Execute()
+
+Delete a user API key
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Key ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ r, err := apiClient.MeAPIKeysAPI.DeleteUserAPIKey(context.Background(), id).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `MeAPIKeysAPI.DeleteUserAPIKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Key ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteUserAPIKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+ (empty response body)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: Not defined
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListUserAPIKeys
+
+> []HandlersUserAPIKeyOut ListUserAPIKeys(ctx).Execute()
+
+List my API keys
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.MeAPIKeysAPI.ListUserAPIKeys(context.Background()).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `MeAPIKeysAPI.ListUserAPIKeys``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListUserAPIKeys`: []HandlersUserAPIKeyOut
+ fmt.Fprintf(os.Stdout, "Response from `MeAPIKeysAPI.ListUserAPIKeys`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+This endpoint does not need any parameter.
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListUserAPIKeysRequest struct via the builder pattern
+
+
+### Return type
+
+[**[]HandlersUserAPIKeyOut**](HandlersUserAPIKeyOut.md)
+
+### Authorization
+
+[ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/ModelsAPIKey.md b/sdk/go/docs/ModelsAPIKey.md
new file mode 100644
index 0000000..d5db33e
--- /dev/null
+++ b/sdk/go/docs/ModelsAPIKey.md
@@ -0,0 +1,316 @@
+# ModelsAPIKey
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **time.Time** | | [optional]
+**ExpiresAt** | Pointer to **time.Time** | | [optional]
+**Id** | Pointer to **string** | | [optional]
+**LastUsedAt** | Pointer to **time.Time** | | [optional]
+**Name** | Pointer to **string** | | [optional]
+**OrgId** | Pointer to **string** | | [optional]
+**Prefix** | Pointer to **string** | | [optional]
+**Revoked** | Pointer to **bool** | | [optional]
+**Scope** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **time.Time** | | [optional]
+**UserId** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewModelsAPIKey
+
+`func NewModelsAPIKey() *ModelsAPIKey`
+
+NewModelsAPIKey instantiates a new ModelsAPIKey object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewModelsAPIKeyWithDefaults
+
+`func NewModelsAPIKeyWithDefaults() *ModelsAPIKey`
+
+NewModelsAPIKeyWithDefaults instantiates a new ModelsAPIKey object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *ModelsAPIKey) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *ModelsAPIKey) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *ModelsAPIKey) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *ModelsAPIKey) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetExpiresAt
+
+`func (o *ModelsAPIKey) GetExpiresAt() time.Time`
+
+GetExpiresAt returns the ExpiresAt field if non-nil, zero value otherwise.
+
+### GetExpiresAtOk
+
+`func (o *ModelsAPIKey) GetExpiresAtOk() (*time.Time, bool)`
+
+GetExpiresAtOk returns a tuple with the ExpiresAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetExpiresAt
+
+`func (o *ModelsAPIKey) SetExpiresAt(v time.Time)`
+
+SetExpiresAt sets ExpiresAt field to given value.
+
+### HasExpiresAt
+
+`func (o *ModelsAPIKey) HasExpiresAt() bool`
+
+HasExpiresAt returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *ModelsAPIKey) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *ModelsAPIKey) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *ModelsAPIKey) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *ModelsAPIKey) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetLastUsedAt
+
+`func (o *ModelsAPIKey) GetLastUsedAt() time.Time`
+
+GetLastUsedAt returns the LastUsedAt field if non-nil, zero value otherwise.
+
+### GetLastUsedAtOk
+
+`func (o *ModelsAPIKey) GetLastUsedAtOk() (*time.Time, bool)`
+
+GetLastUsedAtOk returns a tuple with the LastUsedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetLastUsedAt
+
+`func (o *ModelsAPIKey) SetLastUsedAt(v time.Time)`
+
+SetLastUsedAt sets LastUsedAt field to given value.
+
+### HasLastUsedAt
+
+`func (o *ModelsAPIKey) HasLastUsedAt() bool`
+
+HasLastUsedAt returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *ModelsAPIKey) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *ModelsAPIKey) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *ModelsAPIKey) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *ModelsAPIKey) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetOrgId
+
+`func (o *ModelsAPIKey) GetOrgId() string`
+
+GetOrgId returns the OrgId field if non-nil, zero value otherwise.
+
+### GetOrgIdOk
+
+`func (o *ModelsAPIKey) GetOrgIdOk() (*string, bool)`
+
+GetOrgIdOk returns a tuple with the OrgId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetOrgId
+
+`func (o *ModelsAPIKey) SetOrgId(v string)`
+
+SetOrgId sets OrgId field to given value.
+
+### HasOrgId
+
+`func (o *ModelsAPIKey) HasOrgId() bool`
+
+HasOrgId returns a boolean if a field has been set.
+
+### GetPrefix
+
+`func (o *ModelsAPIKey) GetPrefix() string`
+
+GetPrefix returns the Prefix field if non-nil, zero value otherwise.
+
+### GetPrefixOk
+
+`func (o *ModelsAPIKey) GetPrefixOk() (*string, bool)`
+
+GetPrefixOk returns a tuple with the Prefix field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrefix
+
+`func (o *ModelsAPIKey) SetPrefix(v string)`
+
+SetPrefix sets Prefix field to given value.
+
+### HasPrefix
+
+`func (o *ModelsAPIKey) HasPrefix() bool`
+
+HasPrefix returns a boolean if a field has been set.
+
+### GetRevoked
+
+`func (o *ModelsAPIKey) GetRevoked() bool`
+
+GetRevoked returns the Revoked field if non-nil, zero value otherwise.
+
+### GetRevokedOk
+
+`func (o *ModelsAPIKey) GetRevokedOk() (*bool, bool)`
+
+GetRevokedOk returns a tuple with the Revoked field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetRevoked
+
+`func (o *ModelsAPIKey) SetRevoked(v bool)`
+
+SetRevoked sets Revoked field to given value.
+
+### HasRevoked
+
+`func (o *ModelsAPIKey) HasRevoked() bool`
+
+HasRevoked returns a boolean if a field has been set.
+
+### GetScope
+
+`func (o *ModelsAPIKey) GetScope() string`
+
+GetScope returns the Scope field if non-nil, zero value otherwise.
+
+### GetScopeOk
+
+`func (o *ModelsAPIKey) GetScopeOk() (*string, bool)`
+
+GetScopeOk returns a tuple with the Scope field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetScope
+
+`func (o *ModelsAPIKey) SetScope(v string)`
+
+SetScope sets Scope field to given value.
+
+### HasScope
+
+`func (o *ModelsAPIKey) HasScope() bool`
+
+HasScope returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *ModelsAPIKey) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *ModelsAPIKey) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *ModelsAPIKey) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *ModelsAPIKey) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+### GetUserId
+
+`func (o *ModelsAPIKey) GetUserId() string`
+
+GetUserId returns the UserId field if non-nil, zero value otherwise.
+
+### GetUserIdOk
+
+`func (o *ModelsAPIKey) GetUserIdOk() (*string, bool)`
+
+GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUserId
+
+`func (o *ModelsAPIKey) SetUserId(v string)`
+
+SetUserId sets UserId field to given value.
+
+### HasUserId
+
+`func (o *ModelsAPIKey) HasUserId() bool`
+
+HasUserId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/ModelsOrganization.md b/sdk/go/docs/ModelsOrganization.md
new file mode 100644
index 0000000..02fc367
--- /dev/null
+++ b/sdk/go/docs/ModelsOrganization.md
@@ -0,0 +1,160 @@
+# ModelsOrganization
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **time.Time** | | [optional]
+**Domain** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 | [optional]
+**Name** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **time.Time** | | [optional]
+
+## Methods
+
+### NewModelsOrganization
+
+`func NewModelsOrganization() *ModelsOrganization`
+
+NewModelsOrganization instantiates a new ModelsOrganization object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewModelsOrganizationWithDefaults
+
+`func NewModelsOrganizationWithDefaults() *ModelsOrganization`
+
+NewModelsOrganizationWithDefaults instantiates a new ModelsOrganization object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *ModelsOrganization) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *ModelsOrganization) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *ModelsOrganization) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *ModelsOrganization) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetDomain
+
+`func (o *ModelsOrganization) GetDomain() string`
+
+GetDomain returns the Domain field if non-nil, zero value otherwise.
+
+### GetDomainOk
+
+`func (o *ModelsOrganization) GetDomainOk() (*string, bool)`
+
+GetDomainOk returns a tuple with the Domain field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDomain
+
+`func (o *ModelsOrganization) SetDomain(v string)`
+
+SetDomain sets Domain field to given value.
+
+### HasDomain
+
+`func (o *ModelsOrganization) HasDomain() bool`
+
+HasDomain returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *ModelsOrganization) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *ModelsOrganization) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *ModelsOrganization) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *ModelsOrganization) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetName
+
+`func (o *ModelsOrganization) GetName() string`
+
+GetName returns the Name field if non-nil, zero value otherwise.
+
+### GetNameOk
+
+`func (o *ModelsOrganization) GetNameOk() (*string, bool)`
+
+GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetName
+
+`func (o *ModelsOrganization) SetName(v string)`
+
+SetName sets Name field to given value.
+
+### HasName
+
+`func (o *ModelsOrganization) HasName() bool`
+
+HasName returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *ModelsOrganization) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *ModelsOrganization) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *ModelsOrganization) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *ModelsOrganization) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/ModelsUser.md b/sdk/go/docs/ModelsUser.md
new file mode 100644
index 0000000..d74bb67
--- /dev/null
+++ b/sdk/go/docs/ModelsUser.md
@@ -0,0 +1,212 @@
+# ModelsUser
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**AvatarUrl** | Pointer to **string** | | [optional]
+**CreatedAt** | Pointer to **time.Time** | | [optional]
+**DisplayName** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 | [optional]
+**IsDisabled** | Pointer to **bool** | | [optional]
+**PrimaryEmail** | Pointer to **string** | | [optional]
+**UpdatedAt** | Pointer to **time.Time** | | [optional]
+
+## Methods
+
+### NewModelsUser
+
+`func NewModelsUser() *ModelsUser`
+
+NewModelsUser instantiates a new ModelsUser object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewModelsUserWithDefaults
+
+`func NewModelsUserWithDefaults() *ModelsUser`
+
+NewModelsUserWithDefaults instantiates a new ModelsUser object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetAvatarUrl
+
+`func (o *ModelsUser) GetAvatarUrl() string`
+
+GetAvatarUrl returns the AvatarUrl field if non-nil, zero value otherwise.
+
+### GetAvatarUrlOk
+
+`func (o *ModelsUser) GetAvatarUrlOk() (*string, bool)`
+
+GetAvatarUrlOk returns a tuple with the AvatarUrl field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetAvatarUrl
+
+`func (o *ModelsUser) SetAvatarUrl(v string)`
+
+SetAvatarUrl sets AvatarUrl field to given value.
+
+### HasAvatarUrl
+
+`func (o *ModelsUser) HasAvatarUrl() bool`
+
+HasAvatarUrl returns a boolean if a field has been set.
+
+### GetCreatedAt
+
+`func (o *ModelsUser) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *ModelsUser) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *ModelsUser) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *ModelsUser) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetDisplayName
+
+`func (o *ModelsUser) GetDisplayName() string`
+
+GetDisplayName returns the DisplayName field if non-nil, zero value otherwise.
+
+### GetDisplayNameOk
+
+`func (o *ModelsUser) GetDisplayNameOk() (*string, bool)`
+
+GetDisplayNameOk returns a tuple with the DisplayName field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetDisplayName
+
+`func (o *ModelsUser) SetDisplayName(v string)`
+
+SetDisplayName sets DisplayName field to given value.
+
+### HasDisplayName
+
+`func (o *ModelsUser) HasDisplayName() bool`
+
+HasDisplayName returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *ModelsUser) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *ModelsUser) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *ModelsUser) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *ModelsUser) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetIsDisabled
+
+`func (o *ModelsUser) GetIsDisabled() bool`
+
+GetIsDisabled returns the IsDisabled field if non-nil, zero value otherwise.
+
+### GetIsDisabledOk
+
+`func (o *ModelsUser) GetIsDisabledOk() (*bool, bool)`
+
+GetIsDisabledOk returns a tuple with the IsDisabled field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsDisabled
+
+`func (o *ModelsUser) SetIsDisabled(v bool)`
+
+SetIsDisabled sets IsDisabled field to given value.
+
+### HasIsDisabled
+
+`func (o *ModelsUser) HasIsDisabled() bool`
+
+HasIsDisabled returns a boolean if a field has been set.
+
+### GetPrimaryEmail
+
+`func (o *ModelsUser) GetPrimaryEmail() string`
+
+GetPrimaryEmail returns the PrimaryEmail field if non-nil, zero value otherwise.
+
+### GetPrimaryEmailOk
+
+`func (o *ModelsUser) GetPrimaryEmailOk() (*string, bool)`
+
+GetPrimaryEmailOk returns a tuple with the PrimaryEmail field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetPrimaryEmail
+
+`func (o *ModelsUser) SetPrimaryEmail(v string)`
+
+SetPrimaryEmail sets PrimaryEmail field to given value.
+
+### HasPrimaryEmail
+
+`func (o *ModelsUser) HasPrimaryEmail() bool`
+
+HasPrimaryEmail returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *ModelsUser) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *ModelsUser) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *ModelsUser) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *ModelsUser) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/ModelsUserEmail.md b/sdk/go/docs/ModelsUserEmail.md
new file mode 100644
index 0000000..ab10365
--- /dev/null
+++ b/sdk/go/docs/ModelsUserEmail.md
@@ -0,0 +1,238 @@
+# ModelsUserEmail
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**CreatedAt** | Pointer to **time.Time** | | [optional]
+**Email** | Pointer to **string** | | [optional]
+**Id** | Pointer to **string** | example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 | [optional]
+**IsPrimary** | Pointer to **bool** | | [optional]
+**IsVerified** | Pointer to **bool** | | [optional]
+**UpdatedAt** | Pointer to **time.Time** | | [optional]
+**User** | Pointer to [**ModelsUser**](ModelsUser.md) | | [optional]
+**UserId** | Pointer to **string** | | [optional]
+
+## Methods
+
+### NewModelsUserEmail
+
+`func NewModelsUserEmail() *ModelsUserEmail`
+
+NewModelsUserEmail instantiates a new ModelsUserEmail object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewModelsUserEmailWithDefaults
+
+`func NewModelsUserEmailWithDefaults() *ModelsUserEmail`
+
+NewModelsUserEmailWithDefaults instantiates a new ModelsUserEmail object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCreatedAt
+
+`func (o *ModelsUserEmail) GetCreatedAt() time.Time`
+
+GetCreatedAt returns the CreatedAt field if non-nil, zero value otherwise.
+
+### GetCreatedAtOk
+
+`func (o *ModelsUserEmail) GetCreatedAtOk() (*time.Time, bool)`
+
+GetCreatedAtOk returns a tuple with the CreatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCreatedAt
+
+`func (o *ModelsUserEmail) SetCreatedAt(v time.Time)`
+
+SetCreatedAt sets CreatedAt field to given value.
+
+### HasCreatedAt
+
+`func (o *ModelsUserEmail) HasCreatedAt() bool`
+
+HasCreatedAt returns a boolean if a field has been set.
+
+### GetEmail
+
+`func (o *ModelsUserEmail) GetEmail() string`
+
+GetEmail returns the Email field if non-nil, zero value otherwise.
+
+### GetEmailOk
+
+`func (o *ModelsUserEmail) GetEmailOk() (*string, bool)`
+
+GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetEmail
+
+`func (o *ModelsUserEmail) SetEmail(v string)`
+
+SetEmail sets Email field to given value.
+
+### HasEmail
+
+`func (o *ModelsUserEmail) HasEmail() bool`
+
+HasEmail returns a boolean if a field has been set.
+
+### GetId
+
+`func (o *ModelsUserEmail) GetId() string`
+
+GetId returns the Id field if non-nil, zero value otherwise.
+
+### GetIdOk
+
+`func (o *ModelsUserEmail) GetIdOk() (*string, bool)`
+
+GetIdOk returns a tuple with the Id field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetId
+
+`func (o *ModelsUserEmail) SetId(v string)`
+
+SetId sets Id field to given value.
+
+### HasId
+
+`func (o *ModelsUserEmail) HasId() bool`
+
+HasId returns a boolean if a field has been set.
+
+### GetIsPrimary
+
+`func (o *ModelsUserEmail) GetIsPrimary() bool`
+
+GetIsPrimary returns the IsPrimary field if non-nil, zero value otherwise.
+
+### GetIsPrimaryOk
+
+`func (o *ModelsUserEmail) GetIsPrimaryOk() (*bool, bool)`
+
+GetIsPrimaryOk returns a tuple with the IsPrimary field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsPrimary
+
+`func (o *ModelsUserEmail) SetIsPrimary(v bool)`
+
+SetIsPrimary sets IsPrimary field to given value.
+
+### HasIsPrimary
+
+`func (o *ModelsUserEmail) HasIsPrimary() bool`
+
+HasIsPrimary returns a boolean if a field has been set.
+
+### GetIsVerified
+
+`func (o *ModelsUserEmail) GetIsVerified() bool`
+
+GetIsVerified returns the IsVerified field if non-nil, zero value otherwise.
+
+### GetIsVerifiedOk
+
+`func (o *ModelsUserEmail) GetIsVerifiedOk() (*bool, bool)`
+
+GetIsVerifiedOk returns a tuple with the IsVerified field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetIsVerified
+
+`func (o *ModelsUserEmail) SetIsVerified(v bool)`
+
+SetIsVerified sets IsVerified field to given value.
+
+### HasIsVerified
+
+`func (o *ModelsUserEmail) HasIsVerified() bool`
+
+HasIsVerified returns a boolean if a field has been set.
+
+### GetUpdatedAt
+
+`func (o *ModelsUserEmail) GetUpdatedAt() time.Time`
+
+GetUpdatedAt returns the UpdatedAt field if non-nil, zero value otherwise.
+
+### GetUpdatedAtOk
+
+`func (o *ModelsUserEmail) GetUpdatedAtOk() (*time.Time, bool)`
+
+GetUpdatedAtOk returns a tuple with the UpdatedAt field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUpdatedAt
+
+`func (o *ModelsUserEmail) SetUpdatedAt(v time.Time)`
+
+SetUpdatedAt sets UpdatedAt field to given value.
+
+### HasUpdatedAt
+
+`func (o *ModelsUserEmail) HasUpdatedAt() bool`
+
+HasUpdatedAt returns a boolean if a field has been set.
+
+### GetUser
+
+`func (o *ModelsUserEmail) GetUser() ModelsUser`
+
+GetUser returns the User field if non-nil, zero value otherwise.
+
+### GetUserOk
+
+`func (o *ModelsUserEmail) GetUserOk() (*ModelsUser, bool)`
+
+GetUserOk returns a tuple with the User field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUser
+
+`func (o *ModelsUserEmail) SetUser(v ModelsUser)`
+
+SetUser sets User field to given value.
+
+### HasUser
+
+`func (o *ModelsUserEmail) HasUser() bool`
+
+HasUser returns a boolean if a field has been set.
+
+### GetUserId
+
+`func (o *ModelsUserEmail) GetUserId() string`
+
+GetUserId returns the UserId field if non-nil, zero value otherwise.
+
+### GetUserIdOk
+
+`func (o *ModelsUserEmail) GetUserIdOk() (*string, bool)`
+
+GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetUserId
+
+`func (o *ModelsUserEmail) SetUserId(v string)`
+
+SetUserId sets UserId field to given value.
+
+### HasUserId
+
+`func (o *ModelsUserEmail) HasUserId() bool`
+
+HasUserId returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/docs/OrgsAPI.md b/sdk/go/docs/OrgsAPI.md
new file mode 100644
index 0000000..7f4980c
--- /dev/null
+++ b/sdk/go/docs/OrgsAPI.md
@@ -0,0 +1,760 @@
+# \OrgsAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx, id).Body(body).Execute()
+
+Add or update a member (owner/admin)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+ body := *openapiclient.NewHandlersMemberUpsertReq() // HandlersMemberUpsertReq | User & role
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.AddOrUpdateMember(context.Background(), id).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.AddOrUpdateMember``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `AddOrUpdateMember`: HandlersMemberOut
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.AddOrUpdateMember`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiAddOrUpdateMemberRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **body** | [**HandlersMemberUpsertReq**](HandlersMemberUpsertReq.md) | User & role |
+
+### Return type
+
+[**HandlersMemberOut**](HandlersMemberOut.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateOrg
+
+> ModelsOrganization CreateOrg(ctx).Body(body).Execute()
+
+Create organization
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewHandlersOrgCreateReq() // HandlersOrgCreateReq | Org payload
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.CreateOrg(context.Background()).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.CreateOrg``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateOrg`: ModelsOrganization
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.CreateOrg`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateOrgRequest struct via the builder pattern
+
+
+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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## CreateOrgKey
+
+> HandlersOrgKeyCreateResp CreateOrgKey(ctx, id).Body(body).Execute()
+
+Create org key/secret pair (owner/admin)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+ body := *openapiclient.NewHandlersOrgKeyCreateReq() // HandlersOrgKeyCreateReq | Key name + optional expiry
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.CreateOrgKey(context.Background(), id).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.CreateOrgKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateOrgKey`: HandlersOrgKeyCreateResp
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.CreateOrgKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateOrgKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteOrg
+
+> DeleteOrg(ctx, id).Execute()
+
+Delete organization (owner)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ r, err := apiClient.OrgsAPI.DeleteOrg(context.Background(), id).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.DeleteOrg``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteOrgRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+ (empty response body)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteOrgKey
+
+> DeleteOrgKey(ctx, id, keyId).Execute()
+
+Delete org key (owner/admin)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+ keyId := "keyId_example" // string | Key ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ r, err := apiClient.OrgsAPI.DeleteOrgKey(context.Background(), id, keyId).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.DeleteOrgKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+**keyId** | **string** | Key ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteOrgKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+### Return type
+
+ (empty response body)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetOrg
+
+> ModelsOrganization GetOrg(ctx, id).Execute()
+
+Get organization
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.GetOrg(context.Background(), id).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.GetOrg``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetOrg`: ModelsOrganization
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.GetOrg`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetOrgRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**ModelsOrganization**](ModelsOrganization.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListMembers
+
+> []HandlersMemberOut ListMembers(ctx, id).Execute()
+
+List members in org
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.ListMembers(context.Background(), id).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.ListMembers``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListMembers`: []HandlersMemberOut
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.ListMembers`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListMembersRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**[]HandlersMemberOut**](HandlersMemberOut.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListMyOrgs
+
+> []ModelsOrganization ListMyOrgs(ctx).Execute()
+
+List organizations I belong to
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.ListMyOrgs(context.Background()).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.ListMyOrgs``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListMyOrgs`: []ModelsOrganization
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.ListMyOrgs`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+This endpoint does not need any parameter.
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListMyOrgsRequest struct via the builder pattern
+
+
+### Return type
+
+[**[]ModelsOrganization**](ModelsOrganization.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListOrgKeys
+
+> []ModelsAPIKey ListOrgKeys(ctx, id).Execute()
+
+List org-scoped API keys (no secrets)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.ListOrgKeys(context.Background(), id).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.ListOrgKeys``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListOrgKeys`: []ModelsAPIKey
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.ListOrgKeys`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListOrgKeysRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+### Return type
+
+[**[]ModelsAPIKey**](ModelsAPIKey.md)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## RemoveMember
+
+> RemoveMember(ctx, id, userId).Execute()
+
+Remove a member (owner/admin)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+ userId := "userId_example" // string | User ID (UUID)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ r, err := apiClient.OrgsAPI.RemoveMember(context.Background(), id, userId).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.RemoveMember``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+**userId** | **string** | User ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiRemoveMemberRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+
+
+### Return type
+
+ (empty response body)
+
+### Authorization
+
+[BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateOrg
+
+> ModelsOrganization UpdateOrg(ctx, id).Body(body).Execute()
+
+Update organization (owner/admin)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Org ID (UUID)
+ body := *openapiclient.NewHandlersOrgUpdateReq() // HandlersOrgUpdateReq | Update payload
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.OrgsAPI.UpdateOrg(context.Background(), id).Body(body).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `OrgsAPI.UpdateOrg``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `UpdateOrg`: ModelsOrganization
+ fmt.Fprintf(os.Stdout, "Response from `OrgsAPI.UpdateOrg`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Org ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateOrgRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/ServersAPI.md b/sdk/go/docs/ServersAPI.md
new file mode 100644
index 0000000..6e146a4
--- /dev/null
+++ b/sdk/go/docs/ServersAPI.md
@@ -0,0 +1,369 @@
+# \ServersAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Body(body).XOrgID(xOrgID).Execute()
+
+Create server (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoCreateServerRequest() // DtoCreateServerRequest | Server payload
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.ServersAPI.CreateServer(context.Background()).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `ServersAPI.CreateServer``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateServer`: DtoServerResponse
+ fmt.Fprintf(os.Stdout, "Response from `ServersAPI.CreateServer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateServerRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**DtoCreateServerRequest**](DtoCreateServerRequest.md) | Server payload |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteServer
+
+> string DeleteServer(ctx, id).XOrgID(xOrgID).Execute()
+
+Delete server (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Server ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.ServersAPI.DeleteServer(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `ServersAPI.DeleteServer``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `DeleteServer`: string
+ fmt.Fprintf(os.Stdout, "Response from `ServersAPI.DeleteServer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Server ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteServerRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetServer
+
+> DtoServerResponse GetServer(ctx, id).XOrgID(xOrgID).Execute()
+
+Get server by ID (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Server ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.ServersAPI.GetServer(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `ServersAPI.GetServer``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetServer`: DtoServerResponse
+ fmt.Fprintf(os.Stdout, "Response from `ServersAPI.GetServer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Server ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetServerRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListServers
+
+> []DtoServerResponse ListServers(ctx).XOrgID(xOrgID).Status(status).Role(role).Execute()
+
+List servers (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+ status := "status_example" // string | Filter by status (pending|provisioning|ready|failed) (optional)
+ role := "role_example" // string | Filter by role (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.ServersAPI.ListServers(context.Background()).XOrgID(xOrgID).Status(status).Role(role).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `ServersAPI.ListServers``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListServers`: []DtoServerResponse
+ fmt.Fprintf(os.Stdout, "Response from `ServersAPI.ListServers`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListServersRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **xOrgID** | **string** | Organization UUID |
+ **status** | **string** | Filter by status (pending|provisioning|ready|failed) |
+ **role** | **string** | Filter by role |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateServer
+
+> DtoServerResponse UpdateServer(ctx, id).Body(body).XOrgID(xOrgID).Execute()
+
+Update server (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Server ID (UUID)
+ body := *openapiclient.NewDtoUpdateServerRequest() // DtoUpdateServerRequest | Fields to update
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.ServersAPI.UpdateServer(context.Background(), id).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `ServersAPI.UpdateServer``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `UpdateServer`: DtoServerResponse
+ fmt.Fprintf(os.Stdout, "Response from `ServersAPI.UpdateServer`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Server ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateServerRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **body** | [**DtoUpdateServerRequest**](DtoUpdateServerRequest.md) | Fields to update |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/SshAPI.md b/sdk/go/docs/SshAPI.md
new file mode 100644
index 0000000..23ea6c9
--- /dev/null
+++ b/sdk/go/docs/SshAPI.md
@@ -0,0 +1,367 @@
+# \SshAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Body(body).XOrgID(xOrgID).Execute()
+
+Create ssh keypair (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoCreateSSHRequest() // DtoCreateSSHRequest | Key generation options
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.SshAPI.CreateSSHKey(context.Background()).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `SshAPI.CreateSSHKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateSSHKey`: DtoSshResponse
+ fmt.Fprintf(os.Stdout, "Response from `SshAPI.CreateSSHKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateSSHKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**DtoCreateSSHRequest**](DtoCreateSSHRequest.md) | Key generation options |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteSSHKey
+
+> string DeleteSSHKey(ctx, id).XOrgID(xOrgID).Execute()
+
+Delete ssh keypair (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | SSH Key ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.SshAPI.DeleteSSHKey(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `SshAPI.DeleteSSHKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `DeleteSSHKey`: string
+ fmt.Fprintf(os.Stdout, "Response from `SshAPI.DeleteSSHKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | SSH Key ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteSSHKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DownloadSSHKey
+
+> string DownloadSSHKey(ctx, id).XOrgID(xOrgID).Part(part).Execute()
+
+Download ssh key files by ID (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ xOrgID := "xOrgID_example" // string | Organization UUID
+ id := "id_example" // string | SSH Key ID (UUID)
+ part := "part_example" // string | Which part to download
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.SshAPI.DownloadSSHKey(context.Background(), id).XOrgID(xOrgID).Part(part).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `SshAPI.DownloadSSHKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `DownloadSSHKey`: string
+ fmt.Fprintf(os.Stdout, "Response from `SshAPI.DownloadSSHKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | SSH Key ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDownloadSSHKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **xOrgID** | **string** | Organization UUID |
+
+ **part** | **string** | Which part to download |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetSSHKey
+
+> DtoSshRevealResponse GetSSHKey(ctx, id).XOrgID(xOrgID).Reveal(reveal).Execute()
+
+Get ssh key by ID (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | SSH Key ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+ reveal := true // bool | Reveal private key PEM (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.SshAPI.GetSSHKey(context.Background(), id).XOrgID(xOrgID).Reveal(reveal).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `SshAPI.GetSSHKey``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetSSHKey`: DtoSshRevealResponse
+ fmt.Fprintf(os.Stdout, "Response from `SshAPI.GetSSHKey`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | SSH Key ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetSSHKeyRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+ **reveal** | **bool** | Reveal private key PEM |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListPublicSshKeys
+
+> []DtoSshResponse ListPublicSshKeys(ctx).XOrgID(xOrgID).Execute()
+
+List ssh keys (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.SshAPI.ListPublicSshKeys(context.Background()).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `SshAPI.ListPublicSshKeys``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListPublicSshKeys`: []DtoSshResponse
+ fmt.Fprintf(os.Stdout, "Response from `SshAPI.ListPublicSshKeys`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListPublicSshKeysRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **xOrgID** | **string** | Organization UUID |
+
+### Return type
+
+[**[]DtoSshResponse**](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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/TaintsAPI.md b/sdk/go/docs/TaintsAPI.md
new file mode 100644
index 0000000..f318565
--- /dev/null
+++ b/sdk/go/docs/TaintsAPI.md
@@ -0,0 +1,369 @@
+# \TaintsAPI
+
+All URIs are relative to *http://localhost:8080/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(ctx).Body(body).XOrgID(xOrgID).Execute()
+
+Create node taint (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ body := *openapiclient.NewDtoCreateTaintRequest() // DtoCreateTaintRequest | Taint payload
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.TaintsAPI.CreateTaint(context.Background()).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `TaintsAPI.CreateTaint``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `CreateTaint`: DtoTaintResponse
+ fmt.Fprintf(os.Stdout, "Response from `TaintsAPI.CreateTaint`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiCreateTaintRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**DtoCreateTaintRequest**](DtoCreateTaintRequest.md) | Taint payload |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## DeleteTaint
+
+> string DeleteTaint(ctx, id).XOrgID(xOrgID).Execute()
+
+Delete taint (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Node Taint ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.TaintsAPI.DeleteTaint(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `TaintsAPI.DeleteTaint``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `DeleteTaint`: string
+ fmt.Fprintf(os.Stdout, "Response from `TaintsAPI.DeleteTaint`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Node Taint ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiDeleteTaintRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## GetTaint
+
+> DtoTaintResponse GetTaint(ctx, id).XOrgID(xOrgID).Execute()
+
+Get node taint by ID (org scoped)
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Node Taint ID (UUID)
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.TaintsAPI.GetTaint(context.Background(), id).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `TaintsAPI.GetTaint``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `GetTaint`: DtoTaintResponse
+ fmt.Fprintf(os.Stdout, "Response from `TaintsAPI.GetTaint`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Node Taint ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiGetTaintRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## ListTaints
+
+> []DtoTaintResponse ListTaints(ctx).XOrgID(xOrgID).Key(key).Value(value).Q(q).Execute()
+
+List node pool taints (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+ key := "key_example" // string | Exact key (optional)
+ value := "value_example" // string | Exact value (optional)
+ q := "q_example" // string | key contains (case-insensitive) (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.TaintsAPI.ListTaints(context.Background()).XOrgID(xOrgID).Key(key).Value(value).Q(q).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `TaintsAPI.ListTaints``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `ListTaints`: []DtoTaintResponse
+ fmt.Fprintf(os.Stdout, "Response from `TaintsAPI.ListTaints`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiListTaintsRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **xOrgID** | **string** | Organization UUID |
+ **key** | **string** | Exact key |
+ **value** | **string** | Exact value |
+ **q** | **string** | key contains (case-insensitive) |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
+
+## UpdateTaint
+
+> DtoTaintResponse UpdateTaint(ctx, id).Body(body).XOrgID(xOrgID).Execute()
+
+Update node taint (org scoped)
+
+
+
+### Example
+
+```go
+package main
+
+import (
+ "context"
+ "fmt"
+ "os"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+)
+
+func main() {
+ id := "id_example" // string | Node Taint ID (UUID)
+ body := *openapiclient.NewDtoUpdateTaintRequest() // DtoUpdateTaintRequest | Fields to update
+ xOrgID := "xOrgID_example" // string | Organization UUID (optional)
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+ resp, r, err := apiClient.TaintsAPI.UpdateTaint(context.Background(), id).Body(body).XOrgID(xOrgID).Execute()
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "Error when calling `TaintsAPI.UpdateTaint``: %v\n", err)
+ fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
+ }
+ // response from `UpdateTaint`: DtoTaintResponse
+ fmt.Fprintf(os.Stdout, "Response from `TaintsAPI.UpdateTaint`: %v\n", resp)
+}
+```
+
+### Path Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc.
+**id** | **string** | Node Taint ID (UUID) |
+
+### Other Parameters
+
+Other parameters are passed through a pointer to a apiUpdateTaintRequest struct via the builder pattern
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+
+ **body** | [**DtoUpdateTaintRequest**](DtoUpdateTaintRequest.md) | Fields to update |
+ **xOrgID** | **string** | Organization UUID |
+
+### 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
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
+[[Back to Model list]](../README.md#documentation-for-models)
+[[Back to README]](../README.md)
+
diff --git a/sdk/go/docs/UtilsErrorResponse.md b/sdk/go/docs/UtilsErrorResponse.md
new file mode 100644
index 0000000..c639ea8
--- /dev/null
+++ b/sdk/go/docs/UtilsErrorResponse.md
@@ -0,0 +1,82 @@
+# UtilsErrorResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Code** | Pointer to **string** | A machine-readable error code, e.g. \"validation_error\" example: validation_error | [optional]
+**Message** | Pointer to **string** | Human-readable message example: slug is required | [optional]
+
+## Methods
+
+### NewUtilsErrorResponse
+
+`func NewUtilsErrorResponse() *UtilsErrorResponse`
+
+NewUtilsErrorResponse instantiates a new UtilsErrorResponse object
+This constructor will assign default values to properties that have it defined,
+and makes sure properties required by API are set, but the set of arguments
+will change when the set of required properties is changed
+
+### NewUtilsErrorResponseWithDefaults
+
+`func NewUtilsErrorResponseWithDefaults() *UtilsErrorResponse`
+
+NewUtilsErrorResponseWithDefaults instantiates a new UtilsErrorResponse object
+This constructor will only assign default values to properties that have it defined,
+but it doesn't guarantee that properties required by API are set
+
+### GetCode
+
+`func (o *UtilsErrorResponse) GetCode() string`
+
+GetCode returns the Code field if non-nil, zero value otherwise.
+
+### GetCodeOk
+
+`func (o *UtilsErrorResponse) GetCodeOk() (*string, bool)`
+
+GetCodeOk returns a tuple with the Code field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetCode
+
+`func (o *UtilsErrorResponse) SetCode(v string)`
+
+SetCode sets Code field to given value.
+
+### HasCode
+
+`func (o *UtilsErrorResponse) HasCode() bool`
+
+HasCode returns a boolean if a field has been set.
+
+### GetMessage
+
+`func (o *UtilsErrorResponse) GetMessage() string`
+
+GetMessage returns the Message field if non-nil, zero value otherwise.
+
+### GetMessageOk
+
+`func (o *UtilsErrorResponse) GetMessageOk() (*string, bool)`
+
+GetMessageOk returns a tuple with the Message field if it's non-nil, zero value otherwise
+and a boolean to check if the value has been set.
+
+### SetMessage
+
+`func (o *UtilsErrorResponse) SetMessage(v string)`
+
+SetMessage sets Message field to given value.
+
+### HasMessage
+
+`func (o *UtilsErrorResponse) HasMessage() bool`
+
+HasMessage returns a boolean if a field has been set.
+
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/sdk/go/git_push.sh b/sdk/go/git_push.sh
new file mode 100644
index 0000000..2fbf5a1
--- /dev/null
+++ b/sdk/go/git_push.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
+#
+# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
+
+git_user_id=$1
+git_repo_id=$2
+release_note=$3
+git_host=$4
+
+if [ "$git_host" = "" ]; then
+ git_host="github.com"
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
+fi
+
+if [ "$git_user_id" = "" ]; then
+ git_user_id="glueops"
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
+fi
+
+if [ "$git_repo_id" = "" ]; then
+ git_repo_id="autoglue-sdk-go"
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
+fi
+
+if [ "$release_note" = "" ]; then
+ release_note="Minor update"
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
+fi
+
+# Initialize the local directory as a Git repository
+git init
+
+# Adds the files in the local repository and stages them for commit.
+git add .
+
+# Commits the tracked changes and prepares them to be pushed to a remote repository.
+git commit -m "$release_note"
+
+# Sets the new remote
+git_remote=$(git remote)
+if [ "$git_remote" = "" ]; then # git remote not defined
+
+ if [ "$GIT_TOKEN" = "" ]; then
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
+ else
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
+ fi
+
+fi
+
+git pull origin master
+
+# Pushes (Forces) the changes in the local repository up to the remote repository
+echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
+git push origin master 2>&1 | grep -v 'To https'
diff --git a/sdk/go/go.mod b/sdk/go/go.mod
new file mode 100644
index 0000000..f8dce11
--- /dev/null
+++ b/sdk/go/go.mod
@@ -0,0 +1,6 @@
+module github.com/glueops/autoglue-sdk-go
+
+go 1.23
+
+require (
+)
diff --git a/sdk/go/go.sum b/sdk/go/go.sum
new file mode 100644
index 0000000..c966c8d
--- /dev/null
+++ b/sdk/go/go.sum
@@ -0,0 +1,11 @@
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e h1:bRhVy7zSSasaqNksaRZiA5EEI+Ei4I1nO5Jh72wfHlg=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
diff --git a/sdk/go/model_dto_auth_start_response.go b/sdk/go/model_dto_auth_start_response.go
new file mode 100644
index 0000000..4e99012
--- /dev/null
+++ b/sdk/go/model_dto_auth_start_response.go
@@ -0,0 +1,124 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoAuthStartResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoAuthStartResponse{}
+
+// DtoAuthStartResponse struct for DtoAuthStartResponse
+type DtoAuthStartResponse struct {
+ AuthUrl *string `json:"auth_url,omitempty"`
+}
+
+// NewDtoAuthStartResponse instantiates a new DtoAuthStartResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoAuthStartResponse() *DtoAuthStartResponse {
+ this := DtoAuthStartResponse{}
+ return &this
+}
+
+// NewDtoAuthStartResponseWithDefaults instantiates a new DtoAuthStartResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoAuthStartResponseWithDefaults() *DtoAuthStartResponse {
+ this := DtoAuthStartResponse{}
+ return &this
+}
+
+// GetAuthUrl returns the AuthUrl field value if set, zero value otherwise.
+func (o *DtoAuthStartResponse) GetAuthUrl() string {
+ if o == nil || IsNil(o.AuthUrl) {
+ var ret string
+ return ret
+ }
+ return *o.AuthUrl
+}
+
+// GetAuthUrlOk returns a tuple with the AuthUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoAuthStartResponse) GetAuthUrlOk() (*string, bool) {
+ if o == nil || IsNil(o.AuthUrl) {
+ return nil, false
+ }
+ return o.AuthUrl, true
+}
+
+// HasAuthUrl returns a boolean if a field has been set.
+func (o *DtoAuthStartResponse) HasAuthUrl() bool {
+ if o != nil && !IsNil(o.AuthUrl) {
+ return true
+ }
+
+ return false
+}
+
+// SetAuthUrl gets a reference to the given string and assigns it to the AuthUrl field.
+func (o *DtoAuthStartResponse) SetAuthUrl(v string) {
+ o.AuthUrl = &v
+}
+
+func (o DtoAuthStartResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoAuthStartResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.AuthUrl) {
+ toSerialize["auth_url"] = o.AuthUrl
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoAuthStartResponse struct {
+ value *DtoAuthStartResponse
+ isSet bool
+}
+
+func (v NullableDtoAuthStartResponse) Get() *DtoAuthStartResponse {
+ return v.value
+}
+
+func (v *NullableDtoAuthStartResponse) Set(val *DtoAuthStartResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoAuthStartResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoAuthStartResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoAuthStartResponse(val *DtoAuthStartResponse) *NullableDtoAuthStartResponse {
+ return &NullableDtoAuthStartResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoAuthStartResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoAuthStartResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_create_label_request.go b/sdk/go/model_dto_create_label_request.go
new file mode 100644
index 0000000..4ce183d
--- /dev/null
+++ b/sdk/go/model_dto_create_label_request.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoCreateLabelRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoCreateLabelRequest{}
+
+// DtoCreateLabelRequest struct for DtoCreateLabelRequest
+type DtoCreateLabelRequest struct {
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoCreateLabelRequest instantiates a new DtoCreateLabelRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoCreateLabelRequest() *DtoCreateLabelRequest {
+ this := DtoCreateLabelRequest{}
+ return &this
+}
+
+// NewDtoCreateLabelRequestWithDefaults instantiates a new DtoCreateLabelRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoCreateLabelRequestWithDefaults() *DtoCreateLabelRequest {
+ this := DtoCreateLabelRequest{}
+ return &this
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoCreateLabelRequest) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateLabelRequest) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoCreateLabelRequest) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoCreateLabelRequest) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoCreateLabelRequest) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateLabelRequest) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoCreateLabelRequest) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoCreateLabelRequest) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoCreateLabelRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoCreateLabelRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoCreateLabelRequest struct {
+ value *DtoCreateLabelRequest
+ isSet bool
+}
+
+func (v NullableDtoCreateLabelRequest) Get() *DtoCreateLabelRequest {
+ return v.value
+}
+
+func (v *NullableDtoCreateLabelRequest) Set(val *DtoCreateLabelRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoCreateLabelRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoCreateLabelRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoCreateLabelRequest(val *DtoCreateLabelRequest) *NullableDtoCreateLabelRequest {
+ return &NullableDtoCreateLabelRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoCreateLabelRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoCreateLabelRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_create_server_request.go b/sdk/go/model_dto_create_server_request.go
new file mode 100644
index 0000000..68d5836
--- /dev/null
+++ b/sdk/go/model_dto_create_server_request.go
@@ -0,0 +1,340 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoCreateServerRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoCreateServerRequest{}
+
+// DtoCreateServerRequest struct for DtoCreateServerRequest
+type DtoCreateServerRequest struct {
+ Hostname *string `json:"hostname,omitempty"`
+ PrivateIpAddress *string `json:"private_ip_address,omitempty"`
+ PublicIpAddress *string `json:"public_ip_address,omitempty"`
+ Role *string `json:"role,omitempty"`
+ SshKeyId *string `json:"ssh_key_id,omitempty"`
+ SshUser *string `json:"ssh_user,omitempty"`
+ Status *string `json:"status,omitempty"`
+}
+
+// NewDtoCreateServerRequest instantiates a new DtoCreateServerRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoCreateServerRequest() *DtoCreateServerRequest {
+ this := DtoCreateServerRequest{}
+ return &this
+}
+
+// NewDtoCreateServerRequestWithDefaults instantiates a new DtoCreateServerRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoCreateServerRequestWithDefaults() *DtoCreateServerRequest {
+ this := DtoCreateServerRequest{}
+ return &this
+}
+
+// GetHostname returns the Hostname field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetHostname() string {
+ if o == nil || IsNil(o.Hostname) {
+ var ret string
+ return ret
+ }
+ return *o.Hostname
+}
+
+// GetHostnameOk returns a tuple with the Hostname field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetHostnameOk() (*string, bool) {
+ if o == nil || IsNil(o.Hostname) {
+ return nil, false
+ }
+ return o.Hostname, true
+}
+
+// HasHostname returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasHostname() bool {
+ if o != nil && !IsNil(o.Hostname) {
+ return true
+ }
+
+ return false
+}
+
+// SetHostname gets a reference to the given string and assigns it to the Hostname field.
+func (o *DtoCreateServerRequest) SetHostname(v string) {
+ o.Hostname = &v
+}
+
+// GetPrivateIpAddress returns the PrivateIpAddress field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetPrivateIpAddress() string {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PrivateIpAddress
+}
+
+// GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetPrivateIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ return nil, false
+ }
+ return o.PrivateIpAddress, true
+}
+
+// HasPrivateIpAddress returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasPrivateIpAddress() bool {
+ if o != nil && !IsNil(o.PrivateIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrivateIpAddress gets a reference to the given string and assigns it to the PrivateIpAddress field.
+func (o *DtoCreateServerRequest) SetPrivateIpAddress(v string) {
+ o.PrivateIpAddress = &v
+}
+
+// GetPublicIpAddress returns the PublicIpAddress field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetPublicIpAddress() string {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PublicIpAddress
+}
+
+// GetPublicIpAddressOk returns a tuple with the PublicIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetPublicIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ return nil, false
+ }
+ return o.PublicIpAddress, true
+}
+
+// HasPublicIpAddress returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasPublicIpAddress() bool {
+ if o != nil && !IsNil(o.PublicIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPublicIpAddress gets a reference to the given string and assigns it to the PublicIpAddress field.
+func (o *DtoCreateServerRequest) SetPublicIpAddress(v string) {
+ o.PublicIpAddress = &v
+}
+
+// GetRole returns the Role field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetRole() string {
+ if o == nil || IsNil(o.Role) {
+ var ret string
+ return ret
+ }
+ return *o.Role
+}
+
+// GetRoleOk returns a tuple with the Role field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetRoleOk() (*string, bool) {
+ if o == nil || IsNil(o.Role) {
+ return nil, false
+ }
+ return o.Role, true
+}
+
+// HasRole returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasRole() bool {
+ if o != nil && !IsNil(o.Role) {
+ return true
+ }
+
+ return false
+}
+
+// SetRole gets a reference to the given string and assigns it to the Role field.
+func (o *DtoCreateServerRequest) SetRole(v string) {
+ o.Role = &v
+}
+
+// GetSshKeyId returns the SshKeyId field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetSshKeyId() string {
+ if o == nil || IsNil(o.SshKeyId) {
+ var ret string
+ return ret
+ }
+ return *o.SshKeyId
+}
+
+// GetSshKeyIdOk returns a tuple with the SshKeyId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetSshKeyIdOk() (*string, bool) {
+ if o == nil || IsNil(o.SshKeyId) {
+ return nil, false
+ }
+ return o.SshKeyId, true
+}
+
+// HasSshKeyId returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasSshKeyId() bool {
+ if o != nil && !IsNil(o.SshKeyId) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshKeyId gets a reference to the given string and assigns it to the SshKeyId field.
+func (o *DtoCreateServerRequest) SetSshKeyId(v string) {
+ o.SshKeyId = &v
+}
+
+// GetSshUser returns the SshUser field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetSshUser() string {
+ if o == nil || IsNil(o.SshUser) {
+ var ret string
+ return ret
+ }
+ return *o.SshUser
+}
+
+// GetSshUserOk returns a tuple with the SshUser field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetSshUserOk() (*string, bool) {
+ if o == nil || IsNil(o.SshUser) {
+ return nil, false
+ }
+ return o.SshUser, true
+}
+
+// HasSshUser returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasSshUser() bool {
+ if o != nil && !IsNil(o.SshUser) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshUser gets a reference to the given string and assigns it to the SshUser field.
+func (o *DtoCreateServerRequest) SetSshUser(v string) {
+ o.SshUser = &v
+}
+
+// GetStatus returns the Status field value if set, zero value otherwise.
+func (o *DtoCreateServerRequest) GetStatus() string {
+ if o == nil || IsNil(o.Status) {
+ var ret string
+ return ret
+ }
+ return *o.Status
+}
+
+// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateServerRequest) GetStatusOk() (*string, bool) {
+ if o == nil || IsNil(o.Status) {
+ return nil, false
+ }
+ return o.Status, true
+}
+
+// HasStatus returns a boolean if a field has been set.
+func (o *DtoCreateServerRequest) HasStatus() bool {
+ if o != nil && !IsNil(o.Status) {
+ return true
+ }
+
+ return false
+}
+
+// SetStatus gets a reference to the given string and assigns it to the Status field.
+func (o *DtoCreateServerRequest) SetStatus(v string) {
+ o.Status = &v
+}
+
+func (o DtoCreateServerRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoCreateServerRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Hostname) {
+ toSerialize["hostname"] = o.Hostname
+ }
+ if !IsNil(o.PrivateIpAddress) {
+ toSerialize["private_ip_address"] = o.PrivateIpAddress
+ }
+ if !IsNil(o.PublicIpAddress) {
+ toSerialize["public_ip_address"] = o.PublicIpAddress
+ }
+ if !IsNil(o.Role) {
+ toSerialize["role"] = o.Role
+ }
+ if !IsNil(o.SshKeyId) {
+ toSerialize["ssh_key_id"] = o.SshKeyId
+ }
+ if !IsNil(o.SshUser) {
+ toSerialize["ssh_user"] = o.SshUser
+ }
+ if !IsNil(o.Status) {
+ toSerialize["status"] = o.Status
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoCreateServerRequest struct {
+ value *DtoCreateServerRequest
+ isSet bool
+}
+
+func (v NullableDtoCreateServerRequest) Get() *DtoCreateServerRequest {
+ return v.value
+}
+
+func (v *NullableDtoCreateServerRequest) Set(val *DtoCreateServerRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoCreateServerRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoCreateServerRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoCreateServerRequest(val *DtoCreateServerRequest) *NullableDtoCreateServerRequest {
+ return &NullableDtoCreateServerRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoCreateServerRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoCreateServerRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_create_ssh_request.go b/sdk/go/model_dto_create_ssh_request.go
new file mode 100644
index 0000000..7ec89ed
--- /dev/null
+++ b/sdk/go/model_dto_create_ssh_request.go
@@ -0,0 +1,234 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoCreateSSHRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoCreateSSHRequest{}
+
+// DtoCreateSSHRequest struct for DtoCreateSSHRequest
+type DtoCreateSSHRequest struct {
+ // Only for RSA
+ Bits *int32 `json:"bits,omitempty"`
+ Comment *string `json:"comment,omitempty"`
+ Name *string `json:"name,omitempty"`
+ // \"rsa\" (default) or \"ed25519\"
+ Type *string `json:"type,omitempty"`
+}
+
+// NewDtoCreateSSHRequest instantiates a new DtoCreateSSHRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoCreateSSHRequest() *DtoCreateSSHRequest {
+ this := DtoCreateSSHRequest{}
+ return &this
+}
+
+// NewDtoCreateSSHRequestWithDefaults instantiates a new DtoCreateSSHRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoCreateSSHRequestWithDefaults() *DtoCreateSSHRequest {
+ this := DtoCreateSSHRequest{}
+ return &this
+}
+
+// GetBits returns the Bits field value if set, zero value otherwise.
+func (o *DtoCreateSSHRequest) GetBits() int32 {
+ if o == nil || IsNil(o.Bits) {
+ var ret int32
+ return ret
+ }
+ return *o.Bits
+}
+
+// GetBitsOk returns a tuple with the Bits field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateSSHRequest) GetBitsOk() (*int32, bool) {
+ if o == nil || IsNil(o.Bits) {
+ return nil, false
+ }
+ return o.Bits, true
+}
+
+// HasBits returns a boolean if a field has been set.
+func (o *DtoCreateSSHRequest) HasBits() bool {
+ if o != nil && !IsNil(o.Bits) {
+ return true
+ }
+
+ return false
+}
+
+// SetBits gets a reference to the given int32 and assigns it to the Bits field.
+func (o *DtoCreateSSHRequest) SetBits(v int32) {
+ o.Bits = &v
+}
+
+// GetComment returns the Comment field value if set, zero value otherwise.
+func (o *DtoCreateSSHRequest) GetComment() string {
+ if o == nil || IsNil(o.Comment) {
+ var ret string
+ return ret
+ }
+ return *o.Comment
+}
+
+// GetCommentOk returns a tuple with the Comment field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateSSHRequest) GetCommentOk() (*string, bool) {
+ if o == nil || IsNil(o.Comment) {
+ return nil, false
+ }
+ return o.Comment, true
+}
+
+// HasComment returns a boolean if a field has been set.
+func (o *DtoCreateSSHRequest) HasComment() bool {
+ if o != nil && !IsNil(o.Comment) {
+ return true
+ }
+
+ return false
+}
+
+// SetComment gets a reference to the given string and assigns it to the Comment field.
+func (o *DtoCreateSSHRequest) SetComment(v string) {
+ o.Comment = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *DtoCreateSSHRequest) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateSSHRequest) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *DtoCreateSSHRequest) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *DtoCreateSSHRequest) SetName(v string) {
+ o.Name = &v
+}
+
+// GetType returns the Type field value if set, zero value otherwise.
+func (o *DtoCreateSSHRequest) GetType() string {
+ if o == nil || IsNil(o.Type) {
+ var ret string
+ return ret
+ }
+ return *o.Type
+}
+
+// GetTypeOk returns a tuple with the Type field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateSSHRequest) GetTypeOk() (*string, bool) {
+ if o == nil || IsNil(o.Type) {
+ return nil, false
+ }
+ return o.Type, true
+}
+
+// HasType returns a boolean if a field has been set.
+func (o *DtoCreateSSHRequest) HasType() bool {
+ if o != nil && !IsNil(o.Type) {
+ return true
+ }
+
+ return false
+}
+
+// SetType gets a reference to the given string and assigns it to the Type field.
+func (o *DtoCreateSSHRequest) SetType(v string) {
+ o.Type = &v
+}
+
+func (o DtoCreateSSHRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoCreateSSHRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Bits) {
+ toSerialize["bits"] = o.Bits
+ }
+ if !IsNil(o.Comment) {
+ toSerialize["comment"] = o.Comment
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.Type) {
+ toSerialize["type"] = o.Type
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoCreateSSHRequest struct {
+ value *DtoCreateSSHRequest
+ isSet bool
+}
+
+func (v NullableDtoCreateSSHRequest) Get() *DtoCreateSSHRequest {
+ return v.value
+}
+
+func (v *NullableDtoCreateSSHRequest) Set(val *DtoCreateSSHRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoCreateSSHRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoCreateSSHRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoCreateSSHRequest(val *DtoCreateSSHRequest) *NullableDtoCreateSSHRequest {
+ return &NullableDtoCreateSSHRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoCreateSSHRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoCreateSSHRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_create_taint_request.go b/sdk/go/model_dto_create_taint_request.go
new file mode 100644
index 0000000..3293a00
--- /dev/null
+++ b/sdk/go/model_dto_create_taint_request.go
@@ -0,0 +1,196 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoCreateTaintRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoCreateTaintRequest{}
+
+// DtoCreateTaintRequest struct for DtoCreateTaintRequest
+type DtoCreateTaintRequest struct {
+ Effect *string `json:"effect,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoCreateTaintRequest instantiates a new DtoCreateTaintRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoCreateTaintRequest() *DtoCreateTaintRequest {
+ this := DtoCreateTaintRequest{}
+ return &this
+}
+
+// NewDtoCreateTaintRequestWithDefaults instantiates a new DtoCreateTaintRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoCreateTaintRequestWithDefaults() *DtoCreateTaintRequest {
+ this := DtoCreateTaintRequest{}
+ return &this
+}
+
+// GetEffect returns the Effect field value if set, zero value otherwise.
+func (o *DtoCreateTaintRequest) GetEffect() string {
+ if o == nil || IsNil(o.Effect) {
+ var ret string
+ return ret
+ }
+ return *o.Effect
+}
+
+// GetEffectOk returns a tuple with the Effect field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateTaintRequest) GetEffectOk() (*string, bool) {
+ if o == nil || IsNil(o.Effect) {
+ return nil, false
+ }
+ return o.Effect, true
+}
+
+// HasEffect returns a boolean if a field has been set.
+func (o *DtoCreateTaintRequest) HasEffect() bool {
+ if o != nil && !IsNil(o.Effect) {
+ return true
+ }
+
+ return false
+}
+
+// SetEffect gets a reference to the given string and assigns it to the Effect field.
+func (o *DtoCreateTaintRequest) SetEffect(v string) {
+ o.Effect = &v
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoCreateTaintRequest) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateTaintRequest) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoCreateTaintRequest) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoCreateTaintRequest) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoCreateTaintRequest) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoCreateTaintRequest) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoCreateTaintRequest) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoCreateTaintRequest) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoCreateTaintRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoCreateTaintRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Effect) {
+ toSerialize["effect"] = o.Effect
+ }
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoCreateTaintRequest struct {
+ value *DtoCreateTaintRequest
+ isSet bool
+}
+
+func (v NullableDtoCreateTaintRequest) Get() *DtoCreateTaintRequest {
+ return v.value
+}
+
+func (v *NullableDtoCreateTaintRequest) Set(val *DtoCreateTaintRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoCreateTaintRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoCreateTaintRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoCreateTaintRequest(val *DtoCreateTaintRequest) *NullableDtoCreateTaintRequest {
+ return &NullableDtoCreateTaintRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoCreateTaintRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoCreateTaintRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_jwk.go b/sdk/go/model_dto_jwk.go
new file mode 100644
index 0000000..f04bdc6
--- /dev/null
+++ b/sdk/go/model_dto_jwk.go
@@ -0,0 +1,340 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoJWK type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoJWK{}
+
+// DtoJWK struct for DtoJWK
+type DtoJWK struct {
+ Alg *string `json:"alg,omitempty"`
+ E *string `json:"e,omitempty"`
+ Kid *string `json:"kid,omitempty"`
+ Kty *string `json:"kty,omitempty"`
+ N *string `json:"n,omitempty"`
+ Use *string `json:"use,omitempty"`
+ X *string `json:"x,omitempty"`
+}
+
+// NewDtoJWK instantiates a new DtoJWK object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoJWK() *DtoJWK {
+ this := DtoJWK{}
+ return &this
+}
+
+// NewDtoJWKWithDefaults instantiates a new DtoJWK object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoJWKWithDefaults() *DtoJWK {
+ this := DtoJWK{}
+ return &this
+}
+
+// GetAlg returns the Alg field value if set, zero value otherwise.
+func (o *DtoJWK) GetAlg() string {
+ if o == nil || IsNil(o.Alg) {
+ var ret string
+ return ret
+ }
+ return *o.Alg
+}
+
+// GetAlgOk returns a tuple with the Alg field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetAlgOk() (*string, bool) {
+ if o == nil || IsNil(o.Alg) {
+ return nil, false
+ }
+ return o.Alg, true
+}
+
+// HasAlg returns a boolean if a field has been set.
+func (o *DtoJWK) HasAlg() bool {
+ if o != nil && !IsNil(o.Alg) {
+ return true
+ }
+
+ return false
+}
+
+// SetAlg gets a reference to the given string and assigns it to the Alg field.
+func (o *DtoJWK) SetAlg(v string) {
+ o.Alg = &v
+}
+
+// GetE returns the E field value if set, zero value otherwise.
+func (o *DtoJWK) GetE() string {
+ if o == nil || IsNil(o.E) {
+ var ret string
+ return ret
+ }
+ return *o.E
+}
+
+// GetEOk returns a tuple with the E field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetEOk() (*string, bool) {
+ if o == nil || IsNil(o.E) {
+ return nil, false
+ }
+ return o.E, true
+}
+
+// HasE returns a boolean if a field has been set.
+func (o *DtoJWK) HasE() bool {
+ if o != nil && !IsNil(o.E) {
+ return true
+ }
+
+ return false
+}
+
+// SetE gets a reference to the given string and assigns it to the E field.
+func (o *DtoJWK) SetE(v string) {
+ o.E = &v
+}
+
+// GetKid returns the Kid field value if set, zero value otherwise.
+func (o *DtoJWK) GetKid() string {
+ if o == nil || IsNil(o.Kid) {
+ var ret string
+ return ret
+ }
+ return *o.Kid
+}
+
+// GetKidOk returns a tuple with the Kid field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetKidOk() (*string, bool) {
+ if o == nil || IsNil(o.Kid) {
+ return nil, false
+ }
+ return o.Kid, true
+}
+
+// HasKid returns a boolean if a field has been set.
+func (o *DtoJWK) HasKid() bool {
+ if o != nil && !IsNil(o.Kid) {
+ return true
+ }
+
+ return false
+}
+
+// SetKid gets a reference to the given string and assigns it to the Kid field.
+func (o *DtoJWK) SetKid(v string) {
+ o.Kid = &v
+}
+
+// GetKty returns the Kty field value if set, zero value otherwise.
+func (o *DtoJWK) GetKty() string {
+ if o == nil || IsNil(o.Kty) {
+ var ret string
+ return ret
+ }
+ return *o.Kty
+}
+
+// GetKtyOk returns a tuple with the Kty field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetKtyOk() (*string, bool) {
+ if o == nil || IsNil(o.Kty) {
+ return nil, false
+ }
+ return o.Kty, true
+}
+
+// HasKty returns a boolean if a field has been set.
+func (o *DtoJWK) HasKty() bool {
+ if o != nil && !IsNil(o.Kty) {
+ return true
+ }
+
+ return false
+}
+
+// SetKty gets a reference to the given string and assigns it to the Kty field.
+func (o *DtoJWK) SetKty(v string) {
+ o.Kty = &v
+}
+
+// GetN returns the N field value if set, zero value otherwise.
+func (o *DtoJWK) GetN() string {
+ if o == nil || IsNil(o.N) {
+ var ret string
+ return ret
+ }
+ return *o.N
+}
+
+// GetNOk returns a tuple with the N field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetNOk() (*string, bool) {
+ if o == nil || IsNil(o.N) {
+ return nil, false
+ }
+ return o.N, true
+}
+
+// HasN returns a boolean if a field has been set.
+func (o *DtoJWK) HasN() bool {
+ if o != nil && !IsNil(o.N) {
+ return true
+ }
+
+ return false
+}
+
+// SetN gets a reference to the given string and assigns it to the N field.
+func (o *DtoJWK) SetN(v string) {
+ o.N = &v
+}
+
+// GetUse returns the Use field value if set, zero value otherwise.
+func (o *DtoJWK) GetUse() string {
+ if o == nil || IsNil(o.Use) {
+ var ret string
+ return ret
+ }
+ return *o.Use
+}
+
+// GetUseOk returns a tuple with the Use field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetUseOk() (*string, bool) {
+ if o == nil || IsNil(o.Use) {
+ return nil, false
+ }
+ return o.Use, true
+}
+
+// HasUse returns a boolean if a field has been set.
+func (o *DtoJWK) HasUse() bool {
+ if o != nil && !IsNil(o.Use) {
+ return true
+ }
+
+ return false
+}
+
+// SetUse gets a reference to the given string and assigns it to the Use field.
+func (o *DtoJWK) SetUse(v string) {
+ o.Use = &v
+}
+
+// GetX returns the X field value if set, zero value otherwise.
+func (o *DtoJWK) GetX() string {
+ if o == nil || IsNil(o.X) {
+ var ret string
+ return ret
+ }
+ return *o.X
+}
+
+// GetXOk returns a tuple with the X field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWK) GetXOk() (*string, bool) {
+ if o == nil || IsNil(o.X) {
+ return nil, false
+ }
+ return o.X, true
+}
+
+// HasX returns a boolean if a field has been set.
+func (o *DtoJWK) HasX() bool {
+ if o != nil && !IsNil(o.X) {
+ return true
+ }
+
+ return false
+}
+
+// SetX gets a reference to the given string and assigns it to the X field.
+func (o *DtoJWK) SetX(v string) {
+ o.X = &v
+}
+
+func (o DtoJWK) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoJWK) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Alg) {
+ toSerialize["alg"] = o.Alg
+ }
+ if !IsNil(o.E) {
+ toSerialize["e"] = o.E
+ }
+ if !IsNil(o.Kid) {
+ toSerialize["kid"] = o.Kid
+ }
+ if !IsNil(o.Kty) {
+ toSerialize["kty"] = o.Kty
+ }
+ if !IsNil(o.N) {
+ toSerialize["n"] = o.N
+ }
+ if !IsNil(o.Use) {
+ toSerialize["use"] = o.Use
+ }
+ if !IsNil(o.X) {
+ toSerialize["x"] = o.X
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoJWK struct {
+ value *DtoJWK
+ isSet bool
+}
+
+func (v NullableDtoJWK) Get() *DtoJWK {
+ return v.value
+}
+
+func (v *NullableDtoJWK) Set(val *DtoJWK) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoJWK) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoJWK) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoJWK(val *DtoJWK) *NullableDtoJWK {
+ return &NullableDtoJWK{value: val, isSet: true}
+}
+
+func (v NullableDtoJWK) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoJWK) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_jwks.go b/sdk/go/model_dto_jwks.go
new file mode 100644
index 0000000..a66ecf1
--- /dev/null
+++ b/sdk/go/model_dto_jwks.go
@@ -0,0 +1,124 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoJWKS type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoJWKS{}
+
+// DtoJWKS struct for DtoJWKS
+type DtoJWKS struct {
+ Keys []DtoJWK `json:"keys,omitempty"`
+}
+
+// NewDtoJWKS instantiates a new DtoJWKS object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoJWKS() *DtoJWKS {
+ this := DtoJWKS{}
+ return &this
+}
+
+// NewDtoJWKSWithDefaults instantiates a new DtoJWKS object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoJWKSWithDefaults() *DtoJWKS {
+ this := DtoJWKS{}
+ return &this
+}
+
+// GetKeys returns the Keys field value if set, zero value otherwise.
+func (o *DtoJWKS) GetKeys() []DtoJWK {
+ if o == nil || IsNil(o.Keys) {
+ var ret []DtoJWK
+ return ret
+ }
+ return o.Keys
+}
+
+// GetKeysOk returns a tuple with the Keys field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoJWKS) GetKeysOk() ([]DtoJWK, bool) {
+ if o == nil || IsNil(o.Keys) {
+ return nil, false
+ }
+ return o.Keys, true
+}
+
+// HasKeys returns a boolean if a field has been set.
+func (o *DtoJWKS) HasKeys() bool {
+ if o != nil && !IsNil(o.Keys) {
+ return true
+ }
+
+ return false
+}
+
+// SetKeys gets a reference to the given []DtoJWK and assigns it to the Keys field.
+func (o *DtoJWKS) SetKeys(v []DtoJWK) {
+ o.Keys = v
+}
+
+func (o DtoJWKS) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoJWKS) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Keys) {
+ toSerialize["keys"] = o.Keys
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoJWKS struct {
+ value *DtoJWKS
+ isSet bool
+}
+
+func (v NullableDtoJWKS) Get() *DtoJWKS {
+ return v.value
+}
+
+func (v *NullableDtoJWKS) Set(val *DtoJWKS) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoJWKS) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoJWKS) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoJWKS(val *DtoJWKS) *NullableDtoJWKS {
+ return &NullableDtoJWKS{value: val, isSet: true}
+}
+
+func (v NullableDtoJWKS) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoJWKS) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_label_response.go b/sdk/go/model_dto_label_response.go
new file mode 100644
index 0000000..24dc623
--- /dev/null
+++ b/sdk/go/model_dto_label_response.go
@@ -0,0 +1,196 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoLabelResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoLabelResponse{}
+
+// DtoLabelResponse struct for DtoLabelResponse
+type DtoLabelResponse struct {
+ Id *string `json:"id,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoLabelResponse instantiates a new DtoLabelResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoLabelResponse() *DtoLabelResponse {
+ this := DtoLabelResponse{}
+ return &this
+}
+
+// NewDtoLabelResponseWithDefaults instantiates a new DtoLabelResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoLabelResponseWithDefaults() *DtoLabelResponse {
+ this := DtoLabelResponse{}
+ return &this
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *DtoLabelResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoLabelResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *DtoLabelResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *DtoLabelResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoLabelResponse) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoLabelResponse) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoLabelResponse) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoLabelResponse) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoLabelResponse) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoLabelResponse) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoLabelResponse) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoLabelResponse) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoLabelResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoLabelResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoLabelResponse struct {
+ value *DtoLabelResponse
+ isSet bool
+}
+
+func (v NullableDtoLabelResponse) Get() *DtoLabelResponse {
+ return v.value
+}
+
+func (v *NullableDtoLabelResponse) Set(val *DtoLabelResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoLabelResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoLabelResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoLabelResponse(val *DtoLabelResponse) *NullableDtoLabelResponse {
+ return &NullableDtoLabelResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoLabelResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoLabelResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_logout_request.go b/sdk/go/model_dto_logout_request.go
new file mode 100644
index 0000000..a874279
--- /dev/null
+++ b/sdk/go/model_dto_logout_request.go
@@ -0,0 +1,124 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoLogoutRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoLogoutRequest{}
+
+// DtoLogoutRequest struct for DtoLogoutRequest
+type DtoLogoutRequest struct {
+ RefreshToken *string `json:"refresh_token,omitempty"`
+}
+
+// NewDtoLogoutRequest instantiates a new DtoLogoutRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoLogoutRequest() *DtoLogoutRequest {
+ this := DtoLogoutRequest{}
+ return &this
+}
+
+// NewDtoLogoutRequestWithDefaults instantiates a new DtoLogoutRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoLogoutRequestWithDefaults() *DtoLogoutRequest {
+ this := DtoLogoutRequest{}
+ return &this
+}
+
+// GetRefreshToken returns the RefreshToken field value if set, zero value otherwise.
+func (o *DtoLogoutRequest) GetRefreshToken() string {
+ if o == nil || IsNil(o.RefreshToken) {
+ var ret string
+ return ret
+ }
+ return *o.RefreshToken
+}
+
+// GetRefreshTokenOk returns a tuple with the RefreshToken field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoLogoutRequest) GetRefreshTokenOk() (*string, bool) {
+ if o == nil || IsNil(o.RefreshToken) {
+ return nil, false
+ }
+ return o.RefreshToken, true
+}
+
+// HasRefreshToken returns a boolean if a field has been set.
+func (o *DtoLogoutRequest) HasRefreshToken() bool {
+ if o != nil && !IsNil(o.RefreshToken) {
+ return true
+ }
+
+ return false
+}
+
+// SetRefreshToken gets a reference to the given string and assigns it to the RefreshToken field.
+func (o *DtoLogoutRequest) SetRefreshToken(v string) {
+ o.RefreshToken = &v
+}
+
+func (o DtoLogoutRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoLogoutRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.RefreshToken) {
+ toSerialize["refresh_token"] = o.RefreshToken
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoLogoutRequest struct {
+ value *DtoLogoutRequest
+ isSet bool
+}
+
+func (v NullableDtoLogoutRequest) Get() *DtoLogoutRequest {
+ return v.value
+}
+
+func (v *NullableDtoLogoutRequest) Set(val *DtoLogoutRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoLogoutRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoLogoutRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoLogoutRequest(val *DtoLogoutRequest) *NullableDtoLogoutRequest {
+ return &NullableDtoLogoutRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoLogoutRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoLogoutRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_refresh_request.go b/sdk/go/model_dto_refresh_request.go
new file mode 100644
index 0000000..bce052d
--- /dev/null
+++ b/sdk/go/model_dto_refresh_request.go
@@ -0,0 +1,124 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoRefreshRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoRefreshRequest{}
+
+// DtoRefreshRequest struct for DtoRefreshRequest
+type DtoRefreshRequest struct {
+ RefreshToken *string `json:"refresh_token,omitempty"`
+}
+
+// NewDtoRefreshRequest instantiates a new DtoRefreshRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoRefreshRequest() *DtoRefreshRequest {
+ this := DtoRefreshRequest{}
+ return &this
+}
+
+// NewDtoRefreshRequestWithDefaults instantiates a new DtoRefreshRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoRefreshRequestWithDefaults() *DtoRefreshRequest {
+ this := DtoRefreshRequest{}
+ return &this
+}
+
+// GetRefreshToken returns the RefreshToken field value if set, zero value otherwise.
+func (o *DtoRefreshRequest) GetRefreshToken() string {
+ if o == nil || IsNil(o.RefreshToken) {
+ var ret string
+ return ret
+ }
+ return *o.RefreshToken
+}
+
+// GetRefreshTokenOk returns a tuple with the RefreshToken field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoRefreshRequest) GetRefreshTokenOk() (*string, bool) {
+ if o == nil || IsNil(o.RefreshToken) {
+ return nil, false
+ }
+ return o.RefreshToken, true
+}
+
+// HasRefreshToken returns a boolean if a field has been set.
+func (o *DtoRefreshRequest) HasRefreshToken() bool {
+ if o != nil && !IsNil(o.RefreshToken) {
+ return true
+ }
+
+ return false
+}
+
+// SetRefreshToken gets a reference to the given string and assigns it to the RefreshToken field.
+func (o *DtoRefreshRequest) SetRefreshToken(v string) {
+ o.RefreshToken = &v
+}
+
+func (o DtoRefreshRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoRefreshRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.RefreshToken) {
+ toSerialize["refresh_token"] = o.RefreshToken
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoRefreshRequest struct {
+ value *DtoRefreshRequest
+ isSet bool
+}
+
+func (v NullableDtoRefreshRequest) Get() *DtoRefreshRequest {
+ return v.value
+}
+
+func (v *NullableDtoRefreshRequest) Set(val *DtoRefreshRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoRefreshRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoRefreshRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoRefreshRequest(val *DtoRefreshRequest) *NullableDtoRefreshRequest {
+ return &NullableDtoRefreshRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoRefreshRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoRefreshRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_server_response.go b/sdk/go/model_dto_server_response.go
new file mode 100644
index 0000000..e4d5665
--- /dev/null
+++ b/sdk/go/model_dto_server_response.go
@@ -0,0 +1,484 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoServerResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoServerResponse{}
+
+// DtoServerResponse struct for DtoServerResponse
+type DtoServerResponse struct {
+ CreatedAt *string `json:"created_at,omitempty"`
+ Hostname *string `json:"hostname,omitempty"`
+ Id *string `json:"id,omitempty"`
+ OrganizationId *string `json:"organization_id,omitempty"`
+ PrivateIpAddress *string `json:"private_ip_address,omitempty"`
+ PublicIpAddress *string `json:"public_ip_address,omitempty"`
+ Role *string `json:"role,omitempty"`
+ SshKeyId *string `json:"ssh_key_id,omitempty"`
+ SshUser *string `json:"ssh_user,omitempty"`
+ Status *string `json:"status,omitempty"`
+ UpdatedAt *string `json:"updated_at,omitempty"`
+}
+
+// NewDtoServerResponse instantiates a new DtoServerResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoServerResponse() *DtoServerResponse {
+ this := DtoServerResponse{}
+ return &this
+}
+
+// NewDtoServerResponseWithDefaults instantiates a new DtoServerResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoServerResponseWithDefaults() *DtoServerResponse {
+ this := DtoServerResponse{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetCreatedAt() string {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetCreatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *DtoServerResponse) SetCreatedAt(v string) {
+ o.CreatedAt = &v
+}
+
+// GetHostname returns the Hostname field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetHostname() string {
+ if o == nil || IsNil(o.Hostname) {
+ var ret string
+ return ret
+ }
+ return *o.Hostname
+}
+
+// GetHostnameOk returns a tuple with the Hostname field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetHostnameOk() (*string, bool) {
+ if o == nil || IsNil(o.Hostname) {
+ return nil, false
+ }
+ return o.Hostname, true
+}
+
+// HasHostname returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasHostname() bool {
+ if o != nil && !IsNil(o.Hostname) {
+ return true
+ }
+
+ return false
+}
+
+// SetHostname gets a reference to the given string and assigns it to the Hostname field.
+func (o *DtoServerResponse) SetHostname(v string) {
+ o.Hostname = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *DtoServerResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetOrganizationId returns the OrganizationId field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetOrganizationId() string {
+ if o == nil || IsNil(o.OrganizationId) {
+ var ret string
+ return ret
+ }
+ return *o.OrganizationId
+}
+
+// GetOrganizationIdOk returns a tuple with the OrganizationId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetOrganizationIdOk() (*string, bool) {
+ if o == nil || IsNil(o.OrganizationId) {
+ return nil, false
+ }
+ return o.OrganizationId, true
+}
+
+// HasOrganizationId returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasOrganizationId() bool {
+ if o != nil && !IsNil(o.OrganizationId) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrganizationId gets a reference to the given string and assigns it to the OrganizationId field.
+func (o *DtoServerResponse) SetOrganizationId(v string) {
+ o.OrganizationId = &v
+}
+
+// GetPrivateIpAddress returns the PrivateIpAddress field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetPrivateIpAddress() string {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PrivateIpAddress
+}
+
+// GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetPrivateIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ return nil, false
+ }
+ return o.PrivateIpAddress, true
+}
+
+// HasPrivateIpAddress returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasPrivateIpAddress() bool {
+ if o != nil && !IsNil(o.PrivateIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrivateIpAddress gets a reference to the given string and assigns it to the PrivateIpAddress field.
+func (o *DtoServerResponse) SetPrivateIpAddress(v string) {
+ o.PrivateIpAddress = &v
+}
+
+// GetPublicIpAddress returns the PublicIpAddress field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetPublicIpAddress() string {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PublicIpAddress
+}
+
+// GetPublicIpAddressOk returns a tuple with the PublicIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetPublicIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ return nil, false
+ }
+ return o.PublicIpAddress, true
+}
+
+// HasPublicIpAddress returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasPublicIpAddress() bool {
+ if o != nil && !IsNil(o.PublicIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPublicIpAddress gets a reference to the given string and assigns it to the PublicIpAddress field.
+func (o *DtoServerResponse) SetPublicIpAddress(v string) {
+ o.PublicIpAddress = &v
+}
+
+// GetRole returns the Role field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetRole() string {
+ if o == nil || IsNil(o.Role) {
+ var ret string
+ return ret
+ }
+ return *o.Role
+}
+
+// GetRoleOk returns a tuple with the Role field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetRoleOk() (*string, bool) {
+ if o == nil || IsNil(o.Role) {
+ return nil, false
+ }
+ return o.Role, true
+}
+
+// HasRole returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasRole() bool {
+ if o != nil && !IsNil(o.Role) {
+ return true
+ }
+
+ return false
+}
+
+// SetRole gets a reference to the given string and assigns it to the Role field.
+func (o *DtoServerResponse) SetRole(v string) {
+ o.Role = &v
+}
+
+// GetSshKeyId returns the SshKeyId field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetSshKeyId() string {
+ if o == nil || IsNil(o.SshKeyId) {
+ var ret string
+ return ret
+ }
+ return *o.SshKeyId
+}
+
+// GetSshKeyIdOk returns a tuple with the SshKeyId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetSshKeyIdOk() (*string, bool) {
+ if o == nil || IsNil(o.SshKeyId) {
+ return nil, false
+ }
+ return o.SshKeyId, true
+}
+
+// HasSshKeyId returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasSshKeyId() bool {
+ if o != nil && !IsNil(o.SshKeyId) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshKeyId gets a reference to the given string and assigns it to the SshKeyId field.
+func (o *DtoServerResponse) SetSshKeyId(v string) {
+ o.SshKeyId = &v
+}
+
+// GetSshUser returns the SshUser field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetSshUser() string {
+ if o == nil || IsNil(o.SshUser) {
+ var ret string
+ return ret
+ }
+ return *o.SshUser
+}
+
+// GetSshUserOk returns a tuple with the SshUser field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetSshUserOk() (*string, bool) {
+ if o == nil || IsNil(o.SshUser) {
+ return nil, false
+ }
+ return o.SshUser, true
+}
+
+// HasSshUser returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasSshUser() bool {
+ if o != nil && !IsNil(o.SshUser) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshUser gets a reference to the given string and assigns it to the SshUser field.
+func (o *DtoServerResponse) SetSshUser(v string) {
+ o.SshUser = &v
+}
+
+// GetStatus returns the Status field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetStatus() string {
+ if o == nil || IsNil(o.Status) {
+ var ret string
+ return ret
+ }
+ return *o.Status
+}
+
+// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetStatusOk() (*string, bool) {
+ if o == nil || IsNil(o.Status) {
+ return nil, false
+ }
+ return o.Status, true
+}
+
+// HasStatus returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasStatus() bool {
+ if o != nil && !IsNil(o.Status) {
+ return true
+ }
+
+ return false
+}
+
+// SetStatus gets a reference to the given string and assigns it to the Status field.
+func (o *DtoServerResponse) SetStatus(v string) {
+ o.Status = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *DtoServerResponse) GetUpdatedAt() string {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoServerResponse) GetUpdatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *DtoServerResponse) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *DtoServerResponse) SetUpdatedAt(v string) {
+ o.UpdatedAt = &v
+}
+
+func (o DtoServerResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoServerResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.Hostname) {
+ toSerialize["hostname"] = o.Hostname
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.OrganizationId) {
+ toSerialize["organization_id"] = o.OrganizationId
+ }
+ if !IsNil(o.PrivateIpAddress) {
+ toSerialize["private_ip_address"] = o.PrivateIpAddress
+ }
+ if !IsNil(o.PublicIpAddress) {
+ toSerialize["public_ip_address"] = o.PublicIpAddress
+ }
+ if !IsNil(o.Role) {
+ toSerialize["role"] = o.Role
+ }
+ if !IsNil(o.SshKeyId) {
+ toSerialize["ssh_key_id"] = o.SshKeyId
+ }
+ if !IsNil(o.SshUser) {
+ toSerialize["ssh_user"] = o.SshUser
+ }
+ if !IsNil(o.Status) {
+ toSerialize["status"] = o.Status
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoServerResponse struct {
+ value *DtoServerResponse
+ isSet bool
+}
+
+func (v NullableDtoServerResponse) Get() *DtoServerResponse {
+ return v.value
+}
+
+func (v *NullableDtoServerResponse) Set(val *DtoServerResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoServerResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoServerResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoServerResponse(val *DtoServerResponse) *NullableDtoServerResponse {
+ return &NullableDtoServerResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoServerResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoServerResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_ssh_response.go b/sdk/go/model_dto_ssh_response.go
new file mode 100644
index 0000000..d53c4f3
--- /dev/null
+++ b/sdk/go/model_dto_ssh_response.go
@@ -0,0 +1,340 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoSshResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoSshResponse{}
+
+// DtoSshResponse struct for DtoSshResponse
+type DtoSshResponse struct {
+ CreatedAt *string `json:"created_at,omitempty"`
+ Fingerprint *string `json:"fingerprint,omitempty"`
+ Id *string `json:"id,omitempty"`
+ Name *string `json:"name,omitempty"`
+ OrganizationId *string `json:"organization_id,omitempty"`
+ PublicKey *string `json:"public_key,omitempty"`
+ UpdatedAt *string `json:"updated_at,omitempty"`
+}
+
+// NewDtoSshResponse instantiates a new DtoSshResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoSshResponse() *DtoSshResponse {
+ this := DtoSshResponse{}
+ return &this
+}
+
+// NewDtoSshResponseWithDefaults instantiates a new DtoSshResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoSshResponseWithDefaults() *DtoSshResponse {
+ this := DtoSshResponse{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetCreatedAt() string {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetCreatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *DtoSshResponse) SetCreatedAt(v string) {
+ o.CreatedAt = &v
+}
+
+// GetFingerprint returns the Fingerprint field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetFingerprint() string {
+ if o == nil || IsNil(o.Fingerprint) {
+ var ret string
+ return ret
+ }
+ return *o.Fingerprint
+}
+
+// GetFingerprintOk returns a tuple with the Fingerprint field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetFingerprintOk() (*string, bool) {
+ if o == nil || IsNil(o.Fingerprint) {
+ return nil, false
+ }
+ return o.Fingerprint, true
+}
+
+// HasFingerprint returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasFingerprint() bool {
+ if o != nil && !IsNil(o.Fingerprint) {
+ return true
+ }
+
+ return false
+}
+
+// SetFingerprint gets a reference to the given string and assigns it to the Fingerprint field.
+func (o *DtoSshResponse) SetFingerprint(v string) {
+ o.Fingerprint = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *DtoSshResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *DtoSshResponse) SetName(v string) {
+ o.Name = &v
+}
+
+// GetOrganizationId returns the OrganizationId field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetOrganizationId() string {
+ if o == nil || IsNil(o.OrganizationId) {
+ var ret string
+ return ret
+ }
+ return *o.OrganizationId
+}
+
+// GetOrganizationIdOk returns a tuple with the OrganizationId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetOrganizationIdOk() (*string, bool) {
+ if o == nil || IsNil(o.OrganizationId) {
+ return nil, false
+ }
+ return o.OrganizationId, true
+}
+
+// HasOrganizationId returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasOrganizationId() bool {
+ if o != nil && !IsNil(o.OrganizationId) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrganizationId gets a reference to the given string and assigns it to the OrganizationId field.
+func (o *DtoSshResponse) SetOrganizationId(v string) {
+ o.OrganizationId = &v
+}
+
+// GetPublicKey returns the PublicKey field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetPublicKey() string {
+ if o == nil || IsNil(o.PublicKey) {
+ var ret string
+ return ret
+ }
+ return *o.PublicKey
+}
+
+// GetPublicKeyOk returns a tuple with the PublicKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetPublicKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.PublicKey) {
+ return nil, false
+ }
+ return o.PublicKey, true
+}
+
+// HasPublicKey returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasPublicKey() bool {
+ if o != nil && !IsNil(o.PublicKey) {
+ return true
+ }
+
+ return false
+}
+
+// SetPublicKey gets a reference to the given string and assigns it to the PublicKey field.
+func (o *DtoSshResponse) SetPublicKey(v string) {
+ o.PublicKey = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *DtoSshResponse) GetUpdatedAt() string {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshResponse) GetUpdatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *DtoSshResponse) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *DtoSshResponse) SetUpdatedAt(v string) {
+ o.UpdatedAt = &v
+}
+
+func (o DtoSshResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoSshResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.Fingerprint) {
+ toSerialize["fingerprint"] = o.Fingerprint
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.OrganizationId) {
+ toSerialize["organization_id"] = o.OrganizationId
+ }
+ if !IsNil(o.PublicKey) {
+ toSerialize["public_key"] = o.PublicKey
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoSshResponse struct {
+ value *DtoSshResponse
+ isSet bool
+}
+
+func (v NullableDtoSshResponse) Get() *DtoSshResponse {
+ return v.value
+}
+
+func (v *NullableDtoSshResponse) Set(val *DtoSshResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoSshResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoSshResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoSshResponse(val *DtoSshResponse) *NullableDtoSshResponse {
+ return &NullableDtoSshResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoSshResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoSshResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_ssh_reveal_response.go b/sdk/go/model_dto_ssh_reveal_response.go
new file mode 100644
index 0000000..b3eba6f
--- /dev/null
+++ b/sdk/go/model_dto_ssh_reveal_response.go
@@ -0,0 +1,376 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoSshRevealResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoSshRevealResponse{}
+
+// DtoSshRevealResponse struct for DtoSshRevealResponse
+type DtoSshRevealResponse struct {
+ CreatedAt *string `json:"created_at,omitempty"`
+ Fingerprint *string `json:"fingerprint,omitempty"`
+ Id *string `json:"id,omitempty"`
+ Name *string `json:"name,omitempty"`
+ OrganizationId *string `json:"organization_id,omitempty"`
+ PrivateKey *string `json:"private_key,omitempty"`
+ PublicKey *string `json:"public_key,omitempty"`
+ UpdatedAt *string `json:"updated_at,omitempty"`
+}
+
+// NewDtoSshRevealResponse instantiates a new DtoSshRevealResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoSshRevealResponse() *DtoSshRevealResponse {
+ this := DtoSshRevealResponse{}
+ return &this
+}
+
+// NewDtoSshRevealResponseWithDefaults instantiates a new DtoSshRevealResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoSshRevealResponseWithDefaults() *DtoSshRevealResponse {
+ this := DtoSshRevealResponse{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetCreatedAt() string {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetCreatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *DtoSshRevealResponse) SetCreatedAt(v string) {
+ o.CreatedAt = &v
+}
+
+// GetFingerprint returns the Fingerprint field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetFingerprint() string {
+ if o == nil || IsNil(o.Fingerprint) {
+ var ret string
+ return ret
+ }
+ return *o.Fingerprint
+}
+
+// GetFingerprintOk returns a tuple with the Fingerprint field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetFingerprintOk() (*string, bool) {
+ if o == nil || IsNil(o.Fingerprint) {
+ return nil, false
+ }
+ return o.Fingerprint, true
+}
+
+// HasFingerprint returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasFingerprint() bool {
+ if o != nil && !IsNil(o.Fingerprint) {
+ return true
+ }
+
+ return false
+}
+
+// SetFingerprint gets a reference to the given string and assigns it to the Fingerprint field.
+func (o *DtoSshRevealResponse) SetFingerprint(v string) {
+ o.Fingerprint = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *DtoSshRevealResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *DtoSshRevealResponse) SetName(v string) {
+ o.Name = &v
+}
+
+// GetOrganizationId returns the OrganizationId field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetOrganizationId() string {
+ if o == nil || IsNil(o.OrganizationId) {
+ var ret string
+ return ret
+ }
+ return *o.OrganizationId
+}
+
+// GetOrganizationIdOk returns a tuple with the OrganizationId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetOrganizationIdOk() (*string, bool) {
+ if o == nil || IsNil(o.OrganizationId) {
+ return nil, false
+ }
+ return o.OrganizationId, true
+}
+
+// HasOrganizationId returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasOrganizationId() bool {
+ if o != nil && !IsNil(o.OrganizationId) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrganizationId gets a reference to the given string and assigns it to the OrganizationId field.
+func (o *DtoSshRevealResponse) SetOrganizationId(v string) {
+ o.OrganizationId = &v
+}
+
+// GetPrivateKey returns the PrivateKey field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetPrivateKey() string {
+ if o == nil || IsNil(o.PrivateKey) {
+ var ret string
+ return ret
+ }
+ return *o.PrivateKey
+}
+
+// GetPrivateKeyOk returns a tuple with the PrivateKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetPrivateKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.PrivateKey) {
+ return nil, false
+ }
+ return o.PrivateKey, true
+}
+
+// HasPrivateKey returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasPrivateKey() bool {
+ if o != nil && !IsNil(o.PrivateKey) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrivateKey gets a reference to the given string and assigns it to the PrivateKey field.
+func (o *DtoSshRevealResponse) SetPrivateKey(v string) {
+ o.PrivateKey = &v
+}
+
+// GetPublicKey returns the PublicKey field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetPublicKey() string {
+ if o == nil || IsNil(o.PublicKey) {
+ var ret string
+ return ret
+ }
+ return *o.PublicKey
+}
+
+// GetPublicKeyOk returns a tuple with the PublicKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetPublicKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.PublicKey) {
+ return nil, false
+ }
+ return o.PublicKey, true
+}
+
+// HasPublicKey returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasPublicKey() bool {
+ if o != nil && !IsNil(o.PublicKey) {
+ return true
+ }
+
+ return false
+}
+
+// SetPublicKey gets a reference to the given string and assigns it to the PublicKey field.
+func (o *DtoSshRevealResponse) SetPublicKey(v string) {
+ o.PublicKey = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *DtoSshRevealResponse) GetUpdatedAt() string {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoSshRevealResponse) GetUpdatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *DtoSshRevealResponse) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given string and assigns it to the UpdatedAt field.
+func (o *DtoSshRevealResponse) SetUpdatedAt(v string) {
+ o.UpdatedAt = &v
+}
+
+func (o DtoSshRevealResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoSshRevealResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.Fingerprint) {
+ toSerialize["fingerprint"] = o.Fingerprint
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.OrganizationId) {
+ toSerialize["organization_id"] = o.OrganizationId
+ }
+ if !IsNil(o.PrivateKey) {
+ toSerialize["private_key"] = o.PrivateKey
+ }
+ if !IsNil(o.PublicKey) {
+ toSerialize["public_key"] = o.PublicKey
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoSshRevealResponse struct {
+ value *DtoSshRevealResponse
+ isSet bool
+}
+
+func (v NullableDtoSshRevealResponse) Get() *DtoSshRevealResponse {
+ return v.value
+}
+
+func (v *NullableDtoSshRevealResponse) Set(val *DtoSshRevealResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoSshRevealResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoSshRevealResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoSshRevealResponse(val *DtoSshRevealResponse) *NullableDtoSshRevealResponse {
+ return &NullableDtoSshRevealResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoSshRevealResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoSshRevealResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_taint_response.go b/sdk/go/model_dto_taint_response.go
new file mode 100644
index 0000000..b9ec89f
--- /dev/null
+++ b/sdk/go/model_dto_taint_response.go
@@ -0,0 +1,232 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoTaintResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoTaintResponse{}
+
+// DtoTaintResponse struct for DtoTaintResponse
+type DtoTaintResponse struct {
+ Effect *string `json:"effect,omitempty"`
+ Id *string `json:"id,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoTaintResponse instantiates a new DtoTaintResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoTaintResponse() *DtoTaintResponse {
+ this := DtoTaintResponse{}
+ return &this
+}
+
+// NewDtoTaintResponseWithDefaults instantiates a new DtoTaintResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoTaintResponseWithDefaults() *DtoTaintResponse {
+ this := DtoTaintResponse{}
+ return &this
+}
+
+// GetEffect returns the Effect field value if set, zero value otherwise.
+func (o *DtoTaintResponse) GetEffect() string {
+ if o == nil || IsNil(o.Effect) {
+ var ret string
+ return ret
+ }
+ return *o.Effect
+}
+
+// GetEffectOk returns a tuple with the Effect field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTaintResponse) GetEffectOk() (*string, bool) {
+ if o == nil || IsNil(o.Effect) {
+ return nil, false
+ }
+ return o.Effect, true
+}
+
+// HasEffect returns a boolean if a field has been set.
+func (o *DtoTaintResponse) HasEffect() bool {
+ if o != nil && !IsNil(o.Effect) {
+ return true
+ }
+
+ return false
+}
+
+// SetEffect gets a reference to the given string and assigns it to the Effect field.
+func (o *DtoTaintResponse) SetEffect(v string) {
+ o.Effect = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *DtoTaintResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTaintResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *DtoTaintResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *DtoTaintResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoTaintResponse) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTaintResponse) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoTaintResponse) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoTaintResponse) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoTaintResponse) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTaintResponse) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoTaintResponse) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoTaintResponse) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoTaintResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoTaintResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Effect) {
+ toSerialize["effect"] = o.Effect
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoTaintResponse struct {
+ value *DtoTaintResponse
+ isSet bool
+}
+
+func (v NullableDtoTaintResponse) Get() *DtoTaintResponse {
+ return v.value
+}
+
+func (v *NullableDtoTaintResponse) Set(val *DtoTaintResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoTaintResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoTaintResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoTaintResponse(val *DtoTaintResponse) *NullableDtoTaintResponse {
+ return &NullableDtoTaintResponse{value: val, isSet: true}
+}
+
+func (v NullableDtoTaintResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoTaintResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_token_pair.go b/sdk/go/model_dto_token_pair.go
new file mode 100644
index 0000000..120f4a7
--- /dev/null
+++ b/sdk/go/model_dto_token_pair.go
@@ -0,0 +1,232 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoTokenPair type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoTokenPair{}
+
+// DtoTokenPair struct for DtoTokenPair
+type DtoTokenPair struct {
+ AccessToken *string `json:"access_token,omitempty"`
+ ExpiresIn *int32 `json:"expires_in,omitempty"`
+ RefreshToken *string `json:"refresh_token,omitempty"`
+ TokenType *string `json:"token_type,omitempty"`
+}
+
+// NewDtoTokenPair instantiates a new DtoTokenPair object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoTokenPair() *DtoTokenPair {
+ this := DtoTokenPair{}
+ return &this
+}
+
+// NewDtoTokenPairWithDefaults instantiates a new DtoTokenPair object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoTokenPairWithDefaults() *DtoTokenPair {
+ this := DtoTokenPair{}
+ return &this
+}
+
+// GetAccessToken returns the AccessToken field value if set, zero value otherwise.
+func (o *DtoTokenPair) GetAccessToken() string {
+ if o == nil || IsNil(o.AccessToken) {
+ var ret string
+ return ret
+ }
+ return *o.AccessToken
+}
+
+// GetAccessTokenOk returns a tuple with the AccessToken field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTokenPair) GetAccessTokenOk() (*string, bool) {
+ if o == nil || IsNil(o.AccessToken) {
+ return nil, false
+ }
+ return o.AccessToken, true
+}
+
+// HasAccessToken returns a boolean if a field has been set.
+func (o *DtoTokenPair) HasAccessToken() bool {
+ if o != nil && !IsNil(o.AccessToken) {
+ return true
+ }
+
+ return false
+}
+
+// SetAccessToken gets a reference to the given string and assigns it to the AccessToken field.
+func (o *DtoTokenPair) SetAccessToken(v string) {
+ o.AccessToken = &v
+}
+
+// GetExpiresIn returns the ExpiresIn field value if set, zero value otherwise.
+func (o *DtoTokenPair) GetExpiresIn() int32 {
+ if o == nil || IsNil(o.ExpiresIn) {
+ var ret int32
+ return ret
+ }
+ return *o.ExpiresIn
+}
+
+// GetExpiresInOk returns a tuple with the ExpiresIn field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTokenPair) GetExpiresInOk() (*int32, bool) {
+ if o == nil || IsNil(o.ExpiresIn) {
+ return nil, false
+ }
+ return o.ExpiresIn, true
+}
+
+// HasExpiresIn returns a boolean if a field has been set.
+func (o *DtoTokenPair) HasExpiresIn() bool {
+ if o != nil && !IsNil(o.ExpiresIn) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresIn gets a reference to the given int32 and assigns it to the ExpiresIn field.
+func (o *DtoTokenPair) SetExpiresIn(v int32) {
+ o.ExpiresIn = &v
+}
+
+// GetRefreshToken returns the RefreshToken field value if set, zero value otherwise.
+func (o *DtoTokenPair) GetRefreshToken() string {
+ if o == nil || IsNil(o.RefreshToken) {
+ var ret string
+ return ret
+ }
+ return *o.RefreshToken
+}
+
+// GetRefreshTokenOk returns a tuple with the RefreshToken field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTokenPair) GetRefreshTokenOk() (*string, bool) {
+ if o == nil || IsNil(o.RefreshToken) {
+ return nil, false
+ }
+ return o.RefreshToken, true
+}
+
+// HasRefreshToken returns a boolean if a field has been set.
+func (o *DtoTokenPair) HasRefreshToken() bool {
+ if o != nil && !IsNil(o.RefreshToken) {
+ return true
+ }
+
+ return false
+}
+
+// SetRefreshToken gets a reference to the given string and assigns it to the RefreshToken field.
+func (o *DtoTokenPair) SetRefreshToken(v string) {
+ o.RefreshToken = &v
+}
+
+// GetTokenType returns the TokenType field value if set, zero value otherwise.
+func (o *DtoTokenPair) GetTokenType() string {
+ if o == nil || IsNil(o.TokenType) {
+ var ret string
+ return ret
+ }
+ return *o.TokenType
+}
+
+// GetTokenTypeOk returns a tuple with the TokenType field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoTokenPair) GetTokenTypeOk() (*string, bool) {
+ if o == nil || IsNil(o.TokenType) {
+ return nil, false
+ }
+ return o.TokenType, true
+}
+
+// HasTokenType returns a boolean if a field has been set.
+func (o *DtoTokenPair) HasTokenType() bool {
+ if o != nil && !IsNil(o.TokenType) {
+ return true
+ }
+
+ return false
+}
+
+// SetTokenType gets a reference to the given string and assigns it to the TokenType field.
+func (o *DtoTokenPair) SetTokenType(v string) {
+ o.TokenType = &v
+}
+
+func (o DtoTokenPair) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoTokenPair) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.AccessToken) {
+ toSerialize["access_token"] = o.AccessToken
+ }
+ if !IsNil(o.ExpiresIn) {
+ toSerialize["expires_in"] = o.ExpiresIn
+ }
+ if !IsNil(o.RefreshToken) {
+ toSerialize["refresh_token"] = o.RefreshToken
+ }
+ if !IsNil(o.TokenType) {
+ toSerialize["token_type"] = o.TokenType
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoTokenPair struct {
+ value *DtoTokenPair
+ isSet bool
+}
+
+func (v NullableDtoTokenPair) Get() *DtoTokenPair {
+ return v.value
+}
+
+func (v *NullableDtoTokenPair) Set(val *DtoTokenPair) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoTokenPair) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoTokenPair) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoTokenPair(val *DtoTokenPair) *NullableDtoTokenPair {
+ return &NullableDtoTokenPair{value: val, isSet: true}
+}
+
+func (v NullableDtoTokenPair) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoTokenPair) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_update_label_request.go b/sdk/go/model_dto_update_label_request.go
new file mode 100644
index 0000000..f3106de
--- /dev/null
+++ b/sdk/go/model_dto_update_label_request.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoUpdateLabelRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoUpdateLabelRequest{}
+
+// DtoUpdateLabelRequest struct for DtoUpdateLabelRequest
+type DtoUpdateLabelRequest struct {
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoUpdateLabelRequest instantiates a new DtoUpdateLabelRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoUpdateLabelRequest() *DtoUpdateLabelRequest {
+ this := DtoUpdateLabelRequest{}
+ return &this
+}
+
+// NewDtoUpdateLabelRequestWithDefaults instantiates a new DtoUpdateLabelRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoUpdateLabelRequestWithDefaults() *DtoUpdateLabelRequest {
+ this := DtoUpdateLabelRequest{}
+ return &this
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoUpdateLabelRequest) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateLabelRequest) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoUpdateLabelRequest) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoUpdateLabelRequest) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoUpdateLabelRequest) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateLabelRequest) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoUpdateLabelRequest) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoUpdateLabelRequest) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoUpdateLabelRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoUpdateLabelRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoUpdateLabelRequest struct {
+ value *DtoUpdateLabelRequest
+ isSet bool
+}
+
+func (v NullableDtoUpdateLabelRequest) Get() *DtoUpdateLabelRequest {
+ return v.value
+}
+
+func (v *NullableDtoUpdateLabelRequest) Set(val *DtoUpdateLabelRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoUpdateLabelRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoUpdateLabelRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoUpdateLabelRequest(val *DtoUpdateLabelRequest) *NullableDtoUpdateLabelRequest {
+ return &NullableDtoUpdateLabelRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoUpdateLabelRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoUpdateLabelRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_update_server_request.go b/sdk/go/model_dto_update_server_request.go
new file mode 100644
index 0000000..5c13513
--- /dev/null
+++ b/sdk/go/model_dto_update_server_request.go
@@ -0,0 +1,340 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoUpdateServerRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoUpdateServerRequest{}
+
+// DtoUpdateServerRequest struct for DtoUpdateServerRequest
+type DtoUpdateServerRequest struct {
+ Hostname *string `json:"hostname,omitempty"`
+ PrivateIpAddress *string `json:"private_ip_address,omitempty"`
+ PublicIpAddress *string `json:"public_ip_address,omitempty"`
+ Role *string `json:"role,omitempty"`
+ SshKeyId *string `json:"ssh_key_id,omitempty"`
+ SshUser *string `json:"ssh_user,omitempty"`
+ Status *string `json:"status,omitempty"`
+}
+
+// NewDtoUpdateServerRequest instantiates a new DtoUpdateServerRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoUpdateServerRequest() *DtoUpdateServerRequest {
+ this := DtoUpdateServerRequest{}
+ return &this
+}
+
+// NewDtoUpdateServerRequestWithDefaults instantiates a new DtoUpdateServerRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoUpdateServerRequestWithDefaults() *DtoUpdateServerRequest {
+ this := DtoUpdateServerRequest{}
+ return &this
+}
+
+// GetHostname returns the Hostname field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetHostname() string {
+ if o == nil || IsNil(o.Hostname) {
+ var ret string
+ return ret
+ }
+ return *o.Hostname
+}
+
+// GetHostnameOk returns a tuple with the Hostname field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetHostnameOk() (*string, bool) {
+ if o == nil || IsNil(o.Hostname) {
+ return nil, false
+ }
+ return o.Hostname, true
+}
+
+// HasHostname returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasHostname() bool {
+ if o != nil && !IsNil(o.Hostname) {
+ return true
+ }
+
+ return false
+}
+
+// SetHostname gets a reference to the given string and assigns it to the Hostname field.
+func (o *DtoUpdateServerRequest) SetHostname(v string) {
+ o.Hostname = &v
+}
+
+// GetPrivateIpAddress returns the PrivateIpAddress field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetPrivateIpAddress() string {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PrivateIpAddress
+}
+
+// GetPrivateIpAddressOk returns a tuple with the PrivateIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetPrivateIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PrivateIpAddress) {
+ return nil, false
+ }
+ return o.PrivateIpAddress, true
+}
+
+// HasPrivateIpAddress returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasPrivateIpAddress() bool {
+ if o != nil && !IsNil(o.PrivateIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrivateIpAddress gets a reference to the given string and assigns it to the PrivateIpAddress field.
+func (o *DtoUpdateServerRequest) SetPrivateIpAddress(v string) {
+ o.PrivateIpAddress = &v
+}
+
+// GetPublicIpAddress returns the PublicIpAddress field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetPublicIpAddress() string {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ var ret string
+ return ret
+ }
+ return *o.PublicIpAddress
+}
+
+// GetPublicIpAddressOk returns a tuple with the PublicIpAddress field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetPublicIpAddressOk() (*string, bool) {
+ if o == nil || IsNil(o.PublicIpAddress) {
+ return nil, false
+ }
+ return o.PublicIpAddress, true
+}
+
+// HasPublicIpAddress returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasPublicIpAddress() bool {
+ if o != nil && !IsNil(o.PublicIpAddress) {
+ return true
+ }
+
+ return false
+}
+
+// SetPublicIpAddress gets a reference to the given string and assigns it to the PublicIpAddress field.
+func (o *DtoUpdateServerRequest) SetPublicIpAddress(v string) {
+ o.PublicIpAddress = &v
+}
+
+// GetRole returns the Role field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetRole() string {
+ if o == nil || IsNil(o.Role) {
+ var ret string
+ return ret
+ }
+ return *o.Role
+}
+
+// GetRoleOk returns a tuple with the Role field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetRoleOk() (*string, bool) {
+ if o == nil || IsNil(o.Role) {
+ return nil, false
+ }
+ return o.Role, true
+}
+
+// HasRole returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasRole() bool {
+ if o != nil && !IsNil(o.Role) {
+ return true
+ }
+
+ return false
+}
+
+// SetRole gets a reference to the given string and assigns it to the Role field.
+func (o *DtoUpdateServerRequest) SetRole(v string) {
+ o.Role = &v
+}
+
+// GetSshKeyId returns the SshKeyId field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetSshKeyId() string {
+ if o == nil || IsNil(o.SshKeyId) {
+ var ret string
+ return ret
+ }
+ return *o.SshKeyId
+}
+
+// GetSshKeyIdOk returns a tuple with the SshKeyId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetSshKeyIdOk() (*string, bool) {
+ if o == nil || IsNil(o.SshKeyId) {
+ return nil, false
+ }
+ return o.SshKeyId, true
+}
+
+// HasSshKeyId returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasSshKeyId() bool {
+ if o != nil && !IsNil(o.SshKeyId) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshKeyId gets a reference to the given string and assigns it to the SshKeyId field.
+func (o *DtoUpdateServerRequest) SetSshKeyId(v string) {
+ o.SshKeyId = &v
+}
+
+// GetSshUser returns the SshUser field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetSshUser() string {
+ if o == nil || IsNil(o.SshUser) {
+ var ret string
+ return ret
+ }
+ return *o.SshUser
+}
+
+// GetSshUserOk returns a tuple with the SshUser field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetSshUserOk() (*string, bool) {
+ if o == nil || IsNil(o.SshUser) {
+ return nil, false
+ }
+ return o.SshUser, true
+}
+
+// HasSshUser returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasSshUser() bool {
+ if o != nil && !IsNil(o.SshUser) {
+ return true
+ }
+
+ return false
+}
+
+// SetSshUser gets a reference to the given string and assigns it to the SshUser field.
+func (o *DtoUpdateServerRequest) SetSshUser(v string) {
+ o.SshUser = &v
+}
+
+// GetStatus returns the Status field value if set, zero value otherwise.
+func (o *DtoUpdateServerRequest) GetStatus() string {
+ if o == nil || IsNil(o.Status) {
+ var ret string
+ return ret
+ }
+ return *o.Status
+}
+
+// GetStatusOk returns a tuple with the Status field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateServerRequest) GetStatusOk() (*string, bool) {
+ if o == nil || IsNil(o.Status) {
+ return nil, false
+ }
+ return o.Status, true
+}
+
+// HasStatus returns a boolean if a field has been set.
+func (o *DtoUpdateServerRequest) HasStatus() bool {
+ if o != nil && !IsNil(o.Status) {
+ return true
+ }
+
+ return false
+}
+
+// SetStatus gets a reference to the given string and assigns it to the Status field.
+func (o *DtoUpdateServerRequest) SetStatus(v string) {
+ o.Status = &v
+}
+
+func (o DtoUpdateServerRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoUpdateServerRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Hostname) {
+ toSerialize["hostname"] = o.Hostname
+ }
+ if !IsNil(o.PrivateIpAddress) {
+ toSerialize["private_ip_address"] = o.PrivateIpAddress
+ }
+ if !IsNil(o.PublicIpAddress) {
+ toSerialize["public_ip_address"] = o.PublicIpAddress
+ }
+ if !IsNil(o.Role) {
+ toSerialize["role"] = o.Role
+ }
+ if !IsNil(o.SshKeyId) {
+ toSerialize["ssh_key_id"] = o.SshKeyId
+ }
+ if !IsNil(o.SshUser) {
+ toSerialize["ssh_user"] = o.SshUser
+ }
+ if !IsNil(o.Status) {
+ toSerialize["status"] = o.Status
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoUpdateServerRequest struct {
+ value *DtoUpdateServerRequest
+ isSet bool
+}
+
+func (v NullableDtoUpdateServerRequest) Get() *DtoUpdateServerRequest {
+ return v.value
+}
+
+func (v *NullableDtoUpdateServerRequest) Set(val *DtoUpdateServerRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoUpdateServerRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoUpdateServerRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoUpdateServerRequest(val *DtoUpdateServerRequest) *NullableDtoUpdateServerRequest {
+ return &NullableDtoUpdateServerRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoUpdateServerRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoUpdateServerRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_dto_update_taint_request.go b/sdk/go/model_dto_update_taint_request.go
new file mode 100644
index 0000000..f4aa3f6
--- /dev/null
+++ b/sdk/go/model_dto_update_taint_request.go
@@ -0,0 +1,196 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the DtoUpdateTaintRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &DtoUpdateTaintRequest{}
+
+// DtoUpdateTaintRequest struct for DtoUpdateTaintRequest
+type DtoUpdateTaintRequest struct {
+ Effect *string `json:"effect,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Value *string `json:"value,omitempty"`
+}
+
+// NewDtoUpdateTaintRequest instantiates a new DtoUpdateTaintRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewDtoUpdateTaintRequest() *DtoUpdateTaintRequest {
+ this := DtoUpdateTaintRequest{}
+ return &this
+}
+
+// NewDtoUpdateTaintRequestWithDefaults instantiates a new DtoUpdateTaintRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewDtoUpdateTaintRequestWithDefaults() *DtoUpdateTaintRequest {
+ this := DtoUpdateTaintRequest{}
+ return &this
+}
+
+// GetEffect returns the Effect field value if set, zero value otherwise.
+func (o *DtoUpdateTaintRequest) GetEffect() string {
+ if o == nil || IsNil(o.Effect) {
+ var ret string
+ return ret
+ }
+ return *o.Effect
+}
+
+// GetEffectOk returns a tuple with the Effect field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateTaintRequest) GetEffectOk() (*string, bool) {
+ if o == nil || IsNil(o.Effect) {
+ return nil, false
+ }
+ return o.Effect, true
+}
+
+// HasEffect returns a boolean if a field has been set.
+func (o *DtoUpdateTaintRequest) HasEffect() bool {
+ if o != nil && !IsNil(o.Effect) {
+ return true
+ }
+
+ return false
+}
+
+// SetEffect gets a reference to the given string and assigns it to the Effect field.
+func (o *DtoUpdateTaintRequest) SetEffect(v string) {
+ o.Effect = &v
+}
+
+// GetKey returns the Key field value if set, zero value otherwise.
+func (o *DtoUpdateTaintRequest) GetKey() string {
+ if o == nil || IsNil(o.Key) {
+ var ret string
+ return ret
+ }
+ return *o.Key
+}
+
+// GetKeyOk returns a tuple with the Key field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateTaintRequest) GetKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.Key) {
+ return nil, false
+ }
+ return o.Key, true
+}
+
+// HasKey returns a boolean if a field has been set.
+func (o *DtoUpdateTaintRequest) HasKey() bool {
+ if o != nil && !IsNil(o.Key) {
+ return true
+ }
+
+ return false
+}
+
+// SetKey gets a reference to the given string and assigns it to the Key field.
+func (o *DtoUpdateTaintRequest) SetKey(v string) {
+ o.Key = &v
+}
+
+// GetValue returns the Value field value if set, zero value otherwise.
+func (o *DtoUpdateTaintRequest) GetValue() string {
+ if o == nil || IsNil(o.Value) {
+ var ret string
+ return ret
+ }
+ return *o.Value
+}
+
+// GetValueOk returns a tuple with the Value field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *DtoUpdateTaintRequest) GetValueOk() (*string, bool) {
+ if o == nil || IsNil(o.Value) {
+ return nil, false
+ }
+ return o.Value, true
+}
+
+// HasValue returns a boolean if a field has been set.
+func (o *DtoUpdateTaintRequest) HasValue() bool {
+ if o != nil && !IsNil(o.Value) {
+ return true
+ }
+
+ return false
+}
+
+// SetValue gets a reference to the given string and assigns it to the Value field.
+func (o *DtoUpdateTaintRequest) SetValue(v string) {
+ o.Value = &v
+}
+
+func (o DtoUpdateTaintRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o DtoUpdateTaintRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Effect) {
+ toSerialize["effect"] = o.Effect
+ }
+ if !IsNil(o.Key) {
+ toSerialize["key"] = o.Key
+ }
+ if !IsNil(o.Value) {
+ toSerialize["value"] = o.Value
+ }
+ return toSerialize, nil
+}
+
+type NullableDtoUpdateTaintRequest struct {
+ value *DtoUpdateTaintRequest
+ isSet bool
+}
+
+func (v NullableDtoUpdateTaintRequest) Get() *DtoUpdateTaintRequest {
+ return v.value
+}
+
+func (v *NullableDtoUpdateTaintRequest) Set(val *DtoUpdateTaintRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableDtoUpdateTaintRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableDtoUpdateTaintRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableDtoUpdateTaintRequest(val *DtoUpdateTaintRequest) *NullableDtoUpdateTaintRequest {
+ return &NullableDtoUpdateTaintRequest{value: val, isSet: true}
+}
+
+func (v NullableDtoUpdateTaintRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableDtoUpdateTaintRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_create_user_key_request.go b/sdk/go/model_handlers_create_user_key_request.go
new file mode 100644
index 0000000..05d1436
--- /dev/null
+++ b/sdk/go/model_handlers_create_user_key_request.go
@@ -0,0 +1,161 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersCreateUserKeyRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersCreateUserKeyRequest{}
+
+// HandlersCreateUserKeyRequest struct for HandlersCreateUserKeyRequest
+type HandlersCreateUserKeyRequest struct {
+ // optional TTL
+ ExpiresInHours *int32 `json:"expires_in_hours,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+// NewHandlersCreateUserKeyRequest instantiates a new HandlersCreateUserKeyRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersCreateUserKeyRequest() *HandlersCreateUserKeyRequest {
+ this := HandlersCreateUserKeyRequest{}
+ return &this
+}
+
+// NewHandlersCreateUserKeyRequestWithDefaults instantiates a new HandlersCreateUserKeyRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersCreateUserKeyRequestWithDefaults() *HandlersCreateUserKeyRequest {
+ this := HandlersCreateUserKeyRequest{}
+ return &this
+}
+
+// GetExpiresInHours returns the ExpiresInHours field value if set, zero value otherwise.
+func (o *HandlersCreateUserKeyRequest) GetExpiresInHours() int32 {
+ if o == nil || IsNil(o.ExpiresInHours) {
+ var ret int32
+ return ret
+ }
+ return *o.ExpiresInHours
+}
+
+// GetExpiresInHoursOk returns a tuple with the ExpiresInHours field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersCreateUserKeyRequest) GetExpiresInHoursOk() (*int32, bool) {
+ if o == nil || IsNil(o.ExpiresInHours) {
+ return nil, false
+ }
+ return o.ExpiresInHours, true
+}
+
+// HasExpiresInHours returns a boolean if a field has been set.
+func (o *HandlersCreateUserKeyRequest) HasExpiresInHours() bool {
+ if o != nil && !IsNil(o.ExpiresInHours) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresInHours gets a reference to the given int32 and assigns it to the ExpiresInHours field.
+func (o *HandlersCreateUserKeyRequest) SetExpiresInHours(v int32) {
+ o.ExpiresInHours = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersCreateUserKeyRequest) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersCreateUserKeyRequest) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersCreateUserKeyRequest) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersCreateUserKeyRequest) SetName(v string) {
+ o.Name = &v
+}
+
+func (o HandlersCreateUserKeyRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersCreateUserKeyRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.ExpiresInHours) {
+ toSerialize["expires_in_hours"] = o.ExpiresInHours
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersCreateUserKeyRequest struct {
+ value *HandlersCreateUserKeyRequest
+ isSet bool
+}
+
+func (v NullableHandlersCreateUserKeyRequest) Get() *HandlersCreateUserKeyRequest {
+ return v.value
+}
+
+func (v *NullableHandlersCreateUserKeyRequest) Set(val *HandlersCreateUserKeyRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersCreateUserKeyRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersCreateUserKeyRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersCreateUserKeyRequest(val *HandlersCreateUserKeyRequest) *NullableHandlersCreateUserKeyRequest {
+ return &NullableHandlersCreateUserKeyRequest{value: val, isSet: true}
+}
+
+func (v NullableHandlersCreateUserKeyRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersCreateUserKeyRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_me_response.go b/sdk/go/model_handlers_me_response.go
new file mode 100644
index 0000000..8eaca86
--- /dev/null
+++ b/sdk/go/model_handlers_me_response.go
@@ -0,0 +1,414 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// checks if the HandlersMeResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersMeResponse{}
+
+// HandlersMeResponse struct for HandlersMeResponse
+type HandlersMeResponse struct {
+ AvatarUrl *string `json:"avatar_url,omitempty"`
+ CreatedAt *time.Time `json:"created_at,omitempty"`
+ DisplayName *string `json:"display_name,omitempty"`
+ Emails []ModelsUserEmail `json:"emails,omitempty"`
+ // example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ Id *string `json:"id,omitempty"`
+ IsDisabled *bool `json:"is_disabled,omitempty"`
+ Organizations []ModelsOrganization `json:"organizations,omitempty"`
+ PrimaryEmail *string `json:"primary_email,omitempty"`
+ UpdatedAt *time.Time `json:"updated_at,omitempty"`
+}
+
+// NewHandlersMeResponse instantiates a new HandlersMeResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersMeResponse() *HandlersMeResponse {
+ this := HandlersMeResponse{}
+ return &this
+}
+
+// NewHandlersMeResponseWithDefaults instantiates a new HandlersMeResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersMeResponseWithDefaults() *HandlersMeResponse {
+ this := HandlersMeResponse{}
+ return &this
+}
+
+// GetAvatarUrl returns the AvatarUrl field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetAvatarUrl() string {
+ if o == nil || IsNil(o.AvatarUrl) {
+ var ret string
+ return ret
+ }
+ return *o.AvatarUrl
+}
+
+// GetAvatarUrlOk returns a tuple with the AvatarUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetAvatarUrlOk() (*string, bool) {
+ if o == nil || IsNil(o.AvatarUrl) {
+ return nil, false
+ }
+ return o.AvatarUrl, true
+}
+
+// HasAvatarUrl returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasAvatarUrl() bool {
+ if o != nil && !IsNil(o.AvatarUrl) {
+ return true
+ }
+
+ return false
+}
+
+// SetAvatarUrl gets a reference to the given string and assigns it to the AvatarUrl field.
+func (o *HandlersMeResponse) SetAvatarUrl(v string) {
+ o.AvatarUrl = &v
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetCreatedAt() time.Time {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetCreatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *HandlersMeResponse) SetCreatedAt(v time.Time) {
+ o.CreatedAt = &v
+}
+
+// GetDisplayName returns the DisplayName field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetDisplayName() string {
+ if o == nil || IsNil(o.DisplayName) {
+ var ret string
+ return ret
+ }
+ return *o.DisplayName
+}
+
+// GetDisplayNameOk returns a tuple with the DisplayName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetDisplayNameOk() (*string, bool) {
+ if o == nil || IsNil(o.DisplayName) {
+ return nil, false
+ }
+ return o.DisplayName, true
+}
+
+// HasDisplayName returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasDisplayName() bool {
+ if o != nil && !IsNil(o.DisplayName) {
+ return true
+ }
+
+ return false
+}
+
+// SetDisplayName gets a reference to the given string and assigns it to the DisplayName field.
+func (o *HandlersMeResponse) SetDisplayName(v string) {
+ o.DisplayName = &v
+}
+
+// GetEmails returns the Emails field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetEmails() []ModelsUserEmail {
+ if o == nil || IsNil(o.Emails) {
+ var ret []ModelsUserEmail
+ return ret
+ }
+ return o.Emails
+}
+
+// GetEmailsOk returns a tuple with the Emails field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetEmailsOk() ([]ModelsUserEmail, bool) {
+ if o == nil || IsNil(o.Emails) {
+ return nil, false
+ }
+ return o.Emails, true
+}
+
+// HasEmails returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasEmails() bool {
+ if o != nil && !IsNil(o.Emails) {
+ return true
+ }
+
+ return false
+}
+
+// SetEmails gets a reference to the given []ModelsUserEmail and assigns it to the Emails field.
+func (o *HandlersMeResponse) SetEmails(v []ModelsUserEmail) {
+ o.Emails = v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *HandlersMeResponse) SetId(v string) {
+ o.Id = &v
+}
+
+// GetIsDisabled returns the IsDisabled field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetIsDisabled() bool {
+ if o == nil || IsNil(o.IsDisabled) {
+ var ret bool
+ return ret
+ }
+ return *o.IsDisabled
+}
+
+// GetIsDisabledOk returns a tuple with the IsDisabled field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetIsDisabledOk() (*bool, bool) {
+ if o == nil || IsNil(o.IsDisabled) {
+ return nil, false
+ }
+ return o.IsDisabled, true
+}
+
+// HasIsDisabled returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasIsDisabled() bool {
+ if o != nil && !IsNil(o.IsDisabled) {
+ return true
+ }
+
+ return false
+}
+
+// SetIsDisabled gets a reference to the given bool and assigns it to the IsDisabled field.
+func (o *HandlersMeResponse) SetIsDisabled(v bool) {
+ o.IsDisabled = &v
+}
+
+// GetOrganizations returns the Organizations field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetOrganizations() []ModelsOrganization {
+ if o == nil || IsNil(o.Organizations) {
+ var ret []ModelsOrganization
+ return ret
+ }
+ return o.Organizations
+}
+
+// GetOrganizationsOk returns a tuple with the Organizations field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetOrganizationsOk() ([]ModelsOrganization, bool) {
+ if o == nil || IsNil(o.Organizations) {
+ return nil, false
+ }
+ return o.Organizations, true
+}
+
+// HasOrganizations returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasOrganizations() bool {
+ if o != nil && !IsNil(o.Organizations) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrganizations gets a reference to the given []ModelsOrganization and assigns it to the Organizations field.
+func (o *HandlersMeResponse) SetOrganizations(v []ModelsOrganization) {
+ o.Organizations = v
+}
+
+// GetPrimaryEmail returns the PrimaryEmail field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetPrimaryEmail() string {
+ if o == nil || IsNil(o.PrimaryEmail) {
+ var ret string
+ return ret
+ }
+ return *o.PrimaryEmail
+}
+
+// GetPrimaryEmailOk returns a tuple with the PrimaryEmail field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetPrimaryEmailOk() (*string, bool) {
+ if o == nil || IsNil(o.PrimaryEmail) {
+ return nil, false
+ }
+ return o.PrimaryEmail, true
+}
+
+// HasPrimaryEmail returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasPrimaryEmail() bool {
+ if o != nil && !IsNil(o.PrimaryEmail) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrimaryEmail gets a reference to the given string and assigns it to the PrimaryEmail field.
+func (o *HandlersMeResponse) SetPrimaryEmail(v string) {
+ o.PrimaryEmail = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *HandlersMeResponse) GetUpdatedAt() time.Time {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMeResponse) GetUpdatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *HandlersMeResponse) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *HandlersMeResponse) SetUpdatedAt(v time.Time) {
+ o.UpdatedAt = &v
+}
+
+func (o HandlersMeResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersMeResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.AvatarUrl) {
+ toSerialize["avatar_url"] = o.AvatarUrl
+ }
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.DisplayName) {
+ toSerialize["display_name"] = o.DisplayName
+ }
+ if !IsNil(o.Emails) {
+ toSerialize["emails"] = o.Emails
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.IsDisabled) {
+ toSerialize["is_disabled"] = o.IsDisabled
+ }
+ if !IsNil(o.Organizations) {
+ toSerialize["organizations"] = o.Organizations
+ }
+ if !IsNil(o.PrimaryEmail) {
+ toSerialize["primary_email"] = o.PrimaryEmail
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersMeResponse struct {
+ value *HandlersMeResponse
+ isSet bool
+}
+
+func (v NullableHandlersMeResponse) Get() *HandlersMeResponse {
+ return v.value
+}
+
+func (v *NullableHandlersMeResponse) Set(val *HandlersMeResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersMeResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersMeResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersMeResponse(val *HandlersMeResponse) *NullableHandlersMeResponse {
+ return &NullableHandlersMeResponse{value: val, isSet: true}
+}
+
+func (v NullableHandlersMeResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersMeResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_member_out.go b/sdk/go/model_handlers_member_out.go
new file mode 100644
index 0000000..d49d09c
--- /dev/null
+++ b/sdk/go/model_handlers_member_out.go
@@ -0,0 +1,197 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersMemberOut type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersMemberOut{}
+
+// HandlersMemberOut struct for HandlersMemberOut
+type HandlersMemberOut struct {
+ Email *string `json:"email,omitempty"`
+ // owner/admin/member
+ Role *string `json:"role,omitempty"`
+ UserId *string `json:"user_id,omitempty"`
+}
+
+// NewHandlersMemberOut instantiates a new HandlersMemberOut object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersMemberOut() *HandlersMemberOut {
+ this := HandlersMemberOut{}
+ return &this
+}
+
+// NewHandlersMemberOutWithDefaults instantiates a new HandlersMemberOut object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersMemberOutWithDefaults() *HandlersMemberOut {
+ this := HandlersMemberOut{}
+ return &this
+}
+
+// GetEmail returns the Email field value if set, zero value otherwise.
+func (o *HandlersMemberOut) GetEmail() string {
+ if o == nil || IsNil(o.Email) {
+ var ret string
+ return ret
+ }
+ return *o.Email
+}
+
+// GetEmailOk returns a tuple with the Email field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMemberOut) GetEmailOk() (*string, bool) {
+ if o == nil || IsNil(o.Email) {
+ return nil, false
+ }
+ return o.Email, true
+}
+
+// HasEmail returns a boolean if a field has been set.
+func (o *HandlersMemberOut) HasEmail() bool {
+ if o != nil && !IsNil(o.Email) {
+ return true
+ }
+
+ return false
+}
+
+// SetEmail gets a reference to the given string and assigns it to the Email field.
+func (o *HandlersMemberOut) SetEmail(v string) {
+ o.Email = &v
+}
+
+// GetRole returns the Role field value if set, zero value otherwise.
+func (o *HandlersMemberOut) GetRole() string {
+ if o == nil || IsNil(o.Role) {
+ var ret string
+ return ret
+ }
+ return *o.Role
+}
+
+// GetRoleOk returns a tuple with the Role field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMemberOut) GetRoleOk() (*string, bool) {
+ if o == nil || IsNil(o.Role) {
+ return nil, false
+ }
+ return o.Role, true
+}
+
+// HasRole returns a boolean if a field has been set.
+func (o *HandlersMemberOut) HasRole() bool {
+ if o != nil && !IsNil(o.Role) {
+ return true
+ }
+
+ return false
+}
+
+// SetRole gets a reference to the given string and assigns it to the Role field.
+func (o *HandlersMemberOut) SetRole(v string) {
+ o.Role = &v
+}
+
+// GetUserId returns the UserId field value if set, zero value otherwise.
+func (o *HandlersMemberOut) GetUserId() string {
+ if o == nil || IsNil(o.UserId) {
+ var ret string
+ return ret
+ }
+ return *o.UserId
+}
+
+// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMemberOut) GetUserIdOk() (*string, bool) {
+ if o == nil || IsNil(o.UserId) {
+ return nil, false
+ }
+ return o.UserId, true
+}
+
+// HasUserId returns a boolean if a field has been set.
+func (o *HandlersMemberOut) HasUserId() bool {
+ if o != nil && !IsNil(o.UserId) {
+ return true
+ }
+
+ return false
+}
+
+// SetUserId gets a reference to the given string and assigns it to the UserId field.
+func (o *HandlersMemberOut) SetUserId(v string) {
+ o.UserId = &v
+}
+
+func (o HandlersMemberOut) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersMemberOut) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Email) {
+ toSerialize["email"] = o.Email
+ }
+ if !IsNil(o.Role) {
+ toSerialize["role"] = o.Role
+ }
+ if !IsNil(o.UserId) {
+ toSerialize["user_id"] = o.UserId
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersMemberOut struct {
+ value *HandlersMemberOut
+ isSet bool
+}
+
+func (v NullableHandlersMemberOut) Get() *HandlersMemberOut {
+ return v.value
+}
+
+func (v *NullableHandlersMemberOut) Set(val *HandlersMemberOut) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersMemberOut) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersMemberOut) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersMemberOut(val *HandlersMemberOut) *NullableHandlersMemberOut {
+ return &NullableHandlersMemberOut{value: val, isSet: true}
+}
+
+func (v NullableHandlersMemberOut) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersMemberOut) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_member_upsert_req.go b/sdk/go/model_handlers_member_upsert_req.go
new file mode 100644
index 0000000..657ad97
--- /dev/null
+++ b/sdk/go/model_handlers_member_upsert_req.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersMemberUpsertReq type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersMemberUpsertReq{}
+
+// HandlersMemberUpsertReq struct for HandlersMemberUpsertReq
+type HandlersMemberUpsertReq struct {
+ Role *string `json:"role,omitempty"`
+ UserId *string `json:"user_id,omitempty"`
+}
+
+// NewHandlersMemberUpsertReq instantiates a new HandlersMemberUpsertReq object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersMemberUpsertReq() *HandlersMemberUpsertReq {
+ this := HandlersMemberUpsertReq{}
+ return &this
+}
+
+// NewHandlersMemberUpsertReqWithDefaults instantiates a new HandlersMemberUpsertReq object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersMemberUpsertReqWithDefaults() *HandlersMemberUpsertReq {
+ this := HandlersMemberUpsertReq{}
+ return &this
+}
+
+// GetRole returns the Role field value if set, zero value otherwise.
+func (o *HandlersMemberUpsertReq) GetRole() string {
+ if o == nil || IsNil(o.Role) {
+ var ret string
+ return ret
+ }
+ return *o.Role
+}
+
+// GetRoleOk returns a tuple with the Role field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMemberUpsertReq) GetRoleOk() (*string, bool) {
+ if o == nil || IsNil(o.Role) {
+ return nil, false
+ }
+ return o.Role, true
+}
+
+// HasRole returns a boolean if a field has been set.
+func (o *HandlersMemberUpsertReq) HasRole() bool {
+ if o != nil && !IsNil(o.Role) {
+ return true
+ }
+
+ return false
+}
+
+// SetRole gets a reference to the given string and assigns it to the Role field.
+func (o *HandlersMemberUpsertReq) SetRole(v string) {
+ o.Role = &v
+}
+
+// GetUserId returns the UserId field value if set, zero value otherwise.
+func (o *HandlersMemberUpsertReq) GetUserId() string {
+ if o == nil || IsNil(o.UserId) {
+ var ret string
+ return ret
+ }
+ return *o.UserId
+}
+
+// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersMemberUpsertReq) GetUserIdOk() (*string, bool) {
+ if o == nil || IsNil(o.UserId) {
+ return nil, false
+ }
+ return o.UserId, true
+}
+
+// HasUserId returns a boolean if a field has been set.
+func (o *HandlersMemberUpsertReq) HasUserId() bool {
+ if o != nil && !IsNil(o.UserId) {
+ return true
+ }
+
+ return false
+}
+
+// SetUserId gets a reference to the given string and assigns it to the UserId field.
+func (o *HandlersMemberUpsertReq) SetUserId(v string) {
+ o.UserId = &v
+}
+
+func (o HandlersMemberUpsertReq) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersMemberUpsertReq) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Role) {
+ toSerialize["role"] = o.Role
+ }
+ if !IsNil(o.UserId) {
+ toSerialize["user_id"] = o.UserId
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersMemberUpsertReq struct {
+ value *HandlersMemberUpsertReq
+ isSet bool
+}
+
+func (v NullableHandlersMemberUpsertReq) Get() *HandlersMemberUpsertReq {
+ return v.value
+}
+
+func (v *NullableHandlersMemberUpsertReq) Set(val *HandlersMemberUpsertReq) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersMemberUpsertReq) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersMemberUpsertReq) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersMemberUpsertReq(val *HandlersMemberUpsertReq) *NullableHandlersMemberUpsertReq {
+ return &NullableHandlersMemberUpsertReq{value: val, isSet: true}
+}
+
+func (v NullableHandlersMemberUpsertReq) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersMemberUpsertReq) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_org_create_req.go b/sdk/go/model_handlers_org_create_req.go
new file mode 100644
index 0000000..7243fbf
--- /dev/null
+++ b/sdk/go/model_handlers_org_create_req.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersOrgCreateReq type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersOrgCreateReq{}
+
+// HandlersOrgCreateReq struct for HandlersOrgCreateReq
+type HandlersOrgCreateReq struct {
+ Domain *string `json:"domain,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+// NewHandlersOrgCreateReq instantiates a new HandlersOrgCreateReq object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersOrgCreateReq() *HandlersOrgCreateReq {
+ this := HandlersOrgCreateReq{}
+ return &this
+}
+
+// NewHandlersOrgCreateReqWithDefaults instantiates a new HandlersOrgCreateReq object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersOrgCreateReqWithDefaults() *HandlersOrgCreateReq {
+ this := HandlersOrgCreateReq{}
+ return &this
+}
+
+// GetDomain returns the Domain field value if set, zero value otherwise.
+func (o *HandlersOrgCreateReq) GetDomain() string {
+ if o == nil || IsNil(o.Domain) {
+ var ret string
+ return ret
+ }
+ return *o.Domain
+}
+
+// GetDomainOk returns a tuple with the Domain field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgCreateReq) GetDomainOk() (*string, bool) {
+ if o == nil || IsNil(o.Domain) {
+ return nil, false
+ }
+ return o.Domain, true
+}
+
+// HasDomain returns a boolean if a field has been set.
+func (o *HandlersOrgCreateReq) HasDomain() bool {
+ if o != nil && !IsNil(o.Domain) {
+ return true
+ }
+
+ return false
+}
+
+// SetDomain gets a reference to the given string and assigns it to the Domain field.
+func (o *HandlersOrgCreateReq) SetDomain(v string) {
+ o.Domain = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersOrgCreateReq) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgCreateReq) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersOrgCreateReq) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersOrgCreateReq) SetName(v string) {
+ o.Name = &v
+}
+
+func (o HandlersOrgCreateReq) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersOrgCreateReq) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Domain) {
+ toSerialize["domain"] = o.Domain
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersOrgCreateReq struct {
+ value *HandlersOrgCreateReq
+ isSet bool
+}
+
+func (v NullableHandlersOrgCreateReq) Get() *HandlersOrgCreateReq {
+ return v.value
+}
+
+func (v *NullableHandlersOrgCreateReq) Set(val *HandlersOrgCreateReq) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersOrgCreateReq) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersOrgCreateReq) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersOrgCreateReq(val *HandlersOrgCreateReq) *NullableHandlersOrgCreateReq {
+ return &NullableHandlersOrgCreateReq{value: val, isSet: true}
+}
+
+func (v NullableHandlersOrgCreateReq) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersOrgCreateReq) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_org_key_create_req.go b/sdk/go/model_handlers_org_key_create_req.go
new file mode 100644
index 0000000..e62646f
--- /dev/null
+++ b/sdk/go/model_handlers_org_key_create_req.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersOrgKeyCreateReq type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersOrgKeyCreateReq{}
+
+// HandlersOrgKeyCreateReq struct for HandlersOrgKeyCreateReq
+type HandlersOrgKeyCreateReq struct {
+ ExpiresInHours *int32 `json:"expires_in_hours,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+// NewHandlersOrgKeyCreateReq instantiates a new HandlersOrgKeyCreateReq object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersOrgKeyCreateReq() *HandlersOrgKeyCreateReq {
+ this := HandlersOrgKeyCreateReq{}
+ return &this
+}
+
+// NewHandlersOrgKeyCreateReqWithDefaults instantiates a new HandlersOrgKeyCreateReq object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersOrgKeyCreateReqWithDefaults() *HandlersOrgKeyCreateReq {
+ this := HandlersOrgKeyCreateReq{}
+ return &this
+}
+
+// GetExpiresInHours returns the ExpiresInHours field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateReq) GetExpiresInHours() int32 {
+ if o == nil || IsNil(o.ExpiresInHours) {
+ var ret int32
+ return ret
+ }
+ return *o.ExpiresInHours
+}
+
+// GetExpiresInHoursOk returns a tuple with the ExpiresInHours field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateReq) GetExpiresInHoursOk() (*int32, bool) {
+ if o == nil || IsNil(o.ExpiresInHours) {
+ return nil, false
+ }
+ return o.ExpiresInHours, true
+}
+
+// HasExpiresInHours returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateReq) HasExpiresInHours() bool {
+ if o != nil && !IsNil(o.ExpiresInHours) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresInHours gets a reference to the given int32 and assigns it to the ExpiresInHours field.
+func (o *HandlersOrgKeyCreateReq) SetExpiresInHours(v int32) {
+ o.ExpiresInHours = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateReq) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateReq) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateReq) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersOrgKeyCreateReq) SetName(v string) {
+ o.Name = &v
+}
+
+func (o HandlersOrgKeyCreateReq) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersOrgKeyCreateReq) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.ExpiresInHours) {
+ toSerialize["expires_in_hours"] = o.ExpiresInHours
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersOrgKeyCreateReq struct {
+ value *HandlersOrgKeyCreateReq
+ isSet bool
+}
+
+func (v NullableHandlersOrgKeyCreateReq) Get() *HandlersOrgKeyCreateReq {
+ return v.value
+}
+
+func (v *NullableHandlersOrgKeyCreateReq) Set(val *HandlersOrgKeyCreateReq) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersOrgKeyCreateReq) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersOrgKeyCreateReq) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersOrgKeyCreateReq(val *HandlersOrgKeyCreateReq) *NullableHandlersOrgKeyCreateReq {
+ return &NullableHandlersOrgKeyCreateReq{value: val, isSet: true}
+}
+
+func (v NullableHandlersOrgKeyCreateReq) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersOrgKeyCreateReq) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_org_key_create_resp.go b/sdk/go/model_handlers_org_key_create_resp.go
new file mode 100644
index 0000000..68209dc
--- /dev/null
+++ b/sdk/go/model_handlers_org_key_create_resp.go
@@ -0,0 +1,343 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersOrgKeyCreateResp type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersOrgKeyCreateResp{}
+
+// HandlersOrgKeyCreateResp struct for HandlersOrgKeyCreateResp
+type HandlersOrgKeyCreateResp struct {
+ CreatedAt *string `json:"created_at,omitempty"`
+ ExpiresAt *string `json:"expires_at,omitempty"`
+ Id *string `json:"id,omitempty"`
+ Name *string `json:"name,omitempty"`
+ // shown once:
+ OrgKey *string `json:"org_key,omitempty"`
+ // shown once:
+ OrgSecret *string `json:"org_secret,omitempty"`
+ // \"org\"
+ Scope *string `json:"scope,omitempty"`
+}
+
+// NewHandlersOrgKeyCreateResp instantiates a new HandlersOrgKeyCreateResp object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersOrgKeyCreateResp() *HandlersOrgKeyCreateResp {
+ this := HandlersOrgKeyCreateResp{}
+ return &this
+}
+
+// NewHandlersOrgKeyCreateRespWithDefaults instantiates a new HandlersOrgKeyCreateResp object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersOrgKeyCreateRespWithDefaults() *HandlersOrgKeyCreateResp {
+ this := HandlersOrgKeyCreateResp{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetCreatedAt() string {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetCreatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *HandlersOrgKeyCreateResp) SetCreatedAt(v string) {
+ o.CreatedAt = &v
+}
+
+// GetExpiresAt returns the ExpiresAt field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetExpiresAt() string {
+ if o == nil || IsNil(o.ExpiresAt) {
+ var ret string
+ return ret
+ }
+ return *o.ExpiresAt
+}
+
+// GetExpiresAtOk returns a tuple with the ExpiresAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetExpiresAtOk() (*string, bool) {
+ if o == nil || IsNil(o.ExpiresAt) {
+ return nil, false
+ }
+ return o.ExpiresAt, true
+}
+
+// HasExpiresAt returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasExpiresAt() bool {
+ if o != nil && !IsNil(o.ExpiresAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresAt gets a reference to the given string and assigns it to the ExpiresAt field.
+func (o *HandlersOrgKeyCreateResp) SetExpiresAt(v string) {
+ o.ExpiresAt = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *HandlersOrgKeyCreateResp) SetId(v string) {
+ o.Id = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersOrgKeyCreateResp) SetName(v string) {
+ o.Name = &v
+}
+
+// GetOrgKey returns the OrgKey field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetOrgKey() string {
+ if o == nil || IsNil(o.OrgKey) {
+ var ret string
+ return ret
+ }
+ return *o.OrgKey
+}
+
+// GetOrgKeyOk returns a tuple with the OrgKey field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetOrgKeyOk() (*string, bool) {
+ if o == nil || IsNil(o.OrgKey) {
+ return nil, false
+ }
+ return o.OrgKey, true
+}
+
+// HasOrgKey returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasOrgKey() bool {
+ if o != nil && !IsNil(o.OrgKey) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrgKey gets a reference to the given string and assigns it to the OrgKey field.
+func (o *HandlersOrgKeyCreateResp) SetOrgKey(v string) {
+ o.OrgKey = &v
+}
+
+// GetOrgSecret returns the OrgSecret field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetOrgSecret() string {
+ if o == nil || IsNil(o.OrgSecret) {
+ var ret string
+ return ret
+ }
+ return *o.OrgSecret
+}
+
+// GetOrgSecretOk returns a tuple with the OrgSecret field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetOrgSecretOk() (*string, bool) {
+ if o == nil || IsNil(o.OrgSecret) {
+ return nil, false
+ }
+ return o.OrgSecret, true
+}
+
+// HasOrgSecret returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasOrgSecret() bool {
+ if o != nil && !IsNil(o.OrgSecret) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrgSecret gets a reference to the given string and assigns it to the OrgSecret field.
+func (o *HandlersOrgKeyCreateResp) SetOrgSecret(v string) {
+ o.OrgSecret = &v
+}
+
+// GetScope returns the Scope field value if set, zero value otherwise.
+func (o *HandlersOrgKeyCreateResp) GetScope() string {
+ if o == nil || IsNil(o.Scope) {
+ var ret string
+ return ret
+ }
+ return *o.Scope
+}
+
+// GetScopeOk returns a tuple with the Scope field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgKeyCreateResp) GetScopeOk() (*string, bool) {
+ if o == nil || IsNil(o.Scope) {
+ return nil, false
+ }
+ return o.Scope, true
+}
+
+// HasScope returns a boolean if a field has been set.
+func (o *HandlersOrgKeyCreateResp) HasScope() bool {
+ if o != nil && !IsNil(o.Scope) {
+ return true
+ }
+
+ return false
+}
+
+// SetScope gets a reference to the given string and assigns it to the Scope field.
+func (o *HandlersOrgKeyCreateResp) SetScope(v string) {
+ o.Scope = &v
+}
+
+func (o HandlersOrgKeyCreateResp) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersOrgKeyCreateResp) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.ExpiresAt) {
+ toSerialize["expires_at"] = o.ExpiresAt
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.OrgKey) {
+ toSerialize["org_key"] = o.OrgKey
+ }
+ if !IsNil(o.OrgSecret) {
+ toSerialize["org_secret"] = o.OrgSecret
+ }
+ if !IsNil(o.Scope) {
+ toSerialize["scope"] = o.Scope
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersOrgKeyCreateResp struct {
+ value *HandlersOrgKeyCreateResp
+ isSet bool
+}
+
+func (v NullableHandlersOrgKeyCreateResp) Get() *HandlersOrgKeyCreateResp {
+ return v.value
+}
+
+func (v *NullableHandlersOrgKeyCreateResp) Set(val *HandlersOrgKeyCreateResp) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersOrgKeyCreateResp) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersOrgKeyCreateResp) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersOrgKeyCreateResp(val *HandlersOrgKeyCreateResp) *NullableHandlersOrgKeyCreateResp {
+ return &NullableHandlersOrgKeyCreateResp{value: val, isSet: true}
+}
+
+func (v NullableHandlersOrgKeyCreateResp) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersOrgKeyCreateResp) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_org_update_req.go b/sdk/go/model_handlers_org_update_req.go
new file mode 100644
index 0000000..a6ad403
--- /dev/null
+++ b/sdk/go/model_handlers_org_update_req.go
@@ -0,0 +1,160 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersOrgUpdateReq type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersOrgUpdateReq{}
+
+// HandlersOrgUpdateReq struct for HandlersOrgUpdateReq
+type HandlersOrgUpdateReq struct {
+ Domain *string `json:"domain,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+// NewHandlersOrgUpdateReq instantiates a new HandlersOrgUpdateReq object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersOrgUpdateReq() *HandlersOrgUpdateReq {
+ this := HandlersOrgUpdateReq{}
+ return &this
+}
+
+// NewHandlersOrgUpdateReqWithDefaults instantiates a new HandlersOrgUpdateReq object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersOrgUpdateReqWithDefaults() *HandlersOrgUpdateReq {
+ this := HandlersOrgUpdateReq{}
+ return &this
+}
+
+// GetDomain returns the Domain field value if set, zero value otherwise.
+func (o *HandlersOrgUpdateReq) GetDomain() string {
+ if o == nil || IsNil(o.Domain) {
+ var ret string
+ return ret
+ }
+ return *o.Domain
+}
+
+// GetDomainOk returns a tuple with the Domain field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgUpdateReq) GetDomainOk() (*string, bool) {
+ if o == nil || IsNil(o.Domain) {
+ return nil, false
+ }
+ return o.Domain, true
+}
+
+// HasDomain returns a boolean if a field has been set.
+func (o *HandlersOrgUpdateReq) HasDomain() bool {
+ if o != nil && !IsNil(o.Domain) {
+ return true
+ }
+
+ return false
+}
+
+// SetDomain gets a reference to the given string and assigns it to the Domain field.
+func (o *HandlersOrgUpdateReq) SetDomain(v string) {
+ o.Domain = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersOrgUpdateReq) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersOrgUpdateReq) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersOrgUpdateReq) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersOrgUpdateReq) SetName(v string) {
+ o.Name = &v
+}
+
+func (o HandlersOrgUpdateReq) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersOrgUpdateReq) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Domain) {
+ toSerialize["domain"] = o.Domain
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersOrgUpdateReq struct {
+ value *HandlersOrgUpdateReq
+ isSet bool
+}
+
+func (v NullableHandlersOrgUpdateReq) Get() *HandlersOrgUpdateReq {
+ return v.value
+}
+
+func (v *NullableHandlersOrgUpdateReq) Set(val *HandlersOrgUpdateReq) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersOrgUpdateReq) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersOrgUpdateReq) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersOrgUpdateReq(val *HandlersOrgUpdateReq) *NullableHandlersOrgUpdateReq {
+ return &NullableHandlersOrgUpdateReq{value: val, isSet: true}
+}
+
+func (v NullableHandlersOrgUpdateReq) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersOrgUpdateReq) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_update_me_request.go b/sdk/go/model_handlers_update_me_request.go
new file mode 100644
index 0000000..79b57fc
--- /dev/null
+++ b/sdk/go/model_handlers_update_me_request.go
@@ -0,0 +1,124 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersUpdateMeRequest type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersUpdateMeRequest{}
+
+// HandlersUpdateMeRequest struct for HandlersUpdateMeRequest
+type HandlersUpdateMeRequest struct {
+ DisplayName *string `json:"display_name,omitempty"`
+}
+
+// NewHandlersUpdateMeRequest instantiates a new HandlersUpdateMeRequest object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersUpdateMeRequest() *HandlersUpdateMeRequest {
+ this := HandlersUpdateMeRequest{}
+ return &this
+}
+
+// NewHandlersUpdateMeRequestWithDefaults instantiates a new HandlersUpdateMeRequest object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersUpdateMeRequestWithDefaults() *HandlersUpdateMeRequest {
+ this := HandlersUpdateMeRequest{}
+ return &this
+}
+
+// GetDisplayName returns the DisplayName field value if set, zero value otherwise.
+func (o *HandlersUpdateMeRequest) GetDisplayName() string {
+ if o == nil || IsNil(o.DisplayName) {
+ var ret string
+ return ret
+ }
+ return *o.DisplayName
+}
+
+// GetDisplayNameOk returns a tuple with the DisplayName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUpdateMeRequest) GetDisplayNameOk() (*string, bool) {
+ if o == nil || IsNil(o.DisplayName) {
+ return nil, false
+ }
+ return o.DisplayName, true
+}
+
+// HasDisplayName returns a boolean if a field has been set.
+func (o *HandlersUpdateMeRequest) HasDisplayName() bool {
+ if o != nil && !IsNil(o.DisplayName) {
+ return true
+ }
+
+ return false
+}
+
+// SetDisplayName gets a reference to the given string and assigns it to the DisplayName field.
+func (o *HandlersUpdateMeRequest) SetDisplayName(v string) {
+ o.DisplayName = &v
+}
+
+func (o HandlersUpdateMeRequest) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersUpdateMeRequest) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.DisplayName) {
+ toSerialize["display_name"] = o.DisplayName
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersUpdateMeRequest struct {
+ value *HandlersUpdateMeRequest
+ isSet bool
+}
+
+func (v NullableHandlersUpdateMeRequest) Get() *HandlersUpdateMeRequest {
+ return v.value
+}
+
+func (v *NullableHandlersUpdateMeRequest) Set(val *HandlersUpdateMeRequest) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersUpdateMeRequest) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersUpdateMeRequest) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersUpdateMeRequest(val *HandlersUpdateMeRequest) *NullableHandlersUpdateMeRequest {
+ return &NullableHandlersUpdateMeRequest{value: val, isSet: true}
+}
+
+func (v NullableHandlersUpdateMeRequest) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersUpdateMeRequest) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_handlers_user_api_key_out.go b/sdk/go/model_handlers_user_api_key_out.go
new file mode 100644
index 0000000..f3b4bd7
--- /dev/null
+++ b/sdk/go/model_handlers_user_api_key_out.go
@@ -0,0 +1,342 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the HandlersUserAPIKeyOut type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &HandlersUserAPIKeyOut{}
+
+// HandlersUserAPIKeyOut struct for HandlersUserAPIKeyOut
+type HandlersUserAPIKeyOut struct {
+ CreatedAt *string `json:"created_at,omitempty"`
+ ExpiresAt *string `json:"expires_at,omitempty"`
+ Id *string `json:"id,omitempty"`
+ LastUsedAt *string `json:"last_used_at,omitempty"`
+ Name *string `json:"name,omitempty"`
+ // Shown only on create:
+ Plain *string `json:"plain,omitempty"`
+ // \"user\"
+ Scope *string `json:"scope,omitempty"`
+}
+
+// NewHandlersUserAPIKeyOut instantiates a new HandlersUserAPIKeyOut object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewHandlersUserAPIKeyOut() *HandlersUserAPIKeyOut {
+ this := HandlersUserAPIKeyOut{}
+ return &this
+}
+
+// NewHandlersUserAPIKeyOutWithDefaults instantiates a new HandlersUserAPIKeyOut object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewHandlersUserAPIKeyOutWithDefaults() *HandlersUserAPIKeyOut {
+ this := HandlersUserAPIKeyOut{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetCreatedAt() string {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret string
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetCreatedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given string and assigns it to the CreatedAt field.
+func (o *HandlersUserAPIKeyOut) SetCreatedAt(v string) {
+ o.CreatedAt = &v
+}
+
+// GetExpiresAt returns the ExpiresAt field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetExpiresAt() string {
+ if o == nil || IsNil(o.ExpiresAt) {
+ var ret string
+ return ret
+ }
+ return *o.ExpiresAt
+}
+
+// GetExpiresAtOk returns a tuple with the ExpiresAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetExpiresAtOk() (*string, bool) {
+ if o == nil || IsNil(o.ExpiresAt) {
+ return nil, false
+ }
+ return o.ExpiresAt, true
+}
+
+// HasExpiresAt returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasExpiresAt() bool {
+ if o != nil && !IsNil(o.ExpiresAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresAt gets a reference to the given string and assigns it to the ExpiresAt field.
+func (o *HandlersUserAPIKeyOut) SetExpiresAt(v string) {
+ o.ExpiresAt = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *HandlersUserAPIKeyOut) SetId(v string) {
+ o.Id = &v
+}
+
+// GetLastUsedAt returns the LastUsedAt field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetLastUsedAt() string {
+ if o == nil || IsNil(o.LastUsedAt) {
+ var ret string
+ return ret
+ }
+ return *o.LastUsedAt
+}
+
+// GetLastUsedAtOk returns a tuple with the LastUsedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetLastUsedAtOk() (*string, bool) {
+ if o == nil || IsNil(o.LastUsedAt) {
+ return nil, false
+ }
+ return o.LastUsedAt, true
+}
+
+// HasLastUsedAt returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasLastUsedAt() bool {
+ if o != nil && !IsNil(o.LastUsedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetLastUsedAt gets a reference to the given string and assigns it to the LastUsedAt field.
+func (o *HandlersUserAPIKeyOut) SetLastUsedAt(v string) {
+ o.LastUsedAt = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *HandlersUserAPIKeyOut) SetName(v string) {
+ o.Name = &v
+}
+
+// GetPlain returns the Plain field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetPlain() string {
+ if o == nil || IsNil(o.Plain) {
+ var ret string
+ return ret
+ }
+ return *o.Plain
+}
+
+// GetPlainOk returns a tuple with the Plain field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetPlainOk() (*string, bool) {
+ if o == nil || IsNil(o.Plain) {
+ return nil, false
+ }
+ return o.Plain, true
+}
+
+// HasPlain returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasPlain() bool {
+ if o != nil && !IsNil(o.Plain) {
+ return true
+ }
+
+ return false
+}
+
+// SetPlain gets a reference to the given string and assigns it to the Plain field.
+func (o *HandlersUserAPIKeyOut) SetPlain(v string) {
+ o.Plain = &v
+}
+
+// GetScope returns the Scope field value if set, zero value otherwise.
+func (o *HandlersUserAPIKeyOut) GetScope() string {
+ if o == nil || IsNil(o.Scope) {
+ var ret string
+ return ret
+ }
+ return *o.Scope
+}
+
+// GetScopeOk returns a tuple with the Scope field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *HandlersUserAPIKeyOut) GetScopeOk() (*string, bool) {
+ if o == nil || IsNil(o.Scope) {
+ return nil, false
+ }
+ return o.Scope, true
+}
+
+// HasScope returns a boolean if a field has been set.
+func (o *HandlersUserAPIKeyOut) HasScope() bool {
+ if o != nil && !IsNil(o.Scope) {
+ return true
+ }
+
+ return false
+}
+
+// SetScope gets a reference to the given string and assigns it to the Scope field.
+func (o *HandlersUserAPIKeyOut) SetScope(v string) {
+ o.Scope = &v
+}
+
+func (o HandlersUserAPIKeyOut) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o HandlersUserAPIKeyOut) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.ExpiresAt) {
+ toSerialize["expires_at"] = o.ExpiresAt
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.LastUsedAt) {
+ toSerialize["last_used_at"] = o.LastUsedAt
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.Plain) {
+ toSerialize["plain"] = o.Plain
+ }
+ if !IsNil(o.Scope) {
+ toSerialize["scope"] = o.Scope
+ }
+ return toSerialize, nil
+}
+
+type NullableHandlersUserAPIKeyOut struct {
+ value *HandlersUserAPIKeyOut
+ isSet bool
+}
+
+func (v NullableHandlersUserAPIKeyOut) Get() *HandlersUserAPIKeyOut {
+ return v.value
+}
+
+func (v *NullableHandlersUserAPIKeyOut) Set(val *HandlersUserAPIKeyOut) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableHandlersUserAPIKeyOut) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableHandlersUserAPIKeyOut) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableHandlersUserAPIKeyOut(val *HandlersUserAPIKeyOut) *NullableHandlersUserAPIKeyOut {
+ return &NullableHandlersUserAPIKeyOut{value: val, isSet: true}
+}
+
+func (v NullableHandlersUserAPIKeyOut) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableHandlersUserAPIKeyOut) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_models_api_key.go b/sdk/go/model_models_api_key.go
new file mode 100644
index 0000000..8381468
--- /dev/null
+++ b/sdk/go/model_models_api_key.go
@@ -0,0 +1,485 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// checks if the ModelsAPIKey type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &ModelsAPIKey{}
+
+// ModelsAPIKey struct for ModelsAPIKey
+type ModelsAPIKey struct {
+ CreatedAt *time.Time `json:"created_at,omitempty"`
+ ExpiresAt *time.Time `json:"expires_at,omitempty"`
+ Id *string `json:"id,omitempty"`
+ LastUsedAt *time.Time `json:"last_used_at,omitempty"`
+ Name *string `json:"name,omitempty"`
+ OrgId *string `json:"org_id,omitempty"`
+ Prefix *string `json:"prefix,omitempty"`
+ Revoked *bool `json:"revoked,omitempty"`
+ Scope *string `json:"scope,omitempty"`
+ UpdatedAt *time.Time `json:"updated_at,omitempty"`
+ UserId *string `json:"user_id,omitempty"`
+}
+
+// NewModelsAPIKey instantiates a new ModelsAPIKey object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewModelsAPIKey() *ModelsAPIKey {
+ this := ModelsAPIKey{}
+ return &this
+}
+
+// NewModelsAPIKeyWithDefaults instantiates a new ModelsAPIKey object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewModelsAPIKeyWithDefaults() *ModelsAPIKey {
+ this := ModelsAPIKey{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetCreatedAt() time.Time {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetCreatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *ModelsAPIKey) SetCreatedAt(v time.Time) {
+ o.CreatedAt = &v
+}
+
+// GetExpiresAt returns the ExpiresAt field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetExpiresAt() time.Time {
+ if o == nil || IsNil(o.ExpiresAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.ExpiresAt
+}
+
+// GetExpiresAtOk returns a tuple with the ExpiresAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetExpiresAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.ExpiresAt) {
+ return nil, false
+ }
+ return o.ExpiresAt, true
+}
+
+// HasExpiresAt returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasExpiresAt() bool {
+ if o != nil && !IsNil(o.ExpiresAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetExpiresAt gets a reference to the given time.Time and assigns it to the ExpiresAt field.
+func (o *ModelsAPIKey) SetExpiresAt(v time.Time) {
+ o.ExpiresAt = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *ModelsAPIKey) SetId(v string) {
+ o.Id = &v
+}
+
+// GetLastUsedAt returns the LastUsedAt field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetLastUsedAt() time.Time {
+ if o == nil || IsNil(o.LastUsedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.LastUsedAt
+}
+
+// GetLastUsedAtOk returns a tuple with the LastUsedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetLastUsedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.LastUsedAt) {
+ return nil, false
+ }
+ return o.LastUsedAt, true
+}
+
+// HasLastUsedAt returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasLastUsedAt() bool {
+ if o != nil && !IsNil(o.LastUsedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetLastUsedAt gets a reference to the given time.Time and assigns it to the LastUsedAt field.
+func (o *ModelsAPIKey) SetLastUsedAt(v time.Time) {
+ o.LastUsedAt = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *ModelsAPIKey) SetName(v string) {
+ o.Name = &v
+}
+
+// GetOrgId returns the OrgId field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetOrgId() string {
+ if o == nil || IsNil(o.OrgId) {
+ var ret string
+ return ret
+ }
+ return *o.OrgId
+}
+
+// GetOrgIdOk returns a tuple with the OrgId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetOrgIdOk() (*string, bool) {
+ if o == nil || IsNil(o.OrgId) {
+ return nil, false
+ }
+ return o.OrgId, true
+}
+
+// HasOrgId returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasOrgId() bool {
+ if o != nil && !IsNil(o.OrgId) {
+ return true
+ }
+
+ return false
+}
+
+// SetOrgId gets a reference to the given string and assigns it to the OrgId field.
+func (o *ModelsAPIKey) SetOrgId(v string) {
+ o.OrgId = &v
+}
+
+// GetPrefix returns the Prefix field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetPrefix() string {
+ if o == nil || IsNil(o.Prefix) {
+ var ret string
+ return ret
+ }
+ return *o.Prefix
+}
+
+// GetPrefixOk returns a tuple with the Prefix field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetPrefixOk() (*string, bool) {
+ if o == nil || IsNil(o.Prefix) {
+ return nil, false
+ }
+ return o.Prefix, true
+}
+
+// HasPrefix returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasPrefix() bool {
+ if o != nil && !IsNil(o.Prefix) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrefix gets a reference to the given string and assigns it to the Prefix field.
+func (o *ModelsAPIKey) SetPrefix(v string) {
+ o.Prefix = &v
+}
+
+// GetRevoked returns the Revoked field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetRevoked() bool {
+ if o == nil || IsNil(o.Revoked) {
+ var ret bool
+ return ret
+ }
+ return *o.Revoked
+}
+
+// GetRevokedOk returns a tuple with the Revoked field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetRevokedOk() (*bool, bool) {
+ if o == nil || IsNil(o.Revoked) {
+ return nil, false
+ }
+ return o.Revoked, true
+}
+
+// HasRevoked returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasRevoked() bool {
+ if o != nil && !IsNil(o.Revoked) {
+ return true
+ }
+
+ return false
+}
+
+// SetRevoked gets a reference to the given bool and assigns it to the Revoked field.
+func (o *ModelsAPIKey) SetRevoked(v bool) {
+ o.Revoked = &v
+}
+
+// GetScope returns the Scope field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetScope() string {
+ if o == nil || IsNil(o.Scope) {
+ var ret string
+ return ret
+ }
+ return *o.Scope
+}
+
+// GetScopeOk returns a tuple with the Scope field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetScopeOk() (*string, bool) {
+ if o == nil || IsNil(o.Scope) {
+ return nil, false
+ }
+ return o.Scope, true
+}
+
+// HasScope returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasScope() bool {
+ if o != nil && !IsNil(o.Scope) {
+ return true
+ }
+
+ return false
+}
+
+// SetScope gets a reference to the given string and assigns it to the Scope field.
+func (o *ModelsAPIKey) SetScope(v string) {
+ o.Scope = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetUpdatedAt() time.Time {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetUpdatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *ModelsAPIKey) SetUpdatedAt(v time.Time) {
+ o.UpdatedAt = &v
+}
+
+// GetUserId returns the UserId field value if set, zero value otherwise.
+func (o *ModelsAPIKey) GetUserId() string {
+ if o == nil || IsNil(o.UserId) {
+ var ret string
+ return ret
+ }
+ return *o.UserId
+}
+
+// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsAPIKey) GetUserIdOk() (*string, bool) {
+ if o == nil || IsNil(o.UserId) {
+ return nil, false
+ }
+ return o.UserId, true
+}
+
+// HasUserId returns a boolean if a field has been set.
+func (o *ModelsAPIKey) HasUserId() bool {
+ if o != nil && !IsNil(o.UserId) {
+ return true
+ }
+
+ return false
+}
+
+// SetUserId gets a reference to the given string and assigns it to the UserId field.
+func (o *ModelsAPIKey) SetUserId(v string) {
+ o.UserId = &v
+}
+
+func (o ModelsAPIKey) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o ModelsAPIKey) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.ExpiresAt) {
+ toSerialize["expires_at"] = o.ExpiresAt
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.LastUsedAt) {
+ toSerialize["last_used_at"] = o.LastUsedAt
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.OrgId) {
+ toSerialize["org_id"] = o.OrgId
+ }
+ if !IsNil(o.Prefix) {
+ toSerialize["prefix"] = o.Prefix
+ }
+ if !IsNil(o.Revoked) {
+ toSerialize["revoked"] = o.Revoked
+ }
+ if !IsNil(o.Scope) {
+ toSerialize["scope"] = o.Scope
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ if !IsNil(o.UserId) {
+ toSerialize["user_id"] = o.UserId
+ }
+ return toSerialize, nil
+}
+
+type NullableModelsAPIKey struct {
+ value *ModelsAPIKey
+ isSet bool
+}
+
+func (v NullableModelsAPIKey) Get() *ModelsAPIKey {
+ return v.value
+}
+
+func (v *NullableModelsAPIKey) Set(val *ModelsAPIKey) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableModelsAPIKey) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableModelsAPIKey) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableModelsAPIKey(val *ModelsAPIKey) *NullableModelsAPIKey {
+ return &NullableModelsAPIKey{value: val, isSet: true}
+}
+
+func (v NullableModelsAPIKey) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableModelsAPIKey) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_models_organization.go b/sdk/go/model_models_organization.go
new file mode 100644
index 0000000..1fb1734
--- /dev/null
+++ b/sdk/go/model_models_organization.go
@@ -0,0 +1,270 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// checks if the ModelsOrganization type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &ModelsOrganization{}
+
+// ModelsOrganization struct for ModelsOrganization
+type ModelsOrganization struct {
+ CreatedAt *time.Time `json:"created_at,omitempty"`
+ Domain *string `json:"domain,omitempty"`
+ // example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ Id *string `json:"id,omitempty"`
+ Name *string `json:"name,omitempty"`
+ UpdatedAt *time.Time `json:"updated_at,omitempty"`
+}
+
+// NewModelsOrganization instantiates a new ModelsOrganization object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewModelsOrganization() *ModelsOrganization {
+ this := ModelsOrganization{}
+ return &this
+}
+
+// NewModelsOrganizationWithDefaults instantiates a new ModelsOrganization object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewModelsOrganizationWithDefaults() *ModelsOrganization {
+ this := ModelsOrganization{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *ModelsOrganization) GetCreatedAt() time.Time {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsOrganization) GetCreatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *ModelsOrganization) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *ModelsOrganization) SetCreatedAt(v time.Time) {
+ o.CreatedAt = &v
+}
+
+// GetDomain returns the Domain field value if set, zero value otherwise.
+func (o *ModelsOrganization) GetDomain() string {
+ if o == nil || IsNil(o.Domain) {
+ var ret string
+ return ret
+ }
+ return *o.Domain
+}
+
+// GetDomainOk returns a tuple with the Domain field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsOrganization) GetDomainOk() (*string, bool) {
+ if o == nil || IsNil(o.Domain) {
+ return nil, false
+ }
+ return o.Domain, true
+}
+
+// HasDomain returns a boolean if a field has been set.
+func (o *ModelsOrganization) HasDomain() bool {
+ if o != nil && !IsNil(o.Domain) {
+ return true
+ }
+
+ return false
+}
+
+// SetDomain gets a reference to the given string and assigns it to the Domain field.
+func (o *ModelsOrganization) SetDomain(v string) {
+ o.Domain = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *ModelsOrganization) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsOrganization) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *ModelsOrganization) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *ModelsOrganization) SetId(v string) {
+ o.Id = &v
+}
+
+// GetName returns the Name field value if set, zero value otherwise.
+func (o *ModelsOrganization) GetName() string {
+ if o == nil || IsNil(o.Name) {
+ var ret string
+ return ret
+ }
+ return *o.Name
+}
+
+// GetNameOk returns a tuple with the Name field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsOrganization) GetNameOk() (*string, bool) {
+ if o == nil || IsNil(o.Name) {
+ return nil, false
+ }
+ return o.Name, true
+}
+
+// HasName returns a boolean if a field has been set.
+func (o *ModelsOrganization) HasName() bool {
+ if o != nil && !IsNil(o.Name) {
+ return true
+ }
+
+ return false
+}
+
+// SetName gets a reference to the given string and assigns it to the Name field.
+func (o *ModelsOrganization) SetName(v string) {
+ o.Name = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *ModelsOrganization) GetUpdatedAt() time.Time {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsOrganization) GetUpdatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *ModelsOrganization) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *ModelsOrganization) SetUpdatedAt(v time.Time) {
+ o.UpdatedAt = &v
+}
+
+func (o ModelsOrganization) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o ModelsOrganization) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.Domain) {
+ toSerialize["domain"] = o.Domain
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.Name) {
+ toSerialize["name"] = o.Name
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableModelsOrganization struct {
+ value *ModelsOrganization
+ isSet bool
+}
+
+func (v NullableModelsOrganization) Get() *ModelsOrganization {
+ return v.value
+}
+
+func (v *NullableModelsOrganization) Set(val *ModelsOrganization) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableModelsOrganization) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableModelsOrganization) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableModelsOrganization(val *ModelsOrganization) *NullableModelsOrganization {
+ return &NullableModelsOrganization{value: val, isSet: true}
+}
+
+func (v NullableModelsOrganization) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableModelsOrganization) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_models_user.go b/sdk/go/model_models_user.go
new file mode 100644
index 0000000..07886e6
--- /dev/null
+++ b/sdk/go/model_models_user.go
@@ -0,0 +1,342 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// checks if the ModelsUser type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &ModelsUser{}
+
+// ModelsUser struct for ModelsUser
+type ModelsUser struct {
+ AvatarUrl *string `json:"avatar_url,omitempty"`
+ CreatedAt *time.Time `json:"created_at,omitempty"`
+ DisplayName *string `json:"display_name,omitempty"`
+ // example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ Id *string `json:"id,omitempty"`
+ IsDisabled *bool `json:"is_disabled,omitempty"`
+ PrimaryEmail *string `json:"primary_email,omitempty"`
+ UpdatedAt *time.Time `json:"updated_at,omitempty"`
+}
+
+// NewModelsUser instantiates a new ModelsUser object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewModelsUser() *ModelsUser {
+ this := ModelsUser{}
+ return &this
+}
+
+// NewModelsUserWithDefaults instantiates a new ModelsUser object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewModelsUserWithDefaults() *ModelsUser {
+ this := ModelsUser{}
+ return &this
+}
+
+// GetAvatarUrl returns the AvatarUrl field value if set, zero value otherwise.
+func (o *ModelsUser) GetAvatarUrl() string {
+ if o == nil || IsNil(o.AvatarUrl) {
+ var ret string
+ return ret
+ }
+ return *o.AvatarUrl
+}
+
+// GetAvatarUrlOk returns a tuple with the AvatarUrl field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetAvatarUrlOk() (*string, bool) {
+ if o == nil || IsNil(o.AvatarUrl) {
+ return nil, false
+ }
+ return o.AvatarUrl, true
+}
+
+// HasAvatarUrl returns a boolean if a field has been set.
+func (o *ModelsUser) HasAvatarUrl() bool {
+ if o != nil && !IsNil(o.AvatarUrl) {
+ return true
+ }
+
+ return false
+}
+
+// SetAvatarUrl gets a reference to the given string and assigns it to the AvatarUrl field.
+func (o *ModelsUser) SetAvatarUrl(v string) {
+ o.AvatarUrl = &v
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *ModelsUser) GetCreatedAt() time.Time {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetCreatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *ModelsUser) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *ModelsUser) SetCreatedAt(v time.Time) {
+ o.CreatedAt = &v
+}
+
+// GetDisplayName returns the DisplayName field value if set, zero value otherwise.
+func (o *ModelsUser) GetDisplayName() string {
+ if o == nil || IsNil(o.DisplayName) {
+ var ret string
+ return ret
+ }
+ return *o.DisplayName
+}
+
+// GetDisplayNameOk returns a tuple with the DisplayName field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetDisplayNameOk() (*string, bool) {
+ if o == nil || IsNil(o.DisplayName) {
+ return nil, false
+ }
+ return o.DisplayName, true
+}
+
+// HasDisplayName returns a boolean if a field has been set.
+func (o *ModelsUser) HasDisplayName() bool {
+ if o != nil && !IsNil(o.DisplayName) {
+ return true
+ }
+
+ return false
+}
+
+// SetDisplayName gets a reference to the given string and assigns it to the DisplayName field.
+func (o *ModelsUser) SetDisplayName(v string) {
+ o.DisplayName = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *ModelsUser) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *ModelsUser) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *ModelsUser) SetId(v string) {
+ o.Id = &v
+}
+
+// GetIsDisabled returns the IsDisabled field value if set, zero value otherwise.
+func (o *ModelsUser) GetIsDisabled() bool {
+ if o == nil || IsNil(o.IsDisabled) {
+ var ret bool
+ return ret
+ }
+ return *o.IsDisabled
+}
+
+// GetIsDisabledOk returns a tuple with the IsDisabled field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetIsDisabledOk() (*bool, bool) {
+ if o == nil || IsNil(o.IsDisabled) {
+ return nil, false
+ }
+ return o.IsDisabled, true
+}
+
+// HasIsDisabled returns a boolean if a field has been set.
+func (o *ModelsUser) HasIsDisabled() bool {
+ if o != nil && !IsNil(o.IsDisabled) {
+ return true
+ }
+
+ return false
+}
+
+// SetIsDisabled gets a reference to the given bool and assigns it to the IsDisabled field.
+func (o *ModelsUser) SetIsDisabled(v bool) {
+ o.IsDisabled = &v
+}
+
+// GetPrimaryEmail returns the PrimaryEmail field value if set, zero value otherwise.
+func (o *ModelsUser) GetPrimaryEmail() string {
+ if o == nil || IsNil(o.PrimaryEmail) {
+ var ret string
+ return ret
+ }
+ return *o.PrimaryEmail
+}
+
+// GetPrimaryEmailOk returns a tuple with the PrimaryEmail field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetPrimaryEmailOk() (*string, bool) {
+ if o == nil || IsNil(o.PrimaryEmail) {
+ return nil, false
+ }
+ return o.PrimaryEmail, true
+}
+
+// HasPrimaryEmail returns a boolean if a field has been set.
+func (o *ModelsUser) HasPrimaryEmail() bool {
+ if o != nil && !IsNil(o.PrimaryEmail) {
+ return true
+ }
+
+ return false
+}
+
+// SetPrimaryEmail gets a reference to the given string and assigns it to the PrimaryEmail field.
+func (o *ModelsUser) SetPrimaryEmail(v string) {
+ o.PrimaryEmail = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *ModelsUser) GetUpdatedAt() time.Time {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUser) GetUpdatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *ModelsUser) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *ModelsUser) SetUpdatedAt(v time.Time) {
+ o.UpdatedAt = &v
+}
+
+func (o ModelsUser) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o ModelsUser) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.AvatarUrl) {
+ toSerialize["avatar_url"] = o.AvatarUrl
+ }
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.DisplayName) {
+ toSerialize["display_name"] = o.DisplayName
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.IsDisabled) {
+ toSerialize["is_disabled"] = o.IsDisabled
+ }
+ if !IsNil(o.PrimaryEmail) {
+ toSerialize["primary_email"] = o.PrimaryEmail
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ return toSerialize, nil
+}
+
+type NullableModelsUser struct {
+ value *ModelsUser
+ isSet bool
+}
+
+func (v NullableModelsUser) Get() *ModelsUser {
+ return v.value
+}
+
+func (v *NullableModelsUser) Set(val *ModelsUser) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableModelsUser) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableModelsUser) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableModelsUser(val *ModelsUser) *NullableModelsUser {
+ return &NullableModelsUser{value: val, isSet: true}
+}
+
+func (v NullableModelsUser) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableModelsUser) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_models_user_email.go b/sdk/go/model_models_user_email.go
new file mode 100644
index 0000000..4c33d6c
--- /dev/null
+++ b/sdk/go/model_models_user_email.go
@@ -0,0 +1,378 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// checks if the ModelsUserEmail type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &ModelsUserEmail{}
+
+// ModelsUserEmail struct for ModelsUserEmail
+type ModelsUserEmail struct {
+ CreatedAt *time.Time `json:"created_at,omitempty"`
+ Email *string `json:"email,omitempty"`
+ // example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ Id *string `json:"id,omitempty"`
+ IsPrimary *bool `json:"is_primary,omitempty"`
+ IsVerified *bool `json:"is_verified,omitempty"`
+ UpdatedAt *time.Time `json:"updated_at,omitempty"`
+ User *ModelsUser `json:"user,omitempty"`
+ UserId *string `json:"user_id,omitempty"`
+}
+
+// NewModelsUserEmail instantiates a new ModelsUserEmail object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewModelsUserEmail() *ModelsUserEmail {
+ this := ModelsUserEmail{}
+ return &this
+}
+
+// NewModelsUserEmailWithDefaults instantiates a new ModelsUserEmail object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewModelsUserEmailWithDefaults() *ModelsUserEmail {
+ this := ModelsUserEmail{}
+ return &this
+}
+
+// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetCreatedAt() time.Time {
+ if o == nil || IsNil(o.CreatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.CreatedAt
+}
+
+// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetCreatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.CreatedAt) {
+ return nil, false
+ }
+ return o.CreatedAt, true
+}
+
+// HasCreatedAt returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasCreatedAt() bool {
+ if o != nil && !IsNil(o.CreatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field.
+func (o *ModelsUserEmail) SetCreatedAt(v time.Time) {
+ o.CreatedAt = &v
+}
+
+// GetEmail returns the Email field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetEmail() string {
+ if o == nil || IsNil(o.Email) {
+ var ret string
+ return ret
+ }
+ return *o.Email
+}
+
+// GetEmailOk returns a tuple with the Email field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetEmailOk() (*string, bool) {
+ if o == nil || IsNil(o.Email) {
+ return nil, false
+ }
+ return o.Email, true
+}
+
+// HasEmail returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasEmail() bool {
+ if o != nil && !IsNil(o.Email) {
+ return true
+ }
+
+ return false
+}
+
+// SetEmail gets a reference to the given string and assigns it to the Email field.
+func (o *ModelsUserEmail) SetEmail(v string) {
+ o.Email = &v
+}
+
+// GetId returns the Id field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetId() string {
+ if o == nil || IsNil(o.Id) {
+ var ret string
+ return ret
+ }
+ return *o.Id
+}
+
+// GetIdOk returns a tuple with the Id field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetIdOk() (*string, bool) {
+ if o == nil || IsNil(o.Id) {
+ return nil, false
+ }
+ return o.Id, true
+}
+
+// HasId returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasId() bool {
+ if o != nil && !IsNil(o.Id) {
+ return true
+ }
+
+ return false
+}
+
+// SetId gets a reference to the given string and assigns it to the Id field.
+func (o *ModelsUserEmail) SetId(v string) {
+ o.Id = &v
+}
+
+// GetIsPrimary returns the IsPrimary field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetIsPrimary() bool {
+ if o == nil || IsNil(o.IsPrimary) {
+ var ret bool
+ return ret
+ }
+ return *o.IsPrimary
+}
+
+// GetIsPrimaryOk returns a tuple with the IsPrimary field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetIsPrimaryOk() (*bool, bool) {
+ if o == nil || IsNil(o.IsPrimary) {
+ return nil, false
+ }
+ return o.IsPrimary, true
+}
+
+// HasIsPrimary returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasIsPrimary() bool {
+ if o != nil && !IsNil(o.IsPrimary) {
+ return true
+ }
+
+ return false
+}
+
+// SetIsPrimary gets a reference to the given bool and assigns it to the IsPrimary field.
+func (o *ModelsUserEmail) SetIsPrimary(v bool) {
+ o.IsPrimary = &v
+}
+
+// GetIsVerified returns the IsVerified field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetIsVerified() bool {
+ if o == nil || IsNil(o.IsVerified) {
+ var ret bool
+ return ret
+ }
+ return *o.IsVerified
+}
+
+// GetIsVerifiedOk returns a tuple with the IsVerified field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetIsVerifiedOk() (*bool, bool) {
+ if o == nil || IsNil(o.IsVerified) {
+ return nil, false
+ }
+ return o.IsVerified, true
+}
+
+// HasIsVerified returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasIsVerified() bool {
+ if o != nil && !IsNil(o.IsVerified) {
+ return true
+ }
+
+ return false
+}
+
+// SetIsVerified gets a reference to the given bool and assigns it to the IsVerified field.
+func (o *ModelsUserEmail) SetIsVerified(v bool) {
+ o.IsVerified = &v
+}
+
+// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetUpdatedAt() time.Time {
+ if o == nil || IsNil(o.UpdatedAt) {
+ var ret time.Time
+ return ret
+ }
+ return *o.UpdatedAt
+}
+
+// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetUpdatedAtOk() (*time.Time, bool) {
+ if o == nil || IsNil(o.UpdatedAt) {
+ return nil, false
+ }
+ return o.UpdatedAt, true
+}
+
+// HasUpdatedAt returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasUpdatedAt() bool {
+ if o != nil && !IsNil(o.UpdatedAt) {
+ return true
+ }
+
+ return false
+}
+
+// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field.
+func (o *ModelsUserEmail) SetUpdatedAt(v time.Time) {
+ o.UpdatedAt = &v
+}
+
+// GetUser returns the User field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetUser() ModelsUser {
+ if o == nil || IsNil(o.User) {
+ var ret ModelsUser
+ return ret
+ }
+ return *o.User
+}
+
+// GetUserOk returns a tuple with the User field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetUserOk() (*ModelsUser, bool) {
+ if o == nil || IsNil(o.User) {
+ return nil, false
+ }
+ return o.User, true
+}
+
+// HasUser returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasUser() bool {
+ if o != nil && !IsNil(o.User) {
+ return true
+ }
+
+ return false
+}
+
+// SetUser gets a reference to the given ModelsUser and assigns it to the User field.
+func (o *ModelsUserEmail) SetUser(v ModelsUser) {
+ o.User = &v
+}
+
+// GetUserId returns the UserId field value if set, zero value otherwise.
+func (o *ModelsUserEmail) GetUserId() string {
+ if o == nil || IsNil(o.UserId) {
+ var ret string
+ return ret
+ }
+ return *o.UserId
+}
+
+// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *ModelsUserEmail) GetUserIdOk() (*string, bool) {
+ if o == nil || IsNil(o.UserId) {
+ return nil, false
+ }
+ return o.UserId, true
+}
+
+// HasUserId returns a boolean if a field has been set.
+func (o *ModelsUserEmail) HasUserId() bool {
+ if o != nil && !IsNil(o.UserId) {
+ return true
+ }
+
+ return false
+}
+
+// SetUserId gets a reference to the given string and assigns it to the UserId field.
+func (o *ModelsUserEmail) SetUserId(v string) {
+ o.UserId = &v
+}
+
+func (o ModelsUserEmail) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o ModelsUserEmail) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.CreatedAt) {
+ toSerialize["created_at"] = o.CreatedAt
+ }
+ if !IsNil(o.Email) {
+ toSerialize["email"] = o.Email
+ }
+ if !IsNil(o.Id) {
+ toSerialize["id"] = o.Id
+ }
+ if !IsNil(o.IsPrimary) {
+ toSerialize["is_primary"] = o.IsPrimary
+ }
+ if !IsNil(o.IsVerified) {
+ toSerialize["is_verified"] = o.IsVerified
+ }
+ if !IsNil(o.UpdatedAt) {
+ toSerialize["updated_at"] = o.UpdatedAt
+ }
+ if !IsNil(o.User) {
+ toSerialize["user"] = o.User
+ }
+ if !IsNil(o.UserId) {
+ toSerialize["user_id"] = o.UserId
+ }
+ return toSerialize, nil
+}
+
+type NullableModelsUserEmail struct {
+ value *ModelsUserEmail
+ isSet bool
+}
+
+func (v NullableModelsUserEmail) Get() *ModelsUserEmail {
+ return v.value
+}
+
+func (v *NullableModelsUserEmail) Set(val *ModelsUserEmail) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableModelsUserEmail) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableModelsUserEmail) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableModelsUserEmail(val *ModelsUserEmail) *NullableModelsUserEmail {
+ return &NullableModelsUserEmail{value: val, isSet: true}
+}
+
+func (v NullableModelsUserEmail) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableModelsUserEmail) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/model_utils_error_response.go b/sdk/go/model_utils_error_response.go
new file mode 100644
index 0000000..b1bfa6f
--- /dev/null
+++ b/sdk/go/model_utils_error_response.go
@@ -0,0 +1,162 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "encoding/json"
+)
+
+// checks if the UtilsErrorResponse type satisfies the MappedNullable interface at compile time
+var _ MappedNullable = &UtilsErrorResponse{}
+
+// UtilsErrorResponse struct for UtilsErrorResponse
+type UtilsErrorResponse struct {
+ // A machine-readable error code, e.g. \"validation_error\" example: validation_error
+ Code *string `json:"code,omitempty"`
+ // Human-readable message example: slug is required
+ Message *string `json:"message,omitempty"`
+}
+
+// NewUtilsErrorResponse instantiates a new UtilsErrorResponse object
+// This constructor will assign default values to properties that have it defined,
+// and makes sure properties required by API are set, but the set of arguments
+// will change when the set of required properties is changed
+func NewUtilsErrorResponse() *UtilsErrorResponse {
+ this := UtilsErrorResponse{}
+ return &this
+}
+
+// NewUtilsErrorResponseWithDefaults instantiates a new UtilsErrorResponse object
+// This constructor will only assign default values to properties that have it defined,
+// but it doesn't guarantee that properties required by API are set
+func NewUtilsErrorResponseWithDefaults() *UtilsErrorResponse {
+ this := UtilsErrorResponse{}
+ return &this
+}
+
+// GetCode returns the Code field value if set, zero value otherwise.
+func (o *UtilsErrorResponse) GetCode() string {
+ if o == nil || IsNil(o.Code) {
+ var ret string
+ return ret
+ }
+ return *o.Code
+}
+
+// GetCodeOk returns a tuple with the Code field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *UtilsErrorResponse) GetCodeOk() (*string, bool) {
+ if o == nil || IsNil(o.Code) {
+ return nil, false
+ }
+ return o.Code, true
+}
+
+// HasCode returns a boolean if a field has been set.
+func (o *UtilsErrorResponse) HasCode() bool {
+ if o != nil && !IsNil(o.Code) {
+ return true
+ }
+
+ return false
+}
+
+// SetCode gets a reference to the given string and assigns it to the Code field.
+func (o *UtilsErrorResponse) SetCode(v string) {
+ o.Code = &v
+}
+
+// GetMessage returns the Message field value if set, zero value otherwise.
+func (o *UtilsErrorResponse) GetMessage() string {
+ if o == nil || IsNil(o.Message) {
+ var ret string
+ return ret
+ }
+ return *o.Message
+}
+
+// GetMessageOk returns a tuple with the Message field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *UtilsErrorResponse) GetMessageOk() (*string, bool) {
+ if o == nil || IsNil(o.Message) {
+ return nil, false
+ }
+ return o.Message, true
+}
+
+// HasMessage returns a boolean if a field has been set.
+func (o *UtilsErrorResponse) HasMessage() bool {
+ if o != nil && !IsNil(o.Message) {
+ return true
+ }
+
+ return false
+}
+
+// SetMessage gets a reference to the given string and assigns it to the Message field.
+func (o *UtilsErrorResponse) SetMessage(v string) {
+ o.Message = &v
+}
+
+func (o UtilsErrorResponse) MarshalJSON() ([]byte, error) {
+ toSerialize, err := o.ToMap()
+ if err != nil {
+ return []byte{}, err
+ }
+ return json.Marshal(toSerialize)
+}
+
+func (o UtilsErrorResponse) ToMap() (map[string]interface{}, error) {
+ toSerialize := map[string]interface{}{}
+ if !IsNil(o.Code) {
+ toSerialize["code"] = o.Code
+ }
+ if !IsNil(o.Message) {
+ toSerialize["message"] = o.Message
+ }
+ return toSerialize, nil
+}
+
+type NullableUtilsErrorResponse struct {
+ value *UtilsErrorResponse
+ isSet bool
+}
+
+func (v NullableUtilsErrorResponse) Get() *UtilsErrorResponse {
+ return v.value
+}
+
+func (v *NullableUtilsErrorResponse) Set(val *UtilsErrorResponse) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableUtilsErrorResponse) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableUtilsErrorResponse) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableUtilsErrorResponse(val *UtilsErrorResponse) *NullableUtilsErrorResponse {
+ return &NullableUtilsErrorResponse{value: val, isSet: true}
+}
+
+func (v NullableUtilsErrorResponse) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableUtilsErrorResponse) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
diff --git a/sdk/go/response.go b/sdk/go/response.go
new file mode 100644
index 0000000..5d86157
--- /dev/null
+++ b/sdk/go/response.go
@@ -0,0 +1,47 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "net/http"
+)
+
+// APIResponse stores the API response returned by the server.
+type APIResponse struct {
+ *http.Response `json:"-"`
+ Message string `json:"message,omitempty"`
+ // Operation is the name of the OpenAPI operation.
+ Operation string `json:"operation,omitempty"`
+ // RequestURL is the request URL. This value is always available, even if the
+ // embedded *http.Response is nil.
+ RequestURL string `json:"url,omitempty"`
+ // Method is the HTTP method used for the request. This value is always
+ // available, even if the embedded *http.Response is nil.
+ Method string `json:"method,omitempty"`
+ // Payload holds the contents of the response body (which may be nil or empty).
+ // This is provided here as the raw response.Body() reader will have already
+ // been drained.
+ Payload []byte `json:"-"`
+}
+
+// NewAPIResponse returns a new APIResponse object.
+func NewAPIResponse(r *http.Response) *APIResponse {
+
+ response := &APIResponse{Response: r}
+ return response
+}
+
+// NewAPIResponseWithError returns a new APIResponse object with the provided error message.
+func NewAPIResponseWithError(errorMessage string) *APIResponse {
+
+ response := &APIResponse{Message: errorMessage}
+ return response
+}
diff --git a/sdk/go/test/api_auth_test.go b/sdk/go/test/api_auth_test.go
new file mode 100644
index 0000000..c51d48b
--- /dev/null
+++ b/sdk/go/test/api_auth_test.go
@@ -0,0 +1,88 @@
+/*
+AutoGlue API
+
+Testing AuthAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_AuthAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test AuthAPIService AuthCallback", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var provider string
+
+ resp, httpRes, err := apiClient.AuthAPI.AuthCallback(context.Background(), provider).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test AuthAPIService AuthStart", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var provider string
+
+ resp, httpRes, err := apiClient.AuthAPI.AuthStart(context.Background(), provider).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test AuthAPIService GetJWKS", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.AuthAPI.GetJWKS(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test AuthAPIService Logout", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ httpRes, err := apiClient.AuthAPI.Logout(context.Background()).Execute()
+
+ require.Nil(t, err)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test AuthAPIService Refresh", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.AuthAPI.Refresh(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_labels_test.go b/sdk/go/test/api_labels_test.go
new file mode 100644
index 0000000..5fd7e04
--- /dev/null
+++ b/sdk/go/test/api_labels_test.go
@@ -0,0 +1,91 @@
+/*
+AutoGlue API
+
+Testing LabelsAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_LabelsAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test LabelsAPIService CreateLabel", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.LabelsAPI.CreateLabel(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test LabelsAPIService DeleteLabel", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.LabelsAPI.DeleteLabel(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test LabelsAPIService GetLabel", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.LabelsAPI.GetLabel(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test LabelsAPIService ListLabels", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.LabelsAPI.ListLabels(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test LabelsAPIService UpdateLabel", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.LabelsAPI.UpdateLabel(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_me_api_keys_test.go b/sdk/go/test/api_me_api_keys_test.go
new file mode 100644
index 0000000..51b1140
--- /dev/null
+++ b/sdk/go/test/api_me_api_keys_test.go
@@ -0,0 +1,62 @@
+/*
+AutoGlue API
+
+Testing MeAPIKeysAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_MeAPIKeysAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test MeAPIKeysAPIService CreateUserAPIKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.MeAPIKeysAPI.CreateUserAPIKey(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test MeAPIKeysAPIService DeleteUserAPIKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ httpRes, err := apiClient.MeAPIKeysAPI.DeleteUserAPIKey(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test MeAPIKeysAPIService ListUserAPIKeys", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.MeAPIKeysAPI.ListUserAPIKeys(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_me_test.go b/sdk/go/test/api_me_test.go
new file mode 100644
index 0000000..ca38180
--- /dev/null
+++ b/sdk/go/test/api_me_test.go
@@ -0,0 +1,49 @@
+/*
+AutoGlue API
+
+Testing MeAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_MeAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test MeAPIService GetMe", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.MeAPI.GetMe(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test MeAPIService UpdateMe", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.MeAPI.UpdateMe(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_orgs_test.go b/sdk/go/test/api_orgs_test.go
new file mode 100644
index 0000000..e4453e0
--- /dev/null
+++ b/sdk/go/test/api_orgs_test.go
@@ -0,0 +1,174 @@
+/*
+AutoGlue API
+
+Testing OrgsAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_OrgsAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test OrgsAPIService AddOrUpdateMember", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.AddOrUpdateMember(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService CreateOrg", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.OrgsAPI.CreateOrg(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService CreateOrgKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.CreateOrgKey(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService DeleteOrg", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ httpRes, err := apiClient.OrgsAPI.DeleteOrg(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService DeleteOrgKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+ var keyId string
+
+ httpRes, err := apiClient.OrgsAPI.DeleteOrgKey(context.Background(), id, keyId).Execute()
+
+ require.Nil(t, err)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService GetOrg", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.GetOrg(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService ListMembers", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.ListMembers(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService ListMyOrgs", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.OrgsAPI.ListMyOrgs(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService ListOrgKeys", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.ListOrgKeys(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService RemoveMember", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+ var userId string
+
+ httpRes, err := apiClient.OrgsAPI.RemoveMember(context.Background(), id, userId).Execute()
+
+ require.Nil(t, err)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test OrgsAPIService UpdateOrg", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.OrgsAPI.UpdateOrg(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_servers_test.go b/sdk/go/test/api_servers_test.go
new file mode 100644
index 0000000..dd1c615
--- /dev/null
+++ b/sdk/go/test/api_servers_test.go
@@ -0,0 +1,91 @@
+/*
+AutoGlue API
+
+Testing ServersAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_ServersAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test ServersAPIService CreateServer", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.ServersAPI.CreateServer(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test ServersAPIService DeleteServer", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.ServersAPI.DeleteServer(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test ServersAPIService GetServer", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.ServersAPI.GetServer(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test ServersAPIService ListServers", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.ServersAPI.ListServers(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test ServersAPIService UpdateServer", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.ServersAPI.UpdateServer(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_ssh_test.go b/sdk/go/test/api_ssh_test.go
new file mode 100644
index 0000000..5ff7ebc
--- /dev/null
+++ b/sdk/go/test/api_ssh_test.go
@@ -0,0 +1,91 @@
+/*
+AutoGlue API
+
+Testing SshAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_SshAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test SshAPIService CreateSSHKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.SshAPI.CreateSSHKey(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test SshAPIService DeleteSSHKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.SshAPI.DeleteSSHKey(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test SshAPIService DownloadSSHKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.SshAPI.DownloadSSHKey(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test SshAPIService GetSSHKey", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.SshAPI.GetSSHKey(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test SshAPIService ListPublicSshKeys", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.SshAPI.ListPublicSshKeys(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/test/api_taints_test.go b/sdk/go/test/api_taints_test.go
new file mode 100644
index 0000000..67e17f7
--- /dev/null
+++ b/sdk/go/test/api_taints_test.go
@@ -0,0 +1,91 @@
+/*
+AutoGlue API
+
+Testing TaintsAPIService
+
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech);
+
+package autoglue
+
+import (
+ "context"
+ openapiclient "github.com/glueops/autoglue-sdk-go"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "testing"
+)
+
+func Test_autoglue_TaintsAPIService(t *testing.T) {
+
+ configuration := openapiclient.NewConfiguration()
+ apiClient := openapiclient.NewAPIClient(configuration)
+
+ t.Run("Test TaintsAPIService CreateTaint", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.TaintsAPI.CreateTaint(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test TaintsAPIService DeleteTaint", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.TaintsAPI.DeleteTaint(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test TaintsAPIService GetTaint", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.TaintsAPI.GetTaint(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test TaintsAPIService ListTaints", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ resp, httpRes, err := apiClient.TaintsAPI.ListTaints(context.Background()).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+ t.Run("Test TaintsAPIService UpdateTaint", func(t *testing.T) {
+
+ t.Skip("skip test") // remove to run test
+
+ var id string
+
+ resp, httpRes, err := apiClient.TaintsAPI.UpdateTaint(context.Background(), id).Execute()
+
+ require.Nil(t, err)
+ require.NotNil(t, resp)
+ assert.Equal(t, 200, httpRes.StatusCode)
+
+ })
+
+}
diff --git a/sdk/go/utils.go b/sdk/go/utils.go
new file mode 100644
index 0000000..e6c2711
--- /dev/null
+++ b/sdk/go/utils.go
@@ -0,0 +1,361 @@
+/*
+AutoGlue API
+
+API for managing K3s clusters across cloud providers
+
+API version: 1.0
+*/
+
+// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
+
+package autoglue
+
+import (
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "reflect"
+ "time"
+)
+
+// PtrBool is a helper routine that returns a pointer to given boolean value.
+func PtrBool(v bool) *bool { return &v }
+
+// PtrInt is a helper routine that returns a pointer to given integer value.
+func PtrInt(v int) *int { return &v }
+
+// PtrInt32 is a helper routine that returns a pointer to given integer value.
+func PtrInt32(v int32) *int32 { return &v }
+
+// PtrInt64 is a helper routine that returns a pointer to given integer value.
+func PtrInt64(v int64) *int64 { return &v }
+
+// PtrFloat32 is a helper routine that returns a pointer to given float value.
+func PtrFloat32(v float32) *float32 { return &v }
+
+// PtrFloat64 is a helper routine that returns a pointer to given float value.
+func PtrFloat64(v float64) *float64 { return &v }
+
+// PtrString is a helper routine that returns a pointer to given string value.
+func PtrString(v string) *string { return &v }
+
+// PtrTime is helper routine that returns a pointer to given Time value.
+func PtrTime(v time.Time) *time.Time { return &v }
+
+type NullableBool struct {
+ value *bool
+ isSet bool
+}
+
+func (v NullableBool) Get() *bool {
+ return v.value
+}
+
+func (v *NullableBool) Set(val *bool) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableBool) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableBool) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableBool(val *bool) *NullableBool {
+ return &NullableBool{value: val, isSet: true}
+}
+
+func (v NullableBool) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableBool) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt struct {
+ value *int
+ isSet bool
+}
+
+func (v NullableInt) Get() *int {
+ return v.value
+}
+
+func (v *NullableInt) Set(val *int) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableInt) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableInt) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableInt(val *int) *NullableInt {
+ return &NullableInt{value: val, isSet: true}
+}
+
+func (v NullableInt) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableInt) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt32 struct {
+ value *int32
+ isSet bool
+}
+
+func (v NullableInt32) Get() *int32 {
+ return v.value
+}
+
+func (v *NullableInt32) Set(val *int32) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableInt32) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableInt32) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableInt32(val *int32) *NullableInt32 {
+ return &NullableInt32{value: val, isSet: true}
+}
+
+func (v NullableInt32) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableInt32) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableInt64 struct {
+ value *int64
+ isSet bool
+}
+
+func (v NullableInt64) Get() *int64 {
+ return v.value
+}
+
+func (v *NullableInt64) Set(val *int64) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableInt64) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableInt64) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableInt64(val *int64) *NullableInt64 {
+ return &NullableInt64{value: val, isSet: true}
+}
+
+func (v NullableInt64) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableInt64) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableFloat32 struct {
+ value *float32
+ isSet bool
+}
+
+func (v NullableFloat32) Get() *float32 {
+ return v.value
+}
+
+func (v *NullableFloat32) Set(val *float32) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableFloat32) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableFloat32) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableFloat32(val *float32) *NullableFloat32 {
+ return &NullableFloat32{value: val, isSet: true}
+}
+
+func (v NullableFloat32) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableFloat32) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableFloat64 struct {
+ value *float64
+ isSet bool
+}
+
+func (v NullableFloat64) Get() *float64 {
+ return v.value
+}
+
+func (v *NullableFloat64) Set(val *float64) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableFloat64) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableFloat64) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableFloat64(val *float64) *NullableFloat64 {
+ return &NullableFloat64{value: val, isSet: true}
+}
+
+func (v NullableFloat64) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableFloat64) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableString struct {
+ value *string
+ isSet bool
+}
+
+func (v NullableString) Get() *string {
+ return v.value
+}
+
+func (v *NullableString) Set(val *string) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableString) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableString) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableString(val *string) *NullableString {
+ return &NullableString{value: val, isSet: true}
+}
+
+func (v NullableString) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableString) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+type NullableTime struct {
+ value *time.Time
+ isSet bool
+}
+
+func (v NullableTime) Get() *time.Time {
+ return v.value
+}
+
+func (v *NullableTime) Set(val *time.Time) {
+ v.value = val
+ v.isSet = true
+}
+
+func (v NullableTime) IsSet() bool {
+ return v.isSet
+}
+
+func (v *NullableTime) Unset() {
+ v.value = nil
+ v.isSet = false
+}
+
+func NewNullableTime(val *time.Time) *NullableTime {
+ return &NullableTime{value: val, isSet: true}
+}
+
+func (v NullableTime) MarshalJSON() ([]byte, error) {
+ return json.Marshal(v.value)
+}
+
+func (v *NullableTime) UnmarshalJSON(src []byte) error {
+ v.isSet = true
+ return json.Unmarshal(src, &v.value)
+}
+
+// IsNil checks if an input is nil
+func IsNil(i interface{}) bool {
+ if i == nil {
+ return true
+ }
+ switch reflect.TypeOf(i).Kind() {
+ case reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr, reflect.UnsafePointer, reflect.Interface, reflect.Slice:
+ return reflect.ValueOf(i).IsNil()
+ case reflect.Array:
+ return reflect.ValueOf(i).IsZero()
+ }
+ return false
+}
+
+type MappedNullable interface {
+ ToMap() (map[string]interface{}, error)
+}
+
+// A wrapper for strict JSON decoding
+func newStrictDecoder(data []byte) *json.Decoder {
+ dec := json.NewDecoder(bytes.NewBuffer(data))
+ dec.DisallowUnknownFields()
+ return dec
+}
+
+// Prevent trying to import "fmt"
+func reportError(format string, a ...interface{}) error {
+ return fmt.Errorf(format, a...)
+}
diff --git a/sdk/ts/.gitignore b/sdk/ts/.gitignore
new file mode 100644
index 0000000..149b576
--- /dev/null
+++ b/sdk/ts/.gitignore
@@ -0,0 +1,4 @@
+wwwroot/*.js
+node_modules
+typings
+dist
diff --git a/sdk/ts/.npmignore b/sdk/ts/.npmignore
new file mode 100644
index 0000000..42061c0
--- /dev/null
+++ b/sdk/ts/.npmignore
@@ -0,0 +1 @@
+README.md
\ No newline at end of file
diff --git a/sdk/ts/.openapi-generator-ignore b/sdk/ts/.openapi-generator-ignore
new file mode 100644
index 0000000..7484ee5
--- /dev/null
+++ b/sdk/ts/.openapi-generator-ignore
@@ -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
diff --git a/sdk/ts/.openapi-generator/FILES b/sdk/ts/.openapi-generator/FILES
new file mode 100644
index 0000000..476ba7d
--- /dev/null
+++ b/sdk/ts/.openapi-generator/FILES
@@ -0,0 +1,93 @@
+.gitignore
+.npmignore
+.openapi-generator-ignore
+README.md
+docs/AuthApi.md
+docs/DtoAuthStartResponse.md
+docs/DtoCreateLabelRequest.md
+docs/DtoCreateSSHRequest.md
+docs/DtoCreateServerRequest.md
+docs/DtoCreateTaintRequest.md
+docs/DtoJWK.md
+docs/DtoJWKS.md
+docs/DtoLabelResponse.md
+docs/DtoLogoutRequest.md
+docs/DtoRefreshRequest.md
+docs/DtoServerResponse.md
+docs/DtoSshResponse.md
+docs/DtoSshRevealResponse.md
+docs/DtoTaintResponse.md
+docs/DtoTokenPair.md
+docs/DtoUpdateLabelRequest.md
+docs/DtoUpdateServerRequest.md
+docs/DtoUpdateTaintRequest.md
+docs/HandlersCreateUserKeyRequest.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/LabelsApi.md
+docs/MeAPIKeysApi.md
+docs/MeApi.md
+docs/ModelsAPIKey.md
+docs/ModelsOrganization.md
+docs/ModelsUser.md
+docs/ModelsUserEmail.md
+docs/OrgsApi.md
+docs/ServersApi.md
+docs/SshApi.md
+docs/TaintsApi.md
+docs/UtilsErrorResponse.md
+package.json
+src/apis/AuthApi.ts
+src/apis/LabelsApi.ts
+src/apis/MeAPIKeysApi.ts
+src/apis/MeApi.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/DtoAuthStartResponse.ts
+src/models/DtoCreateLabelRequest.ts
+src/models/DtoCreateSSHRequest.ts
+src/models/DtoCreateServerRequest.ts
+src/models/DtoCreateTaintRequest.ts
+src/models/DtoJWK.ts
+src/models/DtoJWKS.ts
+src/models/DtoLabelResponse.ts
+src/models/DtoLogoutRequest.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/DtoUpdateLabelRequest.ts
+src/models/DtoUpdateServerRequest.ts
+src/models/DtoUpdateTaintRequest.ts
+src/models/HandlersCreateUserKeyRequest.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/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
diff --git a/sdk/ts/.openapi-generator/VERSION b/sdk/ts/.openapi-generator/VERSION
new file mode 100644
index 0000000..6328c54
--- /dev/null
+++ b/sdk/ts/.openapi-generator/VERSION
@@ -0,0 +1 @@
+7.17.0
diff --git a/sdk/ts/README.md b/sdk/ts/README.md
new file mode 100644
index 0000000..750870f
--- /dev/null
+++ b/sdk/ts/README.md
@@ -0,0 +1,204 @@
+# @glueops/autoglue-sdk-go@0.1.0
+
+A TypeScript SDK client for the localhost API.
+
+## Usage
+
+First, install the SDK from npm.
+
+```bash
+npm install @glueops/autoglue-sdk-go --save
+```
+
+Next, try it out.
+
+```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);
+```
+
+## Documentation
+
+### API Endpoints
+
+All URIs are relative to _http://localhost:8080/api/v1_
+
+| Class | Method | HTTP request | Description |
+| -------------- | ------------------------------------------------------------- | --------------------------------------- | ----------------------------------------------- |
+| _AuthApi_ | [**authCallback**](docs/AuthApi.md#authcallback) | **GET** /auth/{provider}/callback | Handle social login callback |
+| _AuthApi_ | [**authStart**](docs/AuthApi.md#authstart) | **POST** /auth/{provider}/start | Begin social login |
+| _AuthApi_ | [**getJWKS**](docs/AuthApi.md#getjwks) | **GET** /.well-known/jwks.json | Get JWKS |
+| _AuthApi_ | [**logout**](docs/AuthApi.md#logout) | **POST** /auth/logout | Revoke refresh token family (logout everywhere) |
+| _AuthApi_ | [**refresh**](docs/AuthApi.md#refresh) | **POST** /auth/refresh | Rotate refresh token |
+| _LabelsApi_ | [**createLabel**](docs/LabelsApi.md#createlabel) | **POST** /labels | Create label (org scoped) |
+| _LabelsApi_ | [**deleteLabel**](docs/LabelsApi.md#deletelabel) | **DELETE** /labels/{id} | Delete label (org scoped) |
+| _LabelsApi_ | [**getLabel**](docs/LabelsApi.md#getlabel) | **GET** /labels/{id} | Get label by ID (org scoped) |
+| _LabelsApi_ | [**listLabels**](docs/LabelsApi.md#listlabels) | **GET** /labels | List node labels (org scoped) |
+| _LabelsApi_ | [**updateLabel**](docs/LabelsApi.md#updatelabel) | **PATCH** /labels/{id} | Update label (org scoped) |
+| _MeApi_ | [**getMe**](docs/MeApi.md#getme) | **GET** /me | Get current user profile |
+| _MeApi_ | [**updateMe**](docs/MeApi.md#updateme) | **PATCH** /me | Update current user profile |
+| _MeAPIKeysApi_ | [**createUserAPIKey**](docs/MeAPIKeysApi.md#createuserapikey) | **POST** /me/api-keys | Create a new user API key |
+| _MeAPIKeysApi_ | [**deleteUserAPIKey**](docs/MeAPIKeysApi.md#deleteuserapikey) | **DELETE** /me/api-keys/{id} | Delete a user API key |
+| _MeAPIKeysApi_ | [**listUserAPIKeys**](docs/MeAPIKeysApi.md#listuserapikeys) | **GET** /me/api-keys | List my API keys |
+| _OrgsApi_ | [**addOrUpdateMember**](docs/OrgsApi.md#addorupdatemember) | **POST** /orgs/{id}/members | Add or update a member (owner/admin) |
+| _OrgsApi_ | [**createOrg**](docs/OrgsApi.md#createorg) | **POST** /orgs | Create organization |
+| _OrgsApi_ | [**createOrgKey**](docs/OrgsApi.md#createorgkey) | **POST** /orgs/{id}/api-keys | Create org key/secret pair (owner/admin) |
+| _OrgsApi_ | [**deleteOrg**](docs/OrgsApi.md#deleteorg) | **DELETE** /orgs/{id} | Delete organization (owner) |
+| _OrgsApi_ | [**deleteOrgKey**](docs/OrgsApi.md#deleteorgkey) | **DELETE** /orgs/{id}/api-keys/{key_id} | Delete org key (owner/admin) |
+| _OrgsApi_ | [**getOrg**](docs/OrgsApi.md#getorg) | **GET** /orgs/{id} | Get organization |
+| _OrgsApi_ | [**listMembers**](docs/OrgsApi.md#listmembers) | **GET** /orgs/{id}/members | List members in org |
+| _OrgsApi_ | [**listMyOrgs**](docs/OrgsApi.md#listmyorgs) | **GET** /orgs | List organizations I belong to |
+| _OrgsApi_ | [**listOrgKeys**](docs/OrgsApi.md#listorgkeys) | **GET** /orgs/{id}/api-keys | List org-scoped API keys (no secrets) |
+| _OrgsApi_ | [**removeMember**](docs/OrgsApi.md#removemember) | **DELETE** /orgs/{id}/members/{user_id} | Remove a member (owner/admin) |
+| _OrgsApi_ | [**updateOrg**](docs/OrgsApi.md#updateorg) | **PATCH** /orgs/{id} | Update organization (owner/admin) |
+| _ServersApi_ | [**createServer**](docs/ServersApi.md#createserver) | **POST** /servers | Create server (org scoped) |
+| _ServersApi_ | [**deleteServer**](docs/ServersApi.md#deleteserver) | **DELETE** /servers/{id} | Delete server (org scoped) |
+| _ServersApi_ | [**getServer**](docs/ServersApi.md#getserver) | **GET** /servers/{id} | Get server by ID (org scoped) |
+| _ServersApi_ | [**listServers**](docs/ServersApi.md#listservers) | **GET** /servers | List servers (org scoped) |
+| _ServersApi_ | [**updateServer**](docs/ServersApi.md#updateserver) | **PATCH** /servers/{id} | Update server (org scoped) |
+| _SshApi_ | [**createSSHKey**](docs/SshApi.md#createsshkey) | **POST** /ssh | Create ssh keypair (org scoped) |
+| _SshApi_ | [**deleteSSHKey**](docs/SshApi.md#deletesshkey) | **DELETE** /ssh/{id} | Delete ssh keypair (org scoped) |
+| _SshApi_ | [**downloadSSHKey**](docs/SshApi.md#downloadsshkey) | **GET** /ssh/{id}/download | Download ssh key files by ID (org scoped) |
+| _SshApi_ | [**getSSHKey**](docs/SshApi.md#getsshkey) | **GET** /ssh/{id} | Get ssh key by ID (org scoped) |
+| _SshApi_ | [**listPublicSshKeys**](docs/SshApi.md#listpublicsshkeys) | **GET** /ssh | List ssh keys (org scoped) |
+| _TaintsApi_ | [**createTaint**](docs/TaintsApi.md#createtaint) | **POST** /taints | Create node taint (org scoped) |
+| _TaintsApi_ | [**deleteTaint**](docs/TaintsApi.md#deletetaint) | **DELETE** /taints/{id} | Delete taint (org scoped) |
+| _TaintsApi_ | [**getTaint**](docs/TaintsApi.md#gettaint) | **GET** /taints/{id} | Get node taint by ID (org scoped) |
+| _TaintsApi_ | [**listTaints**](docs/TaintsApi.md#listtaints) | **GET** /taints | List node pool taints (org scoped) |
+| _TaintsApi_ | [**updateTaint**](docs/TaintsApi.md#updatetaint) | **PATCH** /taints/{id} | Update node taint (org scoped) |
+
+### Models
+
+- [DtoAuthStartResponse](docs/DtoAuthStartResponse.md)
+- [DtoCreateLabelRequest](docs/DtoCreateLabelRequest.md)
+- [DtoCreateSSHRequest](docs/DtoCreateSSHRequest.md)
+- [DtoCreateServerRequest](docs/DtoCreateServerRequest.md)
+- [DtoCreateTaintRequest](docs/DtoCreateTaintRequest.md)
+- [DtoJWK](docs/DtoJWK.md)
+- [DtoJWKS](docs/DtoJWKS.md)
+- [DtoLabelResponse](docs/DtoLabelResponse.md)
+- [DtoLogoutRequest](docs/DtoLogoutRequest.md)
+- [DtoRefreshRequest](docs/DtoRefreshRequest.md)
+- [DtoServerResponse](docs/DtoServerResponse.md)
+- [DtoSshResponse](docs/DtoSshResponse.md)
+- [DtoSshRevealResponse](docs/DtoSshRevealResponse.md)
+- [DtoTaintResponse](docs/DtoTaintResponse.md)
+- [DtoTokenPair](docs/DtoTokenPair.md)
+- [DtoUpdateLabelRequest](docs/DtoUpdateLabelRequest.md)
+- [DtoUpdateServerRequest](docs/DtoUpdateServerRequest.md)
+- [DtoUpdateTaintRequest](docs/DtoUpdateTaintRequest.md)
+- [HandlersCreateUserKeyRequest](docs/HandlersCreateUserKeyRequest.md)
+- [HandlersMeResponse](docs/HandlersMeResponse.md)
+- [HandlersMemberOut](docs/HandlersMemberOut.md)
+- [HandlersMemberUpsertReq](docs/HandlersMemberUpsertReq.md)
+- [HandlersOrgCreateReq](docs/HandlersOrgCreateReq.md)
+- [HandlersOrgKeyCreateReq](docs/HandlersOrgKeyCreateReq.md)
+- [HandlersOrgKeyCreateResp](docs/HandlersOrgKeyCreateResp.md)
+- [HandlersOrgUpdateReq](docs/HandlersOrgUpdateReq.md)
+- [HandlersUpdateMeRequest](docs/HandlersUpdateMeRequest.md)
+- [HandlersUserAPIKeyOut](docs/HandlersUserAPIKeyOut.md)
+- [ModelsAPIKey](docs/ModelsAPIKey.md)
+- [ModelsOrganization](docs/ModelsOrganization.md)
+- [ModelsUser](docs/ModelsUser.md)
+- [ModelsUserEmail](docs/ModelsUserEmail.md)
+- [UtilsErrorResponse](docs/UtilsErrorResponse.md)
+
+### Authorization
+
+Authentication schemes defined for the API:
+
+
+#### ApiKeyAuth
+
+- **Type**: API key
+- **API key parameter name**: `X-API-KEY`
+- **Location**: HTTP header
+
+
+#### BearerAuth
+
+- **Type**: API key
+- **API key parameter name**: `Authorization`
+- **Location**: HTTP header
+
+
+#### OrgKeyAuth
+
+- **Type**: API key
+- **API key parameter name**: `X-ORG-KEY`
+- **Location**: HTTP header
+
+
+#### OrgSecretAuth
+
+- **Type**: API key
+- **API key parameter name**: `X-ORG-SECRET`
+- **Location**: HTTP header
+
+## About
+
+This TypeScript SDK client supports the [Fetch API](https://fetch.spec.whatwg.org/)
+and is automatically generated by the
+[OpenAPI Generator](https://openapi-generator.tech) project:
+
+- API version: `1.0`
+- Package version: `0.1.0`
+- Generator version: `7.17.0`
+- Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
+
+The generated npm module supports the following:
+
+- Environments
+ - Node.js
+ - Webpack
+ - Browserify
+- Language levels
+ - ES5 - you must have a Promises/A+ library installed
+ - ES6
+- Module systems
+ - CommonJS
+ - ES6 module system
+
+## Development
+
+### Building
+
+To build the TypeScript source code, you need to have Node.js and npm installed.
+After cloning the repository, navigate to the project directory and run:
+
+```bash
+npm install
+npm run build
+```
+
+### Publishing
+
+Once you've built the package, you can publish it to npm:
+
+```bash
+npm publish
+```
+
+## License
+
+[]()
diff --git a/sdk/ts/docs/AuthApi.md b/sdk/ts/docs/AuthApi.md
new file mode 100644
index 0000000..ca893be
--- /dev/null
+++ b/sdk/ts/docs/AuthApi.md
@@ -0,0 +1,314 @@
+# AuthApi
+
+All URIs are relative to _http://localhost:8080/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)
diff --git a/sdk/ts/docs/DtoAuthStartResponse.md b/sdk/ts/docs/DtoAuthStartResponse.md
new file mode 100644
index 0000000..d7c19be
--- /dev/null
+++ b/sdk/ts/docs/DtoAuthStartResponse.md
@@ -0,0 +1,30 @@
+# 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)
diff --git a/sdk/ts/docs/DtoCreateLabelRequest.md b/sdk/ts/docs/DtoCreateLabelRequest.md
new file mode 100644
index 0000000..2336040
--- /dev/null
+++ b/sdk/ts/docs/DtoCreateLabelRequest.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/DtoCreateSSHRequest.md b/sdk/ts/docs/DtoCreateSSHRequest.md
new file mode 100644
index 0000000..7980fc7
--- /dev/null
+++ b/sdk/ts/docs/DtoCreateSSHRequest.md
@@ -0,0 +1,36 @@
+# 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)
diff --git a/sdk/ts/docs/DtoCreateServerRequest.md b/sdk/ts/docs/DtoCreateServerRequest.md
new file mode 100644
index 0000000..c044c58
--- /dev/null
+++ b/sdk/ts/docs/DtoCreateServerRequest.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/DtoCreateTaintRequest.md b/sdk/ts/docs/DtoCreateTaintRequest.md
new file mode 100644
index 0000000..190caff
--- /dev/null
+++ b/sdk/ts/docs/DtoCreateTaintRequest.md
@@ -0,0 +1,34 @@
+# 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)
diff --git a/sdk/ts/docs/DtoJWK.md b/sdk/ts/docs/DtoJWK.md
new file mode 100644
index 0000000..5d3844f
--- /dev/null
+++ b/sdk/ts/docs/DtoJWK.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/DtoJWKS.md b/sdk/ts/docs/DtoJWKS.md
new file mode 100644
index 0000000..6376d9f
--- /dev/null
+++ b/sdk/ts/docs/DtoJWKS.md
@@ -0,0 +1,30 @@
+# DtoJWKS
+
+## Properties
+
+| Name | Type |
+| ------ | -------------------------------- |
+| `keys` | [Array<DtoJWK>](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)
diff --git a/sdk/ts/docs/DtoLabelResponse.md b/sdk/ts/docs/DtoLabelResponse.md
new file mode 100644
index 0000000..d7e8102
--- /dev/null
+++ b/sdk/ts/docs/DtoLabelResponse.md
@@ -0,0 +1,34 @@
+# DtoLabelResponse
+
+## Properties
+
+| Name | Type |
+| ------- | ------ |
+| `id` | string |
+| `key` | string |
+| `value` | string |
+
+## Example
+
+```typescript
+import type { DtoLabelResponse } from "@glueops/autoglue-sdk-go";
+
+// TODO: Update the object below with actual values
+const example = {
+ id: null,
+ key: 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)
diff --git a/sdk/ts/docs/DtoLogoutRequest.md b/sdk/ts/docs/DtoLogoutRequest.md
new file mode 100644
index 0000000..2eab986
--- /dev/null
+++ b/sdk/ts/docs/DtoLogoutRequest.md
@@ -0,0 +1,30 @@
+# 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)
diff --git a/sdk/ts/docs/DtoRefreshRequest.md b/sdk/ts/docs/DtoRefreshRequest.md
new file mode 100644
index 0000000..8d63197
--- /dev/null
+++ b/sdk/ts/docs/DtoRefreshRequest.md
@@ -0,0 +1,30 @@
+# 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)
diff --git a/sdk/ts/docs/DtoServerResponse.md b/sdk/ts/docs/DtoServerResponse.md
new file mode 100644
index 0000000..2a51bb8
--- /dev/null
+++ b/sdk/ts/docs/DtoServerResponse.md
@@ -0,0 +1,50 @@
+# 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: null,
+ ssh_key_id: null,
+ ssh_user: null,
+ status: null,
+ 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)
diff --git a/sdk/ts/docs/DtoSshResponse.md b/sdk/ts/docs/DtoSshResponse.md
new file mode 100644
index 0000000..1a2aa7b
--- /dev/null
+++ b/sdk/ts/docs/DtoSshResponse.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/DtoSshRevealResponse.md b/sdk/ts/docs/DtoSshRevealResponse.md
new file mode 100644
index 0000000..2f7ddf4
--- /dev/null
+++ b/sdk/ts/docs/DtoSshRevealResponse.md
@@ -0,0 +1,44 @@
+# 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)
diff --git a/sdk/ts/docs/DtoTaintResponse.md b/sdk/ts/docs/DtoTaintResponse.md
new file mode 100644
index 0000000..1f46f31
--- /dev/null
+++ b/sdk/ts/docs/DtoTaintResponse.md
@@ -0,0 +1,36 @@
+# DtoTaintResponse
+
+## Properties
+
+| Name | Type |
+| -------- | ------ |
+| `effect` | string |
+| `id` | string |
+| `key` | string |
+| `value` | string |
+
+## Example
+
+```typescript
+import type { DtoTaintResponse } from "@glueops/autoglue-sdk-go";
+
+// TODO: Update the object below with actual values
+const example = {
+ effect: null,
+ id: null,
+ key: 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)
diff --git a/sdk/ts/docs/DtoTokenPair.md b/sdk/ts/docs/DtoTokenPair.md
new file mode 100644
index 0000000..4ab04f8
--- /dev/null
+++ b/sdk/ts/docs/DtoTokenPair.md
@@ -0,0 +1,36 @@
+# 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)
diff --git a/sdk/ts/docs/DtoUpdateLabelRequest.md b/sdk/ts/docs/DtoUpdateLabelRequest.md
new file mode 100644
index 0000000..2e2b53b
--- /dev/null
+++ b/sdk/ts/docs/DtoUpdateLabelRequest.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/DtoUpdateServerRequest.md b/sdk/ts/docs/DtoUpdateServerRequest.md
new file mode 100644
index 0000000..39c61b6
--- /dev/null
+++ b/sdk/ts/docs/DtoUpdateServerRequest.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/DtoUpdateTaintRequest.md b/sdk/ts/docs/DtoUpdateTaintRequest.md
new file mode 100644
index 0000000..b84efaf
--- /dev/null
+++ b/sdk/ts/docs/DtoUpdateTaintRequest.md
@@ -0,0 +1,34 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersCreateUserKeyRequest.md b/sdk/ts/docs/HandlersCreateUserKeyRequest.md
new file mode 100644
index 0000000..99d5575
--- /dev/null
+++ b/sdk/ts/docs/HandlersCreateUserKeyRequest.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersMeResponse.md b/sdk/ts/docs/HandlersMeResponse.md
new file mode 100644
index 0000000..46311f0
--- /dev/null
+++ b/sdk/ts/docs/HandlersMeResponse.md
@@ -0,0 +1,46 @@
+# HandlersMeResponse
+
+## Properties
+
+| Name | Type |
+| --------------- | -------------------------------------------------------- |
+| `avatar_url` | string |
+| `created_at` | Date |
+| `display_name` | string |
+| `emails` | [Array<ModelsUserEmail>](ModelsUserEmail.md) |
+| `id` | string |
+| `is_disabled` | boolean |
+| `organizations` | [Array<ModelsOrganization>](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_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)
diff --git a/sdk/ts/docs/HandlersMemberOut.md b/sdk/ts/docs/HandlersMemberOut.md
new file mode 100644
index 0000000..3e7e648
--- /dev/null
+++ b/sdk/ts/docs/HandlersMemberOut.md
@@ -0,0 +1,34 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersMemberUpsertReq.md b/sdk/ts/docs/HandlersMemberUpsertReq.md
new file mode 100644
index 0000000..39f8295
--- /dev/null
+++ b/sdk/ts/docs/HandlersMemberUpsertReq.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersOrgCreateReq.md b/sdk/ts/docs/HandlersOrgCreateReq.md
new file mode 100644
index 0000000..3af2388
--- /dev/null
+++ b/sdk/ts/docs/HandlersOrgCreateReq.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersOrgKeyCreateReq.md b/sdk/ts/docs/HandlersOrgKeyCreateReq.md
new file mode 100644
index 0000000..6bca006
--- /dev/null
+++ b/sdk/ts/docs/HandlersOrgKeyCreateReq.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersOrgKeyCreateResp.md b/sdk/ts/docs/HandlersOrgKeyCreateResp.md
new file mode 100644
index 0000000..577ea0e
--- /dev/null
+++ b/sdk/ts/docs/HandlersOrgKeyCreateResp.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersOrgUpdateReq.md b/sdk/ts/docs/HandlersOrgUpdateReq.md
new file mode 100644
index 0000000..82dd9eb
--- /dev/null
+++ b/sdk/ts/docs/HandlersOrgUpdateReq.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersUpdateMeRequest.md b/sdk/ts/docs/HandlersUpdateMeRequest.md
new file mode 100644
index 0000000..8b7fd75
--- /dev/null
+++ b/sdk/ts/docs/HandlersUpdateMeRequest.md
@@ -0,0 +1,30 @@
+# 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)
diff --git a/sdk/ts/docs/HandlersUserAPIKeyOut.md b/sdk/ts/docs/HandlersUserAPIKeyOut.md
new file mode 100644
index 0000000..b31c0c3
--- /dev/null
+++ b/sdk/ts/docs/HandlersUserAPIKeyOut.md
@@ -0,0 +1,42 @@
+# 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)
diff --git a/sdk/ts/docs/LabelsApi.md b/sdk/ts/docs/LabelsApi.md
new file mode 100644
index 0000000..9e9a206
--- /dev/null
+++ b/sdk/ts/docs/LabelsApi.md
@@ -0,0 +1,412 @@
+# LabelsApi
+
+All URIs are relative to _http://localhost:8080/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<DtoLabelResponse> listLabels(xOrgID, key, value, q)
+
+List node labels (org scoped)
+
+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.
+
+### 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<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 | - |
+| **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)
diff --git a/sdk/ts/docs/MeAPIKeysApi.md b/sdk/ts/docs/MeAPIKeysApi.md
new file mode 100644
index 0000000..069f92f
--- /dev/null
+++ b/sdk/ts/docs/MeAPIKeysApi.md
@@ -0,0 +1,203 @@
+# MeAPIKeysApi
+
+All URIs are relative to _http://localhost:8080/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<HandlersUserAPIKeyOut> 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<HandlersUserAPIKeyOut>**](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)
diff --git a/sdk/ts/docs/MeApi.md b/sdk/ts/docs/MeApi.md
new file mode 100644
index 0000000..4438c2e
--- /dev/null
+++ b/sdk/ts/docs/MeApi.md
@@ -0,0 +1,136 @@
+# MeApi
+
+All URIs are relative to _http://localhost:8080/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)
diff --git a/sdk/ts/docs/ModelsAPIKey.md b/sdk/ts/docs/ModelsAPIKey.md
new file mode 100644
index 0000000..27b14af
--- /dev/null
+++ b/sdk/ts/docs/ModelsAPIKey.md
@@ -0,0 +1,50 @@
+# 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)
diff --git a/sdk/ts/docs/ModelsOrganization.md b/sdk/ts/docs/ModelsOrganization.md
new file mode 100644
index 0000000..81e9eb5
--- /dev/null
+++ b/sdk/ts/docs/ModelsOrganization.md
@@ -0,0 +1,38 @@
+# 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)
diff --git a/sdk/ts/docs/ModelsUser.md b/sdk/ts/docs/ModelsUser.md
new file mode 100644
index 0000000..ac06fd8
--- /dev/null
+++ b/sdk/ts/docs/ModelsUser.md
@@ -0,0 +1,42 @@
+# ModelsUser
+
+## Properties
+
+| Name | Type |
+| --------------- | ------- |
+| `avatar_url` | string |
+| `created_at` | Date |
+| `display_name` | string |
+| `id` | string |
+| `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_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)
diff --git a/sdk/ts/docs/ModelsUserEmail.md b/sdk/ts/docs/ModelsUserEmail.md
new file mode 100644
index 0000000..0766fd2
--- /dev/null
+++ b/sdk/ts/docs/ModelsUserEmail.md
@@ -0,0 +1,44 @@
+# 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)
diff --git a/sdk/ts/docs/OrgsApi.md b/sdk/ts/docs/OrgsApi.md
new file mode 100644
index 0000000..3eac0d7
--- /dev/null
+++ b/sdk/ts/docs/OrgsApi.md
@@ -0,0 +1,757 @@
+# OrgsApi
+
+All URIs are relative to _http://localhost:8080/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 & 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<HandlersMemberOut> 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<HandlersMemberOut>**](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<ModelsOrganization> 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<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 | - |
+
+[[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<ModelsAPIKey> 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<ModelsAPIKey>**](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)
diff --git a/sdk/ts/docs/ServersApi.md b/sdk/ts/docs/ServersApi.md
new file mode 100644
index 0000000..38f1de6
--- /dev/null
+++ b/sdk/ts/docs/ServersApi.md
@@ -0,0 +1,409 @@
+# ServersApi
+
+All URIs are relative to _http://localhost:8080/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<DtoServerResponse> 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<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 | - |
+| **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)
diff --git a/sdk/ts/docs/SshApi.md b/sdk/ts/docs/SshApi.md
new file mode 100644
index 0000000..fef4aed
--- /dev/null
+++ b/sdk/ts/docs/SshApi.md
@@ -0,0 +1,403 @@
+# SshApi
+
+All URIs are relative to _http://localhost:8080/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 `part=public|private|both` of the keypair. `both` 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 `?reveal=true` 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=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<DtoSshResponse> 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<DtoSshResponse>**](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)
diff --git a/sdk/ts/docs/TaintsApi.md b/sdk/ts/docs/TaintsApi.md
new file mode 100644
index 0000000..3a9b2ec
--- /dev/null
+++ b/sdk/ts/docs/TaintsApi.md
@@ -0,0 +1,410 @@
+# TaintsApi
+
+All URIs are relative to _http://localhost:8080/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<DtoTaintResponse> listTaints(xOrgID, key, value, q)
+
+List node pool taints (org scoped)
+
+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.
+
+### 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<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 | - |
+| **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)
diff --git a/sdk/ts/docs/UtilsErrorResponse.md b/sdk/ts/docs/UtilsErrorResponse.md
new file mode 100644
index 0000000..26fe01e
--- /dev/null
+++ b/sdk/ts/docs/UtilsErrorResponse.md
@@ -0,0 +1,32 @@
+# 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)
diff --git a/sdk/ts/package.json b/sdk/ts/package.json
new file mode 100644
index 0000000..de57003
--- /dev/null
+++ b/sdk/ts/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "@glueops/autoglue-sdk-go",
+ "version": "0.1.0",
+ "description": "OpenAPI client for @glueops/autoglue-sdk-go",
+ "author": "OpenAPI-Generator",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
+ },
+ "main": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "module": "./dist/esm/index.js",
+ "sideEffects": false,
+ "scripts": {
+ "build": "tsc && tsc -p tsconfig.esm.json",
+ "prepare": "npm run build"
+ },
+ "devDependencies": {
+ "typescript": "^4.0 || ^5.0"
+ }
+}
diff --git a/sdk/ts/src/apis/AuthApi.ts b/sdk/ts/src/apis/AuthApi.ts
new file mode 100644
index 0000000..4d712be
--- /dev/null
+++ b/sdk/ts/src/apis/AuthApi.ts
@@ -0,0 +1,294 @@
+/* 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,
+ DtoAuthStartResponseToJSON,
+ DtoJWKSFromJSON,
+ DtoJWKSToJSON,
+ DtoLogoutRequestFromJSON,
+ DtoLogoutRequestToJSON,
+ DtoRefreshRequestFromJSON,
+ DtoRefreshRequestToJSON,
+ DtoTokenPairFromJSON,
+ DtoTokenPairToJSON,
+} 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> {
+ 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 {
+ 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> {
+ 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 {
+ 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> {
+ 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 {
+ 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> {
+ 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 {
+ await this.logoutRaw(requestParameters, initOverrides);
+ }
+
+ /**
+ * Rotate refresh token
+ */
+ async refreshRaw(
+ requestParameters: RefreshRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ const response = await this.refreshRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/LabelsApi.ts b/sdk/ts/src/apis/LabelsApi.ts
new file mode 100644
index 0000000..39fb419
--- /dev/null
+++ b/sdk/ts/src/apis/LabelsApi.ts
@@ -0,0 +1,437 @@
+/* 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 {
+ DtoCreateLabelRequestFromJSON,
+ DtoCreateLabelRequestToJSON,
+ DtoLabelResponseFromJSON,
+ DtoLabelResponseToJSON,
+ DtoUpdateLabelRequestFromJSON,
+ 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> {
+ 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 {
+ 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> {
+ 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(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 {
+ 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> {
+ 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 {
+ 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>> {
+ 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> {
+ 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> {
+ 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 {
+ const response = await this.updateLabelRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/MeAPIKeysApi.ts b/sdk/ts/src/apis/MeAPIKeysApi.ts
new file mode 100644
index 0000000..3117f29
--- /dev/null
+++ b/sdk/ts/src/apis/MeAPIKeysApi.ts
@@ -0,0 +1,201 @@
+/* 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 {
+ HandlersCreateUserKeyRequestFromJSON,
+ HandlersCreateUserKeyRequestToJSON,
+ HandlersUserAPIKeyOutFromJSON,
+ HandlersUserAPIKeyOutToJSON,
+} 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> {
+ 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 {
+ 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> {
+ 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 {
+ await this.deleteUserAPIKeyRaw(requestParameters, initOverrides);
+ }
+
+ /**
+ * List my API keys
+ */
+ async listUserAPIKeysRaw(
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise>> {
+ 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> {
+ const response = await this.listUserAPIKeysRaw(initOverrides);
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/MeApi.ts b/sdk/ts/src/apis/MeApi.ts
new file mode 100644
index 0000000..f04e389
--- /dev/null
+++ b/sdk/ts/src/apis/MeApi.ts
@@ -0,0 +1,143 @@
+/* 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,
+ HandlersMeResponseToJSON,
+ HandlersUpdateMeRequestFromJSON,
+ HandlersUpdateMeRequestToJSON,
+ ModelsUserFromJSON,
+ ModelsUserToJSON,
+} 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> {
+ 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 {
+ const response = await this.getMeRaw(initOverrides);
+ return await response.value();
+ }
+
+ /**
+ * Update current user profile
+ */
+ async updateMeRaw(
+ requestParameters: UpdateMeRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ const response = await this.updateMeRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/OrgsApi.ts b/sdk/ts/src/apis/OrgsApi.ts
new file mode 100644
index 0000000..289f507
--- /dev/null
+++ b/sdk/ts/src/apis/OrgsApi.ts
@@ -0,0 +1,742 @@
+/* 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,
+ UtilsErrorResponse,
+} from "../models/index";
+import {
+ HandlersMemberOutFromJSON,
+ HandlersMemberOutToJSON,
+ HandlersMemberUpsertReqFromJSON,
+ HandlersMemberUpsertReqToJSON,
+ HandlersOrgCreateReqFromJSON,
+ HandlersOrgCreateReqToJSON,
+ HandlersOrgKeyCreateReqFromJSON,
+ HandlersOrgKeyCreateReqToJSON,
+ HandlersOrgKeyCreateRespFromJSON,
+ HandlersOrgKeyCreateRespToJSON,
+ HandlersOrgUpdateReqFromJSON,
+ HandlersOrgUpdateReqToJSON,
+ ModelsAPIKeyFromJSON,
+ ModelsAPIKeyToJSON,
+ ModelsOrganizationFromJSON,
+ ModelsOrganizationToJSON,
+ UtilsErrorResponseFromJSON,
+ UtilsErrorResponseToJSON,
+} 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> {
+ 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 {
+ const response = await this.addOrUpdateMemberRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+
+ /**
+ * Create organization
+ */
+ async createOrgRaw(
+ requestParameters: CreateOrgRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ 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> {
+ 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 {
+ const response = await this.createOrgKeyRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+
+ /**
+ * Delete organization (owner)
+ */
+ async deleteOrgRaw(
+ requestParameters: DeleteOrgRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ await this.deleteOrgRaw(requestParameters, initOverrides);
+ }
+
+ /**
+ * Delete org key (owner/admin)
+ */
+ async deleteOrgKeyRaw(
+ requestParameters: DeleteOrgKeyRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ await this.deleteOrgKeyRaw(requestParameters, initOverrides);
+ }
+
+ /**
+ * Get organization
+ */
+ async getOrgRaw(
+ requestParameters: GetOrgRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ const response = await this.getOrgRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+
+ /**
+ * List members in org
+ */
+ async listMembersRaw(
+ requestParameters: ListMembersRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise>> {
+ 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> {
+ const response = await this.listMembersRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+
+ /**
+ * List organizations I belong to
+ */
+ async listMyOrgsRaw(
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise>> {
+ 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> {
+ 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>> {
+ 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> {
+ 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> {
+ 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 {
+ await this.removeMemberRaw(requestParameters, initOverrides);
+ }
+
+ /**
+ * Update organization (owner/admin)
+ */
+ async updateOrgRaw(
+ requestParameters: UpdateOrgRequest,
+ initOverrides?: RequestInit | runtime.InitOverrideFunction,
+ ): Promise> {
+ 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 {
+ const response = await this.updateOrgRaw(requestParameters, initOverrides);
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/ServersApi.ts b/sdk/ts/src/apis/ServersApi.ts
new file mode 100644
index 0000000..f112748
--- /dev/null
+++ b/sdk/ts/src/apis/ServersApi.ts
@@ -0,0 +1,435 @@
+/* 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 {
+ DtoCreateServerRequestFromJSON,
+ DtoCreateServerRequestToJSON,
+ DtoServerResponseFromJSON,
+ DtoServerResponseToJSON,
+ DtoUpdateServerRequestFromJSON,
+ 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> {
+ 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 {
+ 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> {
+ 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(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 {
+ 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> {
+ 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 {
+ 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>> {
+ 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> {
+ 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> {
+ 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 {
+ const response = await this.updateServerRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/SshApi.ts b/sdk/ts/src/apis/SshApi.ts
new file mode 100644
index 0000000..bb1c1be
--- /dev/null
+++ b/sdk/ts/src/apis/SshApi.ts
@@ -0,0 +1,451 @@
+/* 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 {
+ DtoCreateSSHRequestFromJSON,
+ DtoCreateSSHRequestToJSON,
+ DtoSshResponseFromJSON,
+ DtoSshResponseToJSON,
+ DtoSshRevealResponseFromJSON,
+ DtoSshRevealResponseToJSON,
+} 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> {
+ 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 {
+ 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> {
+ 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(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 {
+ 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> {
+ 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(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 {
+ 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> {
+ 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 {
+ 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>> {
+ 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> {
+ 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];
diff --git a/sdk/ts/src/apis/TaintsApi.ts b/sdk/ts/src/apis/TaintsApi.ts
new file mode 100644
index 0000000..0179506
--- /dev/null
+++ b/sdk/ts/src/apis/TaintsApi.ts
@@ -0,0 +1,435 @@
+/* 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 {
+ DtoCreateTaintRequestFromJSON,
+ DtoCreateTaintRequestToJSON,
+ DtoTaintResponseFromJSON,
+ DtoTaintResponseToJSON,
+ DtoUpdateTaintRequestFromJSON,
+ 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> {
+ 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 {
+ 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> {
+ 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(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 {
+ 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> {
+ 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 {
+ 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>> {
+ 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> {
+ 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> {
+ 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 {
+ const response = await this.updateTaintRaw(
+ requestParameters,
+ initOverrides,
+ );
+ return await response.value();
+ }
+}
diff --git a/sdk/ts/src/apis/index.ts b/sdk/ts/src/apis/index.ts
new file mode 100644
index 0000000..1b2b3a3
--- /dev/null
+++ b/sdk/ts/src/apis/index.ts
@@ -0,0 +1,10 @@
+/* tslint:disable */
+/* eslint-disable */
+export * from "./AuthApi";
+export * from "./LabelsApi";
+export * from "./MeApi";
+export * from "./MeAPIKeysApi";
+export * from "./OrgsApi";
+export * from "./ServersApi";
+export * from "./SshApi";
+export * from "./TaintsApi";
diff --git a/sdk/ts/src/index.ts b/sdk/ts/src/index.ts
new file mode 100644
index 0000000..ee26377
--- /dev/null
+++ b/sdk/ts/src/index.ts
@@ -0,0 +1,5 @@
+/* tslint:disable */
+/* eslint-disable */
+export * from "./runtime";
+export * from "./apis/index";
+export * from "./models/index";
diff --git a/sdk/ts/src/models/DtoAuthStartResponse.ts b/sdk/ts/src/models/DtoAuthStartResponse.ts
new file mode 100644
index 0000000..ac12114
--- /dev/null
+++ b/sdk/ts/src/models/DtoAuthStartResponse.ts
@@ -0,0 +1,70 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoCreateLabelRequest.ts b/sdk/ts/src/models/DtoCreateLabelRequest.ts
new file mode 100644
index 0000000..d6af7bd
--- /dev/null
+++ b/sdk/ts/src/models/DtoCreateLabelRequest.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoCreateSSHRequest.ts b/sdk/ts/src/models/DtoCreateSSHRequest.ts
new file mode 100644
index 0000000..c2db9ff
--- /dev/null
+++ b/sdk/ts/src/models/DtoCreateSSHRequest.ts
@@ -0,0 +1,94 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoCreateServerRequest.ts b/sdk/ts/src/models/DtoCreateServerRequest.ts
new file mode 100644
index 0000000..2dc2ea0
--- /dev/null
+++ b/sdk/ts/src/models/DtoCreateServerRequest.ts
@@ -0,0 +1,126 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @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?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoCreateServerRequest
+ */
+ ssh_key_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoCreateServerRequest
+ */
+ ssh_user?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoCreateServerRequest
+ */
+ status?: string;
+}
+
+/**
+ * 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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoCreateTaintRequest.ts b/sdk/ts/src/models/DtoCreateTaintRequest.ts
new file mode 100644
index 0000000..01357eb
--- /dev/null
+++ b/sdk/ts/src/models/DtoCreateTaintRequest.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoJWK.ts b/sdk/ts/src/models/DtoJWK.ts
new file mode 100644
index 0000000..a9262eb
--- /dev/null
+++ b/sdk/ts/src/models/DtoJWK.ts
@@ -0,0 +1,116 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoJWKS.ts b/sdk/ts/src/models/DtoJWKS.ts
new file mode 100644
index 0000000..c227206
--- /dev/null
+++ b/sdk/ts/src/models/DtoJWKS.ts
@@ -0,0 +1,82 @@
+/* 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 { mapValues } from "../runtime";
+import type { DtoJWK } from "./DtoJWK";
+import {
+ DtoJWKFromJSON,
+ DtoJWKFromJSONTyped,
+ DtoJWKToJSON,
+ DtoJWKToJSONTyped,
+} from "./DtoJWK";
+
+/**
+ *
+ * @export
+ * @interface DtoJWKS
+ */
+export interface DtoJWKS {
+ /**
+ *
+ * @type {Array}
+ * @memberof DtoJWKS
+ */
+ keys?: Array;
+}
+
+/**
+ * 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).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).map(DtoJWKToJSON),
+ };
+}
diff --git a/sdk/ts/src/models/DtoLabelResponse.ts b/sdk/ts/src/models/DtoLabelResponse.ts
new file mode 100644
index 0000000..6188a57
--- /dev/null
+++ b/sdk/ts/src/models/DtoLabelResponse.ts
@@ -0,0 +1,86 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoLabelResponse
+ */
+export interface DtoLabelResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoLabelResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoLabelResponse
+ */
+ key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoLabelResponse
+ */
+ value?: string;
+}
+
+/**
+ * Check if a given object implements the DtoLabelResponse interface.
+ */
+export function instanceOfDtoLabelResponse(
+ value: object,
+): value is DtoLabelResponse {
+ return true;
+}
+
+export function DtoLabelResponseFromJSON(json: any): DtoLabelResponse {
+ return DtoLabelResponseFromJSONTyped(json, false);
+}
+
+export function DtoLabelResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoLabelResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ id: json["id"] == null ? undefined : json["id"],
+ key: json["key"] == null ? undefined : json["key"],
+ value: json["value"] == null ? undefined : json["value"],
+ };
+}
+
+export function DtoLabelResponseToJSON(json: any): DtoLabelResponse {
+ return DtoLabelResponseToJSONTyped(json, false);
+}
+
+export function DtoLabelResponseToJSONTyped(
+ value?: DtoLabelResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ id: value["id"],
+ key: value["key"],
+ value: value["value"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoLogoutRequest.ts b/sdk/ts/src/models/DtoLogoutRequest.ts
new file mode 100644
index 0000000..054e38d
--- /dev/null
+++ b/sdk/ts/src/models/DtoLogoutRequest.ts
@@ -0,0 +1,71 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoLogoutRequest
+ */
+export interface DtoLogoutRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoLogoutRequest
+ */
+ refresh_token?: string;
+}
+
+/**
+ * Check if a given object implements the DtoLogoutRequest interface.
+ */
+export function instanceOfDtoLogoutRequest(
+ value: object,
+): value is DtoLogoutRequest {
+ return true;
+}
+
+export function DtoLogoutRequestFromJSON(json: any): DtoLogoutRequest {
+ return DtoLogoutRequestFromJSONTyped(json, false);
+}
+
+export function DtoLogoutRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoLogoutRequest {
+ if (json == null) {
+ return json;
+ }
+ return {
+ refresh_token:
+ json["refresh_token"] == null ? undefined : json["refresh_token"],
+ };
+}
+
+export function DtoLogoutRequestToJSON(json: any): DtoLogoutRequest {
+ return DtoLogoutRequestToJSONTyped(json, false);
+}
+
+export function DtoLogoutRequestToJSONTyped(
+ value?: DtoLogoutRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ refresh_token: value["refresh_token"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoRefreshRequest.ts b/sdk/ts/src/models/DtoRefreshRequest.ts
new file mode 100644
index 0000000..4cf2061
--- /dev/null
+++ b/sdk/ts/src/models/DtoRefreshRequest.ts
@@ -0,0 +1,71 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoRefreshRequest
+ */
+export interface DtoRefreshRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoRefreshRequest
+ */
+ refresh_token?: string;
+}
+
+/**
+ * Check if a given object implements the DtoRefreshRequest interface.
+ */
+export function instanceOfDtoRefreshRequest(
+ value: object,
+): value is DtoRefreshRequest {
+ return true;
+}
+
+export function DtoRefreshRequestFromJSON(json: any): DtoRefreshRequest {
+ return DtoRefreshRequestFromJSONTyped(json, false);
+}
+
+export function DtoRefreshRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoRefreshRequest {
+ if (json == null) {
+ return json;
+ }
+ return {
+ refresh_token:
+ json["refresh_token"] == null ? undefined : json["refresh_token"],
+ };
+}
+
+export function DtoRefreshRequestToJSON(json: any): DtoRefreshRequest {
+ return DtoRefreshRequestToJSONTyped(json, false);
+}
+
+export function DtoRefreshRequestToJSONTyped(
+ value?: DtoRefreshRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ refresh_token: value["refresh_token"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoServerResponse.ts b/sdk/ts/src/models/DtoServerResponse.ts
new file mode 100644
index 0000000..3e94c67
--- /dev/null
+++ b/sdk/ts/src/models/DtoServerResponse.ts
@@ -0,0 +1,155 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoServerResponse
+ */
+export interface DtoServerResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ created_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ hostname?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ organization_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ private_ip_address?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ public_ip_address?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ role?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ ssh_key_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ ssh_user?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ status?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoServerResponse
+ */
+ updated_at?: string;
+}
+
+/**
+ * Check if a given object implements the DtoServerResponse interface.
+ */
+export function instanceOfDtoServerResponse(
+ value: object,
+): value is DtoServerResponse {
+ return true;
+}
+
+export function DtoServerResponseFromJSON(json: any): DtoServerResponse {
+ return DtoServerResponseFromJSONTyped(json, false);
+}
+
+export function DtoServerResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoServerResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at: json["created_at"] == null ? undefined : json["created_at"],
+ hostname: json["hostname"] == null ? undefined : json["hostname"],
+ id: json["id"] == null ? undefined : json["id"],
+ organization_id:
+ json["organization_id"] == null ? undefined : json["organization_id"],
+ 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"],
+ updated_at: json["updated_at"] == null ? undefined : json["updated_at"],
+ };
+}
+
+export function DtoServerResponseToJSON(json: any): DtoServerResponse {
+ return DtoServerResponseToJSONTyped(json, false);
+}
+
+export function DtoServerResponseToJSONTyped(
+ value?: DtoServerResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at: value["created_at"],
+ hostname: value["hostname"],
+ id: value["id"],
+ organization_id: value["organization_id"],
+ 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"],
+ updated_at: value["updated_at"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoSshResponse.ts b/sdk/ts/src/models/DtoSshResponse.ts
new file mode 100644
index 0000000..4e1aed0
--- /dev/null
+++ b/sdk/ts/src/models/DtoSshResponse.ts
@@ -0,0 +1,119 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoSshResponse
+ */
+export interface DtoSshResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ created_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ fingerprint?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ name?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ organization_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ public_key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshResponse
+ */
+ updated_at?: string;
+}
+
+/**
+ * Check if a given object implements the DtoSshResponse interface.
+ */
+export function instanceOfDtoSshResponse(
+ value: object,
+): value is DtoSshResponse {
+ return true;
+}
+
+export function DtoSshResponseFromJSON(json: any): DtoSshResponse {
+ return DtoSshResponseFromJSONTyped(json, false);
+}
+
+export function DtoSshResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoSshResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at: json["created_at"] == null ? undefined : json["created_at"],
+ fingerprint: json["fingerprint"] == null ? undefined : json["fingerprint"],
+ id: json["id"] == null ? undefined : json["id"],
+ name: json["name"] == null ? undefined : json["name"],
+ organization_id:
+ json["organization_id"] == null ? undefined : json["organization_id"],
+ public_key: json["public_key"] == null ? undefined : json["public_key"],
+ updated_at: json["updated_at"] == null ? undefined : json["updated_at"],
+ };
+}
+
+export function DtoSshResponseToJSON(json: any): DtoSshResponse {
+ return DtoSshResponseToJSONTyped(json, false);
+}
+
+export function DtoSshResponseToJSONTyped(
+ value?: DtoSshResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at: value["created_at"],
+ fingerprint: value["fingerprint"],
+ id: value["id"],
+ name: value["name"],
+ organization_id: value["organization_id"],
+ public_key: value["public_key"],
+ updated_at: value["updated_at"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoSshRevealResponse.ts b/sdk/ts/src/models/DtoSshRevealResponse.ts
new file mode 100644
index 0000000..eb60798
--- /dev/null
+++ b/sdk/ts/src/models/DtoSshRevealResponse.ts
@@ -0,0 +1,127 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoSshRevealResponse
+ */
+export interface DtoSshRevealResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ created_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ fingerprint?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ name?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ organization_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ private_key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ public_key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoSshRevealResponse
+ */
+ updated_at?: string;
+}
+
+/**
+ * Check if a given object implements the DtoSshRevealResponse interface.
+ */
+export function instanceOfDtoSshRevealResponse(
+ value: object,
+): value is DtoSshRevealResponse {
+ return true;
+}
+
+export function DtoSshRevealResponseFromJSON(json: any): DtoSshRevealResponse {
+ return DtoSshRevealResponseFromJSONTyped(json, false);
+}
+
+export function DtoSshRevealResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoSshRevealResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at: json["created_at"] == null ? undefined : json["created_at"],
+ fingerprint: json["fingerprint"] == null ? undefined : json["fingerprint"],
+ id: json["id"] == null ? undefined : json["id"],
+ name: json["name"] == null ? undefined : json["name"],
+ organization_id:
+ json["organization_id"] == null ? undefined : json["organization_id"],
+ private_key: json["private_key"] == null ? undefined : json["private_key"],
+ public_key: json["public_key"] == null ? undefined : json["public_key"],
+ updated_at: json["updated_at"] == null ? undefined : json["updated_at"],
+ };
+}
+
+export function DtoSshRevealResponseToJSON(json: any): DtoSshRevealResponse {
+ return DtoSshRevealResponseToJSONTyped(json, false);
+}
+
+export function DtoSshRevealResponseToJSONTyped(
+ value?: DtoSshRevealResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at: value["created_at"],
+ fingerprint: value["fingerprint"],
+ id: value["id"],
+ name: value["name"],
+ organization_id: value["organization_id"],
+ private_key: value["private_key"],
+ public_key: value["public_key"],
+ updated_at: value["updated_at"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoTaintResponse.ts b/sdk/ts/src/models/DtoTaintResponse.ts
new file mode 100644
index 0000000..f7c59e6
--- /dev/null
+++ b/sdk/ts/src/models/DtoTaintResponse.ts
@@ -0,0 +1,94 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoTaintResponse
+ */
+export interface DtoTaintResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTaintResponse
+ */
+ effect?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTaintResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTaintResponse
+ */
+ key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTaintResponse
+ */
+ value?: string;
+}
+
+/**
+ * Check if a given object implements the DtoTaintResponse interface.
+ */
+export function instanceOfDtoTaintResponse(
+ value: object,
+): value is DtoTaintResponse {
+ return true;
+}
+
+export function DtoTaintResponseFromJSON(json: any): DtoTaintResponse {
+ return DtoTaintResponseFromJSONTyped(json, false);
+}
+
+export function DtoTaintResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoTaintResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ effect: json["effect"] == null ? undefined : json["effect"],
+ id: json["id"] == null ? undefined : json["id"],
+ key: json["key"] == null ? undefined : json["key"],
+ value: json["value"] == null ? undefined : json["value"],
+ };
+}
+
+export function DtoTaintResponseToJSON(json: any): DtoTaintResponse {
+ return DtoTaintResponseToJSONTyped(json, false);
+}
+
+export function DtoTaintResponseToJSONTyped(
+ value?: DtoTaintResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ effect: value["effect"],
+ id: value["id"],
+ key: value["key"],
+ value: value["value"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoTokenPair.ts b/sdk/ts/src/models/DtoTokenPair.ts
new file mode 100644
index 0000000..54be880
--- /dev/null
+++ b/sdk/ts/src/models/DtoTokenPair.ts
@@ -0,0 +1,94 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoTokenPair
+ */
+export interface DtoTokenPair {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTokenPair
+ */
+ access_token?: string;
+ /**
+ *
+ * @type {number}
+ * @memberof DtoTokenPair
+ */
+ expires_in?: number;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTokenPair
+ */
+ refresh_token?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoTokenPair
+ */
+ token_type?: string;
+}
+
+/**
+ * Check if a given object implements the DtoTokenPair interface.
+ */
+export function instanceOfDtoTokenPair(value: object): value is DtoTokenPair {
+ return true;
+}
+
+export function DtoTokenPairFromJSON(json: any): DtoTokenPair {
+ return DtoTokenPairFromJSONTyped(json, false);
+}
+
+export function DtoTokenPairFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoTokenPair {
+ if (json == null) {
+ return json;
+ }
+ return {
+ access_token:
+ json["access_token"] == null ? undefined : json["access_token"],
+ expires_in: json["expires_in"] == null ? undefined : json["expires_in"],
+ refresh_token:
+ json["refresh_token"] == null ? undefined : json["refresh_token"],
+ token_type: json["token_type"] == null ? undefined : json["token_type"],
+ };
+}
+
+export function DtoTokenPairToJSON(json: any): DtoTokenPair {
+ return DtoTokenPairToJSONTyped(json, false);
+}
+
+export function DtoTokenPairToJSONTyped(
+ value?: DtoTokenPair | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ access_token: value["access_token"],
+ expires_in: value["expires_in"],
+ refresh_token: value["refresh_token"],
+ token_type: value["token_type"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoUpdateLabelRequest.ts b/sdk/ts/src/models/DtoUpdateLabelRequest.ts
new file mode 100644
index 0000000..a838fb6
--- /dev/null
+++ b/sdk/ts/src/models/DtoUpdateLabelRequest.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoUpdateLabelRequest
+ */
+export interface DtoUpdateLabelRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateLabelRequest
+ */
+ key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateLabelRequest
+ */
+ value?: string;
+}
+
+/**
+ * Check if a given object implements the DtoUpdateLabelRequest interface.
+ */
+export function instanceOfDtoUpdateLabelRequest(
+ value: object,
+): value is DtoUpdateLabelRequest {
+ return true;
+}
+
+export function DtoUpdateLabelRequestFromJSON(
+ json: any,
+): DtoUpdateLabelRequest {
+ return DtoUpdateLabelRequestFromJSONTyped(json, false);
+}
+
+export function DtoUpdateLabelRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoUpdateLabelRequest {
+ if (json == null) {
+ return json;
+ }
+ return {
+ key: json["key"] == null ? undefined : json["key"],
+ value: json["value"] == null ? undefined : json["value"],
+ };
+}
+
+export function DtoUpdateLabelRequestToJSON(json: any): DtoUpdateLabelRequest {
+ return DtoUpdateLabelRequestToJSONTyped(json, false);
+}
+
+export function DtoUpdateLabelRequestToJSONTyped(
+ value?: DtoUpdateLabelRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ key: value["key"],
+ value: value["value"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoUpdateServerRequest.ts b/sdk/ts/src/models/DtoUpdateServerRequest.ts
new file mode 100644
index 0000000..edbde25
--- /dev/null
+++ b/sdk/ts/src/models/DtoUpdateServerRequest.ts
@@ -0,0 +1,126 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoUpdateServerRequest
+ */
+export interface DtoUpdateServerRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ hostname?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ private_ip_address?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ public_ip_address?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ role?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ ssh_key_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ ssh_user?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateServerRequest
+ */
+ status?: string;
+}
+
+/**
+ * Check if a given object implements the DtoUpdateServerRequest interface.
+ */
+export function instanceOfDtoUpdateServerRequest(
+ value: object,
+): value is DtoUpdateServerRequest {
+ return true;
+}
+
+export function DtoUpdateServerRequestFromJSON(
+ json: any,
+): DtoUpdateServerRequest {
+ return DtoUpdateServerRequestFromJSONTyped(json, false);
+}
+
+export function DtoUpdateServerRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoUpdateServerRequest {
+ 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 DtoUpdateServerRequestToJSON(
+ json: any,
+): DtoUpdateServerRequest {
+ return DtoUpdateServerRequestToJSONTyped(json, false);
+}
+
+export function DtoUpdateServerRequestToJSONTyped(
+ value?: DtoUpdateServerRequest | 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"],
+ };
+}
diff --git a/sdk/ts/src/models/DtoUpdateTaintRequest.ts b/sdk/ts/src/models/DtoUpdateTaintRequest.ts
new file mode 100644
index 0000000..bc3c0bf
--- /dev/null
+++ b/sdk/ts/src/models/DtoUpdateTaintRequest.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface DtoUpdateTaintRequest
+ */
+export interface DtoUpdateTaintRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateTaintRequest
+ */
+ effect?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateTaintRequest
+ */
+ key?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DtoUpdateTaintRequest
+ */
+ value?: string;
+}
+
+/**
+ * Check if a given object implements the DtoUpdateTaintRequest interface.
+ */
+export function instanceOfDtoUpdateTaintRequest(
+ value: object,
+): value is DtoUpdateTaintRequest {
+ return true;
+}
+
+export function DtoUpdateTaintRequestFromJSON(
+ json: any,
+): DtoUpdateTaintRequest {
+ return DtoUpdateTaintRequestFromJSONTyped(json, false);
+}
+
+export function DtoUpdateTaintRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): DtoUpdateTaintRequest {
+ 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 DtoUpdateTaintRequestToJSON(json: any): DtoUpdateTaintRequest {
+ return DtoUpdateTaintRequestToJSONTyped(json, false);
+}
+
+export function DtoUpdateTaintRequestToJSONTyped(
+ value?: DtoUpdateTaintRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ effect: value["effect"],
+ key: value["key"],
+ value: value["value"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersCreateUserKeyRequest.ts b/sdk/ts/src/models/HandlersCreateUserKeyRequest.ts
new file mode 100644
index 0000000..5d4ed26
--- /dev/null
+++ b/sdk/ts/src/models/HandlersCreateUserKeyRequest.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersCreateUserKeyRequest
+ */
+export interface HandlersCreateUserKeyRequest {
+ /**
+ * optional TTL
+ * @type {number}
+ * @memberof HandlersCreateUserKeyRequest
+ */
+ expires_in_hours?: number;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersCreateUserKeyRequest
+ */
+ name?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersCreateUserKeyRequest interface.
+ */
+export function instanceOfHandlersCreateUserKeyRequest(
+ value: object,
+): value is HandlersCreateUserKeyRequest {
+ return true;
+}
+
+export function HandlersCreateUserKeyRequestFromJSON(
+ json: any,
+): HandlersCreateUserKeyRequest {
+ return HandlersCreateUserKeyRequestFromJSONTyped(json, false);
+}
+
+export function HandlersCreateUserKeyRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersCreateUserKeyRequest {
+ if (json == null) {
+ return json;
+ }
+ return {
+ expires_in_hours:
+ json["expires_in_hours"] == null ? undefined : json["expires_in_hours"],
+ name: json["name"] == null ? undefined : json["name"],
+ };
+}
+
+export function HandlersCreateUserKeyRequestToJSON(
+ json: any,
+): HandlersCreateUserKeyRequest {
+ return HandlersCreateUserKeyRequestToJSONTyped(json, false);
+}
+
+export function HandlersCreateUserKeyRequestToJSONTyped(
+ value?: HandlersCreateUserKeyRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ expires_in_hours: value["expires_in_hours"],
+ name: value["name"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersMeResponse.ts b/sdk/ts/src/models/HandlersMeResponse.ts
new file mode 100644
index 0000000..c97cb08
--- /dev/null
+++ b/sdk/ts/src/models/HandlersMeResponse.ts
@@ -0,0 +1,171 @@
+/* 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 { mapValues } from "../runtime";
+import type { ModelsUserEmail } from "./ModelsUserEmail";
+import {
+ ModelsUserEmailFromJSON,
+ ModelsUserEmailFromJSONTyped,
+ ModelsUserEmailToJSON,
+ ModelsUserEmailToJSONTyped,
+} from "./ModelsUserEmail";
+import type { ModelsOrganization } from "./ModelsOrganization";
+import {
+ ModelsOrganizationFromJSON,
+ ModelsOrganizationFromJSONTyped,
+ ModelsOrganizationToJSON,
+ ModelsOrganizationToJSONTyped,
+} from "./ModelsOrganization";
+
+/**
+ *
+ * @export
+ * @interface HandlersMeResponse
+ */
+export interface HandlersMeResponse {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMeResponse
+ */
+ avatar_url?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof HandlersMeResponse
+ */
+ created_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMeResponse
+ */
+ display_name?: string;
+ /**
+ *
+ * @type {Array}
+ * @memberof HandlersMeResponse
+ */
+ emails?: Array;
+ /**
+ * example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ * @type {string}
+ * @memberof HandlersMeResponse
+ */
+ id?: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof HandlersMeResponse
+ */
+ is_disabled?: boolean;
+ /**
+ *
+ * @type {Array}
+ * @memberof HandlersMeResponse
+ */
+ organizations?: Array;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMeResponse
+ */
+ primary_email?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof HandlersMeResponse
+ */
+ updated_at?: Date;
+}
+
+/**
+ * Check if a given object implements the HandlersMeResponse interface.
+ */
+export function instanceOfHandlersMeResponse(
+ value: object,
+): value is HandlersMeResponse {
+ return true;
+}
+
+export function HandlersMeResponseFromJSON(json: any): HandlersMeResponse {
+ return HandlersMeResponseFromJSONTyped(json, false);
+}
+
+export function HandlersMeResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersMeResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ avatar_url: json["avatar_url"] == null ? undefined : json["avatar_url"],
+ created_at:
+ json["created_at"] == null ? undefined : new Date(json["created_at"]),
+ display_name:
+ json["display_name"] == null ? undefined : json["display_name"],
+ emails:
+ json["emails"] == null
+ ? undefined
+ : (json["emails"] as Array).map(ModelsUserEmailFromJSON),
+ id: json["id"] == null ? undefined : json["id"],
+ is_disabled: json["is_disabled"] == null ? undefined : json["is_disabled"],
+ organizations:
+ json["organizations"] == null
+ ? undefined
+ : (json["organizations"] as Array).map(ModelsOrganizationFromJSON),
+ primary_email:
+ json["primary_email"] == null ? undefined : json["primary_email"],
+ updated_at:
+ json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
+ };
+}
+
+export function HandlersMeResponseToJSON(json: any): HandlersMeResponse {
+ return HandlersMeResponseToJSONTyped(json, false);
+}
+
+export function HandlersMeResponseToJSONTyped(
+ value?: HandlersMeResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ avatar_url: value["avatar_url"],
+ created_at:
+ value["created_at"] == null
+ ? value["created_at"]
+ : value["created_at"].toISOString(),
+ display_name: value["display_name"],
+ emails:
+ value["emails"] == null
+ ? undefined
+ : (value["emails"] as Array).map(ModelsUserEmailToJSON),
+ id: value["id"],
+ is_disabled: value["is_disabled"],
+ organizations:
+ value["organizations"] == null
+ ? undefined
+ : (value["organizations"] as Array).map(ModelsOrganizationToJSON),
+ primary_email: value["primary_email"],
+ updated_at:
+ value["updated_at"] == null
+ ? value["updated_at"]
+ : value["updated_at"].toISOString(),
+ };
+}
diff --git a/sdk/ts/src/models/HandlersMemberOut.ts b/sdk/ts/src/models/HandlersMemberOut.ts
new file mode 100644
index 0000000..4dde0ab
--- /dev/null
+++ b/sdk/ts/src/models/HandlersMemberOut.ts
@@ -0,0 +1,86 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersMemberOut
+ */
+export interface HandlersMemberOut {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMemberOut
+ */
+ email?: string;
+ /**
+ * owner/admin/member
+ * @type {string}
+ * @memberof HandlersMemberOut
+ */
+ role?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMemberOut
+ */
+ user_id?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersMemberOut interface.
+ */
+export function instanceOfHandlersMemberOut(
+ value: object,
+): value is HandlersMemberOut {
+ return true;
+}
+
+export function HandlersMemberOutFromJSON(json: any): HandlersMemberOut {
+ return HandlersMemberOutFromJSONTyped(json, false);
+}
+
+export function HandlersMemberOutFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersMemberOut {
+ if (json == null) {
+ return json;
+ }
+ return {
+ email: json["email"] == null ? undefined : json["email"],
+ role: json["role"] == null ? undefined : json["role"],
+ user_id: json["user_id"] == null ? undefined : json["user_id"],
+ };
+}
+
+export function HandlersMemberOutToJSON(json: any): HandlersMemberOut {
+ return HandlersMemberOutToJSONTyped(json, false);
+}
+
+export function HandlersMemberOutToJSONTyped(
+ value?: HandlersMemberOut | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ email: value["email"],
+ role: value["role"],
+ user_id: value["user_id"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersMemberUpsertReq.ts b/sdk/ts/src/models/HandlersMemberUpsertReq.ts
new file mode 100644
index 0000000..6fb27b6
--- /dev/null
+++ b/sdk/ts/src/models/HandlersMemberUpsertReq.ts
@@ -0,0 +1,82 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersMemberUpsertReq
+ */
+export interface HandlersMemberUpsertReq {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMemberUpsertReq
+ */
+ role?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersMemberUpsertReq
+ */
+ user_id?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersMemberUpsertReq interface.
+ */
+export function instanceOfHandlersMemberUpsertReq(
+ value: object,
+): value is HandlersMemberUpsertReq {
+ return true;
+}
+
+export function HandlersMemberUpsertReqFromJSON(
+ json: any,
+): HandlersMemberUpsertReq {
+ return HandlersMemberUpsertReqFromJSONTyped(json, false);
+}
+
+export function HandlersMemberUpsertReqFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersMemberUpsertReq {
+ if (json == null) {
+ return json;
+ }
+ return {
+ role: json["role"] == null ? undefined : json["role"],
+ user_id: json["user_id"] == null ? undefined : json["user_id"],
+ };
+}
+
+export function HandlersMemberUpsertReqToJSON(
+ json: any,
+): HandlersMemberUpsertReq {
+ return HandlersMemberUpsertReqToJSONTyped(json, false);
+}
+
+export function HandlersMemberUpsertReqToJSONTyped(
+ value?: HandlersMemberUpsertReq | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ role: value["role"],
+ user_id: value["user_id"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersOrgCreateReq.ts b/sdk/ts/src/models/HandlersOrgCreateReq.ts
new file mode 100644
index 0000000..8b82e36
--- /dev/null
+++ b/sdk/ts/src/models/HandlersOrgCreateReq.ts
@@ -0,0 +1,78 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersOrgCreateReq
+ */
+export interface HandlersOrgCreateReq {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgCreateReq
+ */
+ domain?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgCreateReq
+ */
+ name?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersOrgCreateReq interface.
+ */
+export function instanceOfHandlersOrgCreateReq(
+ value: object,
+): value is HandlersOrgCreateReq {
+ return true;
+}
+
+export function HandlersOrgCreateReqFromJSON(json: any): HandlersOrgCreateReq {
+ return HandlersOrgCreateReqFromJSONTyped(json, false);
+}
+
+export function HandlersOrgCreateReqFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersOrgCreateReq {
+ if (json == null) {
+ return json;
+ }
+ return {
+ domain: json["domain"] == null ? undefined : json["domain"],
+ name: json["name"] == null ? undefined : json["name"],
+ };
+}
+
+export function HandlersOrgCreateReqToJSON(json: any): HandlersOrgCreateReq {
+ return HandlersOrgCreateReqToJSONTyped(json, false);
+}
+
+export function HandlersOrgCreateReqToJSONTyped(
+ value?: HandlersOrgCreateReq | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ domain: value["domain"],
+ name: value["name"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersOrgKeyCreateReq.ts b/sdk/ts/src/models/HandlersOrgKeyCreateReq.ts
new file mode 100644
index 0000000..823ad90
--- /dev/null
+++ b/sdk/ts/src/models/HandlersOrgKeyCreateReq.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersOrgKeyCreateReq
+ */
+export interface HandlersOrgKeyCreateReq {
+ /**
+ *
+ * @type {number}
+ * @memberof HandlersOrgKeyCreateReq
+ */
+ expires_in_hours?: number;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateReq
+ */
+ name?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersOrgKeyCreateReq interface.
+ */
+export function instanceOfHandlersOrgKeyCreateReq(
+ value: object,
+): value is HandlersOrgKeyCreateReq {
+ return true;
+}
+
+export function HandlersOrgKeyCreateReqFromJSON(
+ json: any,
+): HandlersOrgKeyCreateReq {
+ return HandlersOrgKeyCreateReqFromJSONTyped(json, false);
+}
+
+export function HandlersOrgKeyCreateReqFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersOrgKeyCreateReq {
+ if (json == null) {
+ return json;
+ }
+ return {
+ expires_in_hours:
+ json["expires_in_hours"] == null ? undefined : json["expires_in_hours"],
+ name: json["name"] == null ? undefined : json["name"],
+ };
+}
+
+export function HandlersOrgKeyCreateReqToJSON(
+ json: any,
+): HandlersOrgKeyCreateReq {
+ return HandlersOrgKeyCreateReqToJSONTyped(json, false);
+}
+
+export function HandlersOrgKeyCreateReqToJSONTyped(
+ value?: HandlersOrgKeyCreateReq | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ expires_in_hours: value["expires_in_hours"],
+ name: value["name"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersOrgKeyCreateResp.ts b/sdk/ts/src/models/HandlersOrgKeyCreateResp.ts
new file mode 100644
index 0000000..45cf555
--- /dev/null
+++ b/sdk/ts/src/models/HandlersOrgKeyCreateResp.ts
@@ -0,0 +1,122 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersOrgKeyCreateResp
+ */
+export interface HandlersOrgKeyCreateResp {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ created_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ expires_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ name?: string;
+ /**
+ * shown once:
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ org_key?: string;
+ /**
+ * shown once:
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ org_secret?: string;
+ /**
+ * "org"
+ * @type {string}
+ * @memberof HandlersOrgKeyCreateResp
+ */
+ scope?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersOrgKeyCreateResp interface.
+ */
+export function instanceOfHandlersOrgKeyCreateResp(
+ value: object,
+): value is HandlersOrgKeyCreateResp {
+ return true;
+}
+
+export function HandlersOrgKeyCreateRespFromJSON(
+ json: any,
+): HandlersOrgKeyCreateResp {
+ return HandlersOrgKeyCreateRespFromJSONTyped(json, false);
+}
+
+export function HandlersOrgKeyCreateRespFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersOrgKeyCreateResp {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at: json["created_at"] == null ? undefined : json["created_at"],
+ expires_at: json["expires_at"] == null ? undefined : json["expires_at"],
+ id: json["id"] == null ? undefined : json["id"],
+ name: json["name"] == null ? undefined : json["name"],
+ org_key: json["org_key"] == null ? undefined : json["org_key"],
+ org_secret: json["org_secret"] == null ? undefined : json["org_secret"],
+ scope: json["scope"] == null ? undefined : json["scope"],
+ };
+}
+
+export function HandlersOrgKeyCreateRespToJSON(
+ json: any,
+): HandlersOrgKeyCreateResp {
+ return HandlersOrgKeyCreateRespToJSONTyped(json, false);
+}
+
+export function HandlersOrgKeyCreateRespToJSONTyped(
+ value?: HandlersOrgKeyCreateResp | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at: value["created_at"],
+ expires_at: value["expires_at"],
+ id: value["id"],
+ name: value["name"],
+ org_key: value["org_key"],
+ org_secret: value["org_secret"],
+ scope: value["scope"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersOrgUpdateReq.ts b/sdk/ts/src/models/HandlersOrgUpdateReq.ts
new file mode 100644
index 0000000..921a0cc
--- /dev/null
+++ b/sdk/ts/src/models/HandlersOrgUpdateReq.ts
@@ -0,0 +1,78 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersOrgUpdateReq
+ */
+export interface HandlersOrgUpdateReq {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgUpdateReq
+ */
+ domain?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersOrgUpdateReq
+ */
+ name?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersOrgUpdateReq interface.
+ */
+export function instanceOfHandlersOrgUpdateReq(
+ value: object,
+): value is HandlersOrgUpdateReq {
+ return true;
+}
+
+export function HandlersOrgUpdateReqFromJSON(json: any): HandlersOrgUpdateReq {
+ return HandlersOrgUpdateReqFromJSONTyped(json, false);
+}
+
+export function HandlersOrgUpdateReqFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersOrgUpdateReq {
+ if (json == null) {
+ return json;
+ }
+ return {
+ domain: json["domain"] == null ? undefined : json["domain"],
+ name: json["name"] == null ? undefined : json["name"],
+ };
+}
+
+export function HandlersOrgUpdateReqToJSON(json: any): HandlersOrgUpdateReq {
+ return HandlersOrgUpdateReqToJSONTyped(json, false);
+}
+
+export function HandlersOrgUpdateReqToJSONTyped(
+ value?: HandlersOrgUpdateReq | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ domain: value["domain"],
+ name: value["name"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersUpdateMeRequest.ts b/sdk/ts/src/models/HandlersUpdateMeRequest.ts
new file mode 100644
index 0000000..fbe0a9e
--- /dev/null
+++ b/sdk/ts/src/models/HandlersUpdateMeRequest.ts
@@ -0,0 +1,75 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersUpdateMeRequest
+ */
+export interface HandlersUpdateMeRequest {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUpdateMeRequest
+ */
+ display_name?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersUpdateMeRequest interface.
+ */
+export function instanceOfHandlersUpdateMeRequest(
+ value: object,
+): value is HandlersUpdateMeRequest {
+ return true;
+}
+
+export function HandlersUpdateMeRequestFromJSON(
+ json: any,
+): HandlersUpdateMeRequest {
+ return HandlersUpdateMeRequestFromJSONTyped(json, false);
+}
+
+export function HandlersUpdateMeRequestFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersUpdateMeRequest {
+ if (json == null) {
+ return json;
+ }
+ return {
+ display_name:
+ json["display_name"] == null ? undefined : json["display_name"],
+ };
+}
+
+export function HandlersUpdateMeRequestToJSON(
+ json: any,
+): HandlersUpdateMeRequest {
+ return HandlersUpdateMeRequestToJSONTyped(json, false);
+}
+
+export function HandlersUpdateMeRequestToJSONTyped(
+ value?: HandlersUpdateMeRequest | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ display_name: value["display_name"],
+ };
+}
diff --git a/sdk/ts/src/models/HandlersUserAPIKeyOut.ts b/sdk/ts/src/models/HandlersUserAPIKeyOut.ts
new file mode 100644
index 0000000..f111e84
--- /dev/null
+++ b/sdk/ts/src/models/HandlersUserAPIKeyOut.ts
@@ -0,0 +1,121 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface HandlersUserAPIKeyOut
+ */
+export interface HandlersUserAPIKeyOut {
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ created_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ expires_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ last_used_at?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ name?: string;
+ /**
+ * Shown only on create:
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ plain?: string;
+ /**
+ * "user"
+ * @type {string}
+ * @memberof HandlersUserAPIKeyOut
+ */
+ scope?: string;
+}
+
+/**
+ * Check if a given object implements the HandlersUserAPIKeyOut interface.
+ */
+export function instanceOfHandlersUserAPIKeyOut(
+ value: object,
+): value is HandlersUserAPIKeyOut {
+ return true;
+}
+
+export function HandlersUserAPIKeyOutFromJSON(
+ json: any,
+): HandlersUserAPIKeyOut {
+ return HandlersUserAPIKeyOutFromJSONTyped(json, false);
+}
+
+export function HandlersUserAPIKeyOutFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): HandlersUserAPIKeyOut {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at: json["created_at"] == null ? undefined : json["created_at"],
+ expires_at: json["expires_at"] == null ? undefined : json["expires_at"],
+ id: json["id"] == null ? undefined : json["id"],
+ last_used_at:
+ json["last_used_at"] == null ? undefined : json["last_used_at"],
+ name: json["name"] == null ? undefined : json["name"],
+ plain: json["plain"] == null ? undefined : json["plain"],
+ scope: json["scope"] == null ? undefined : json["scope"],
+ };
+}
+
+export function HandlersUserAPIKeyOutToJSON(json: any): HandlersUserAPIKeyOut {
+ return HandlersUserAPIKeyOutToJSONTyped(json, false);
+}
+
+export function HandlersUserAPIKeyOutToJSONTyped(
+ value?: HandlersUserAPIKeyOut | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at: value["created_at"],
+ expires_at: value["expires_at"],
+ id: value["id"],
+ last_used_at: value["last_used_at"],
+ name: value["name"],
+ plain: value["plain"],
+ scope: value["scope"],
+ };
+}
diff --git a/sdk/ts/src/models/ModelsAPIKey.ts b/sdk/ts/src/models/ModelsAPIKey.ts
new file mode 100644
index 0000000..ad325db
--- /dev/null
+++ b/sdk/ts/src/models/ModelsAPIKey.ts
@@ -0,0 +1,164 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface ModelsAPIKey
+ */
+export interface ModelsAPIKey {
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsAPIKey
+ */
+ created_at?: Date;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsAPIKey
+ */
+ expires_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ id?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsAPIKey
+ */
+ last_used_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ name?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ org_id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ prefix?: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ModelsAPIKey
+ */
+ revoked?: boolean;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ scope?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsAPIKey
+ */
+ updated_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsAPIKey
+ */
+ user_id?: string;
+}
+
+/**
+ * Check if a given object implements the ModelsAPIKey interface.
+ */
+export function instanceOfModelsAPIKey(value: object): value is ModelsAPIKey {
+ return true;
+}
+
+export function ModelsAPIKeyFromJSON(json: any): ModelsAPIKey {
+ return ModelsAPIKeyFromJSONTyped(json, false);
+}
+
+export function ModelsAPIKeyFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): ModelsAPIKey {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at:
+ json["created_at"] == null ? undefined : new Date(json["created_at"]),
+ expires_at:
+ json["expires_at"] == null ? undefined : new Date(json["expires_at"]),
+ id: json["id"] == null ? undefined : json["id"],
+ last_used_at:
+ json["last_used_at"] == null ? undefined : new Date(json["last_used_at"]),
+ name: json["name"] == null ? undefined : json["name"],
+ org_id: json["org_id"] == null ? undefined : json["org_id"],
+ prefix: json["prefix"] == null ? undefined : json["prefix"],
+ revoked: json["revoked"] == null ? undefined : json["revoked"],
+ scope: json["scope"] == null ? undefined : json["scope"],
+ updated_at:
+ json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
+ user_id: json["user_id"] == null ? undefined : json["user_id"],
+ };
+}
+
+export function ModelsAPIKeyToJSON(json: any): ModelsAPIKey {
+ return ModelsAPIKeyToJSONTyped(json, false);
+}
+
+export function ModelsAPIKeyToJSONTyped(
+ value?: ModelsAPIKey | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at:
+ value["created_at"] == null
+ ? value["created_at"]
+ : value["created_at"].toISOString(),
+ expires_at:
+ value["expires_at"] == null
+ ? value["expires_at"]
+ : value["expires_at"].toISOString(),
+ id: value["id"],
+ last_used_at:
+ value["last_used_at"] == null
+ ? value["last_used_at"]
+ : value["last_used_at"].toISOString(),
+ name: value["name"],
+ org_id: value["org_id"],
+ prefix: value["prefix"],
+ revoked: value["revoked"],
+ scope: value["scope"],
+ updated_at:
+ value["updated_at"] == null
+ ? value["updated_at"]
+ : value["updated_at"].toISOString(),
+ user_id: value["user_id"],
+ };
+}
diff --git a/sdk/ts/src/models/ModelsOrganization.ts b/sdk/ts/src/models/ModelsOrganization.ts
new file mode 100644
index 0000000..bb81f80
--- /dev/null
+++ b/sdk/ts/src/models/ModelsOrganization.ts
@@ -0,0 +1,110 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface ModelsOrganization
+ */
+export interface ModelsOrganization {
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsOrganization
+ */
+ created_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsOrganization
+ */
+ domain?: string;
+ /**
+ * example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ * @type {string}
+ * @memberof ModelsOrganization
+ */
+ id?: string;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsOrganization
+ */
+ name?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsOrganization
+ */
+ updated_at?: Date;
+}
+
+/**
+ * Check if a given object implements the ModelsOrganization interface.
+ */
+export function instanceOfModelsOrganization(
+ value: object,
+): value is ModelsOrganization {
+ return true;
+}
+
+export function ModelsOrganizationFromJSON(json: any): ModelsOrganization {
+ return ModelsOrganizationFromJSONTyped(json, false);
+}
+
+export function ModelsOrganizationFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): ModelsOrganization {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at:
+ json["created_at"] == null ? undefined : new Date(json["created_at"]),
+ domain: json["domain"] == null ? undefined : json["domain"],
+ id: json["id"] == null ? undefined : json["id"],
+ name: json["name"] == null ? undefined : json["name"],
+ updated_at:
+ json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
+ };
+}
+
+export function ModelsOrganizationToJSON(json: any): ModelsOrganization {
+ return ModelsOrganizationToJSONTyped(json, false);
+}
+
+export function ModelsOrganizationToJSONTyped(
+ value?: ModelsOrganization | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at:
+ value["created_at"] == null
+ ? value["created_at"]
+ : value["created_at"].toISOString(),
+ domain: value["domain"],
+ id: value["id"],
+ name: value["name"],
+ updated_at:
+ value["updated_at"] == null
+ ? value["updated_at"]
+ : value["updated_at"].toISOString(),
+ };
+}
diff --git a/sdk/ts/src/models/ModelsUser.ts b/sdk/ts/src/models/ModelsUser.ts
new file mode 100644
index 0000000..2eebc65
--- /dev/null
+++ b/sdk/ts/src/models/ModelsUser.ts
@@ -0,0 +1,126 @@
+/* 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 { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface ModelsUser
+ */
+export interface ModelsUser {
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsUser
+ */
+ avatar_url?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsUser
+ */
+ created_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsUser
+ */
+ display_name?: string;
+ /**
+ * example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ * @type {string}
+ * @memberof ModelsUser
+ */
+ id?: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ModelsUser
+ */
+ is_disabled?: boolean;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsUser
+ */
+ primary_email?: string;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsUser
+ */
+ updated_at?: Date;
+}
+
+/**
+ * Check if a given object implements the ModelsUser interface.
+ */
+export function instanceOfModelsUser(value: object): value is ModelsUser {
+ return true;
+}
+
+export function ModelsUserFromJSON(json: any): ModelsUser {
+ return ModelsUserFromJSONTyped(json, false);
+}
+
+export function ModelsUserFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): ModelsUser {
+ if (json == null) {
+ return json;
+ }
+ return {
+ avatar_url: json["avatar_url"] == null ? undefined : json["avatar_url"],
+ created_at:
+ json["created_at"] == null ? undefined : new Date(json["created_at"]),
+ display_name:
+ json["display_name"] == null ? undefined : json["display_name"],
+ id: json["id"] == null ? undefined : json["id"],
+ is_disabled: json["is_disabled"] == null ? undefined : json["is_disabled"],
+ primary_email:
+ json["primary_email"] == null ? undefined : json["primary_email"],
+ updated_at:
+ json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
+ };
+}
+
+export function ModelsUserToJSON(json: any): ModelsUser {
+ return ModelsUserToJSONTyped(json, false);
+}
+
+export function ModelsUserToJSONTyped(
+ value?: ModelsUser | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ avatar_url: value["avatar_url"],
+ created_at:
+ value["created_at"] == null
+ ? value["created_at"]
+ : value["created_at"].toISOString(),
+ display_name: value["display_name"],
+ id: value["id"],
+ is_disabled: value["is_disabled"],
+ primary_email: value["primary_email"],
+ updated_at:
+ value["updated_at"] == null
+ ? value["updated_at"]
+ : value["updated_at"].toISOString(),
+ };
+}
diff --git a/sdk/ts/src/models/ModelsUserEmail.ts b/sdk/ts/src/models/ModelsUserEmail.ts
new file mode 100644
index 0000000..a188962
--- /dev/null
+++ b/sdk/ts/src/models/ModelsUserEmail.ts
@@ -0,0 +1,142 @@
+/* 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 { mapValues } from "../runtime";
+import type { ModelsUser } from "./ModelsUser";
+import {
+ ModelsUserFromJSON,
+ ModelsUserFromJSONTyped,
+ ModelsUserToJSON,
+ ModelsUserToJSONTyped,
+} from "./ModelsUser";
+
+/**
+ *
+ * @export
+ * @interface ModelsUserEmail
+ */
+export interface ModelsUserEmail {
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsUserEmail
+ */
+ created_at?: Date;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsUserEmail
+ */
+ email?: string;
+ /**
+ * example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
+ * @type {string}
+ * @memberof ModelsUserEmail
+ */
+ id?: string;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ModelsUserEmail
+ */
+ is_primary?: boolean;
+ /**
+ *
+ * @type {boolean}
+ * @memberof ModelsUserEmail
+ */
+ is_verified?: boolean;
+ /**
+ *
+ * @type {Date}
+ * @memberof ModelsUserEmail
+ */
+ updated_at?: Date;
+ /**
+ *
+ * @type {ModelsUser}
+ * @memberof ModelsUserEmail
+ */
+ user?: ModelsUser;
+ /**
+ *
+ * @type {string}
+ * @memberof ModelsUserEmail
+ */
+ user_id?: string;
+}
+
+/**
+ * Check if a given object implements the ModelsUserEmail interface.
+ */
+export function instanceOfModelsUserEmail(
+ value: object,
+): value is ModelsUserEmail {
+ return true;
+}
+
+export function ModelsUserEmailFromJSON(json: any): ModelsUserEmail {
+ return ModelsUserEmailFromJSONTyped(json, false);
+}
+
+export function ModelsUserEmailFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): ModelsUserEmail {
+ if (json == null) {
+ return json;
+ }
+ return {
+ created_at:
+ json["created_at"] == null ? undefined : new Date(json["created_at"]),
+ email: json["email"] == null ? undefined : json["email"],
+ id: json["id"] == null ? undefined : json["id"],
+ is_primary: json["is_primary"] == null ? undefined : json["is_primary"],
+ is_verified: json["is_verified"] == null ? undefined : json["is_verified"],
+ updated_at:
+ json["updated_at"] == null ? undefined : new Date(json["updated_at"]),
+ user: json["user"] == null ? undefined : ModelsUserFromJSON(json["user"]),
+ user_id: json["user_id"] == null ? undefined : json["user_id"],
+ };
+}
+
+export function ModelsUserEmailToJSON(json: any): ModelsUserEmail {
+ return ModelsUserEmailToJSONTyped(json, false);
+}
+
+export function ModelsUserEmailToJSONTyped(
+ value?: ModelsUserEmail | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ created_at:
+ value["created_at"] == null
+ ? value["created_at"]
+ : value["created_at"].toISOString(),
+ email: value["email"],
+ id: value["id"],
+ is_primary: value["is_primary"],
+ is_verified: value["is_verified"],
+ updated_at:
+ value["updated_at"] == null
+ ? value["updated_at"]
+ : value["updated_at"].toISOString(),
+ user: ModelsUserToJSON(value["user"]),
+ user_id: value["user_id"],
+ };
+}
diff --git a/sdk/ts/src/models/UtilsErrorResponse.ts b/sdk/ts/src/models/UtilsErrorResponse.ts
new file mode 100644
index 0000000..5e83fd3
--- /dev/null
+++ b/sdk/ts/src/models/UtilsErrorResponse.ts
@@ -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.
+ */
+
+import { mapValues } from "../runtime";
+/**
+ *
+ * @export
+ * @interface UtilsErrorResponse
+ */
+export interface UtilsErrorResponse {
+ /**
+ * A machine-readable error code, e.g. "validation_error"
+ * example: validation_error
+ * @type {string}
+ * @memberof UtilsErrorResponse
+ */
+ code?: string;
+ /**
+ * Human-readable message
+ * example: slug is required
+ * @type {string}
+ * @memberof UtilsErrorResponse
+ */
+ message?: string;
+}
+
+/**
+ * Check if a given object implements the UtilsErrorResponse interface.
+ */
+export function instanceOfUtilsErrorResponse(
+ value: object,
+): value is UtilsErrorResponse {
+ return true;
+}
+
+export function UtilsErrorResponseFromJSON(json: any): UtilsErrorResponse {
+ return UtilsErrorResponseFromJSONTyped(json, false);
+}
+
+export function UtilsErrorResponseFromJSONTyped(
+ json: any,
+ ignoreDiscriminator: boolean,
+): UtilsErrorResponse {
+ if (json == null) {
+ return json;
+ }
+ return {
+ code: json["code"] == null ? undefined : json["code"],
+ message: json["message"] == null ? undefined : json["message"],
+ };
+}
+
+export function UtilsErrorResponseToJSON(json: any): UtilsErrorResponse {
+ return UtilsErrorResponseToJSONTyped(json, false);
+}
+
+export function UtilsErrorResponseToJSONTyped(
+ value?: UtilsErrorResponse | null,
+ ignoreDiscriminator: boolean = false,
+): any {
+ if (value == null) {
+ return value;
+ }
+
+ return {
+ code: value["code"],
+ message: value["message"],
+ };
+}
diff --git a/sdk/ts/src/models/index.ts b/sdk/ts/src/models/index.ts
new file mode 100644
index 0000000..e64b6a5
--- /dev/null
+++ b/sdk/ts/src/models/index.ts
@@ -0,0 +1,35 @@
+/* tslint:disable */
+/* eslint-disable */
+export * from "./DtoAuthStartResponse";
+export * from "./DtoCreateLabelRequest";
+export * from "./DtoCreateSSHRequest";
+export * from "./DtoCreateServerRequest";
+export * from "./DtoCreateTaintRequest";
+export * from "./DtoJWK";
+export * from "./DtoJWKS";
+export * from "./DtoLabelResponse";
+export * from "./DtoLogoutRequest";
+export * from "./DtoRefreshRequest";
+export * from "./DtoServerResponse";
+export * from "./DtoSshResponse";
+export * from "./DtoSshRevealResponse";
+export * from "./DtoTaintResponse";
+export * from "./DtoTokenPair";
+export * from "./DtoUpdateLabelRequest";
+export * from "./DtoUpdateServerRequest";
+export * from "./DtoUpdateTaintRequest";
+export * from "./HandlersCreateUserKeyRequest";
+export * from "./HandlersMeResponse";
+export * from "./HandlersMemberOut";
+export * from "./HandlersMemberUpsertReq";
+export * from "./HandlersOrgCreateReq";
+export * from "./HandlersOrgKeyCreateReq";
+export * from "./HandlersOrgKeyCreateResp";
+export * from "./HandlersOrgUpdateReq";
+export * from "./HandlersUpdateMeRequest";
+export * from "./HandlersUserAPIKeyOut";
+export * from "./ModelsAPIKey";
+export * from "./ModelsOrganization";
+export * from "./ModelsUser";
+export * from "./ModelsUserEmail";
+export * from "./UtilsErrorResponse";
diff --git a/sdk/ts/src/runtime.ts b/sdk/ts/src/runtime.ts
new file mode 100644
index 0000000..71111cd
--- /dev/null
+++ b/sdk/ts/src/runtime.ts
@@ -0,0 +1,530 @@
+/* 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 const BASE_PATH = "http://localhost:8080/api/v1".replace(/\/+$/, "");
+
+export interface ConfigurationParameters {
+ basePath?: string; // override base path
+ fetchApi?: FetchAPI; // override for fetch implementation
+ middleware?: Middleware[]; // middleware to apply before/after fetch requests
+ queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings
+ username?: string; // parameter for basic security
+ password?: string; // parameter for basic security
+ apiKey?:
+ | string
+ | Promise
+ | ((name: string) => string | Promise); // parameter for apiKey security
+ accessToken?:
+ | string
+ | Promise
+ | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security
+ headers?: HTTPHeaders; //header params we want to use on every request
+ credentials?: RequestCredentials; //value for the credentials param we want to use on each request
+}
+
+export class Configuration {
+ constructor(private configuration: ConfigurationParameters = {}) {}
+
+ set config(configuration: Configuration) {
+ this.configuration = configuration;
+ }
+
+ get basePath(): string {
+ return this.configuration.basePath != null
+ ? this.configuration.basePath
+ : BASE_PATH;
+ }
+
+ get fetchApi(): FetchAPI | undefined {
+ return this.configuration.fetchApi;
+ }
+
+ get middleware(): Middleware[] {
+ return this.configuration.middleware || [];
+ }
+
+ get queryParamsStringify(): (params: HTTPQuery) => string {
+ return this.configuration.queryParamsStringify || querystring;
+ }
+
+ get username(): string | undefined {
+ return this.configuration.username;
+ }
+
+ get password(): string | undefined {
+ return this.configuration.password;
+ }
+
+ get apiKey(): ((name: string) => string | Promise) | undefined {
+ const apiKey = this.configuration.apiKey;
+ if (apiKey) {
+ return typeof apiKey === "function" ? apiKey : () => apiKey;
+ }
+ return undefined;
+ }
+
+ get accessToken():
+ | ((name?: string, scopes?: string[]) => string | Promise)
+ | undefined {
+ const accessToken = this.configuration.accessToken;
+ if (accessToken) {
+ return typeof accessToken === "function"
+ ? accessToken
+ : async () => accessToken;
+ }
+ return undefined;
+ }
+
+ get headers(): HTTPHeaders | undefined {
+ return this.configuration.headers;
+ }
+
+ get credentials(): RequestCredentials | undefined {
+ return this.configuration.credentials;
+ }
+}
+
+export const DefaultConfig = new Configuration();
+
+/**
+ * This is the base class for all generated API classes.
+ */
+export class BaseAPI {
+ private static readonly jsonRegex = new RegExp(
+ "^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$",
+ "i",
+ );
+ private middleware: Middleware[];
+
+ constructor(protected configuration = DefaultConfig) {
+ this.middleware = configuration.middleware;
+ }
+
+ withMiddleware(this: T, ...middlewares: Middleware[]) {
+ const next = this.clone();
+ next.middleware = next.middleware.concat(...middlewares);
+ return next;
+ }
+
+ withPreMiddleware(
+ this: T,
+ ...preMiddlewares: Array
+ ) {
+ const middlewares = preMiddlewares.map((pre) => ({ pre }));
+ return this.withMiddleware(...middlewares);
+ }
+
+ withPostMiddleware(
+ this: T,
+ ...postMiddlewares: Array
+ ) {
+ const middlewares = postMiddlewares.map((post) => ({ post }));
+ return this.withMiddleware(...middlewares);
+ }
+
+ /**
+ * Check if the given MIME is a JSON MIME.
+ * JSON MIME examples:
+ * application/json
+ * application/json; charset=UTF8
+ * APPLICATION/JSON
+ * application/vnd.company+json
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
+ * @return True if the given MIME is JSON, false otherwise.
+ */
+ protected isJsonMime(mime: string | null | undefined): boolean {
+ if (!mime) {
+ return false;
+ }
+ return BaseAPI.jsonRegex.test(mime);
+ }
+
+ protected async request(
+ context: RequestOpts,
+ initOverrides?: RequestInit | InitOverrideFunction,
+ ): Promise {
+ const { url, init } = await this.createFetchParams(context, initOverrides);
+ const response = await this.fetchApi(url, init);
+ if (response && response.status >= 200 && response.status < 300) {
+ return response;
+ }
+ throw new ResponseError(response, "Response returned an error code");
+ }
+
+ private async createFetchParams(
+ context: RequestOpts,
+ initOverrides?: RequestInit | InitOverrideFunction,
+ ) {
+ let url = this.configuration.basePath + context.path;
+ if (
+ context.query !== undefined &&
+ Object.keys(context.query).length !== 0
+ ) {
+ // only add the querystring to the URL if there are query parameters.
+ // this is done to avoid urls ending with a "?" character which buggy webservers
+ // do not handle correctly sometimes.
+ url += "?" + this.configuration.queryParamsStringify(context.query);
+ }
+
+ const headers = Object.assign(
+ {},
+ this.configuration.headers,
+ context.headers,
+ );
+ Object.keys(headers).forEach((key) =>
+ headers[key] === undefined ? delete headers[key] : {},
+ );
+
+ const initOverrideFn =
+ typeof initOverrides === "function"
+ ? initOverrides
+ : async () => initOverrides;
+
+ const initParams = {
+ method: context.method,
+ headers,
+ body: context.body,
+ credentials: this.configuration.credentials,
+ };
+
+ const overriddenInit: RequestInit = {
+ ...initParams,
+ ...(await initOverrideFn({
+ init: initParams,
+ context,
+ })),
+ };
+
+ let body: any;
+ if (
+ isFormData(overriddenInit.body) ||
+ overriddenInit.body instanceof URLSearchParams ||
+ isBlob(overriddenInit.body)
+ ) {
+ body = overriddenInit.body;
+ } else if (this.isJsonMime(headers["Content-Type"])) {
+ body = JSON.stringify(overriddenInit.body);
+ } else {
+ body = overriddenInit.body;
+ }
+
+ const init: RequestInit = {
+ ...overriddenInit,
+ body,
+ };
+
+ return { url, init };
+ }
+
+ private fetchApi = async (url: string, init: RequestInit) => {
+ let fetchParams = { url, init };
+ for (const middleware of this.middleware) {
+ if (middleware.pre) {
+ fetchParams =
+ (await middleware.pre({
+ fetch: this.fetchApi,
+ ...fetchParams,
+ })) || fetchParams;
+ }
+ }
+ let response: Response | undefined = undefined;
+ try {
+ response = await (this.configuration.fetchApi || fetch)(
+ fetchParams.url,
+ fetchParams.init,
+ );
+ } catch (e) {
+ for (const middleware of this.middleware) {
+ if (middleware.onError) {
+ response =
+ (await middleware.onError({
+ fetch: this.fetchApi,
+ url: fetchParams.url,
+ init: fetchParams.init,
+ error: e,
+ response: response ? response.clone() : undefined,
+ })) || response;
+ }
+ }
+ if (response === undefined) {
+ if (e instanceof Error) {
+ throw new FetchError(
+ e,
+ "The request failed and the interceptors did not return an alternative response",
+ );
+ } else {
+ throw e;
+ }
+ }
+ }
+ for (const middleware of this.middleware) {
+ if (middleware.post) {
+ response =
+ (await middleware.post({
+ fetch: this.fetchApi,
+ url: fetchParams.url,
+ init: fetchParams.init,
+ response: response.clone(),
+ })) || response;
+ }
+ }
+ return response;
+ };
+
+ /**
+ * Create a shallow clone of `this` by constructing a new instance
+ * and then shallow cloning data members.
+ */
+ private clone(this: T): T {
+ const constructor = this.constructor as any;
+ const next = new constructor(this.configuration);
+ next.middleware = this.middleware.slice();
+ return next;
+ }
+}
+
+function isBlob(value: any): value is Blob {
+ return typeof Blob !== "undefined" && value instanceof Blob;
+}
+
+function isFormData(value: any): value is FormData {
+ return typeof FormData !== "undefined" && value instanceof FormData;
+}
+
+export class ResponseError extends Error {
+ override name: "ResponseError" = "ResponseError";
+ constructor(
+ public response: Response,
+ msg?: string,
+ ) {
+ super(msg);
+ }
+}
+
+export class FetchError extends Error {
+ override name: "FetchError" = "FetchError";
+ constructor(
+ public cause: Error,
+ msg?: string,
+ ) {
+ super(msg);
+ }
+}
+
+export class RequiredError extends Error {
+ override name: "RequiredError" = "RequiredError";
+ constructor(
+ public field: string,
+ msg?: string,
+ ) {
+ super(msg);
+ }
+}
+
+export const COLLECTION_FORMATS = {
+ csv: ",",
+ ssv: " ",
+ tsv: "\t",
+ pipes: "|",
+};
+
+export type FetchAPI = WindowOrWorkerGlobalScope["fetch"];
+
+export type Json = any;
+export type HTTPMethod =
+ | "GET"
+ | "POST"
+ | "PUT"
+ | "PATCH"
+ | "DELETE"
+ | "OPTIONS"
+ | "HEAD";
+export type HTTPHeaders = { [key: string]: string };
+export type HTTPQuery = {
+ [key: string]:
+ | string
+ | number
+ | null
+ | boolean
+ | Array
+ | Set
+ | HTTPQuery;
+};
+export type HTTPBody = Json | FormData | URLSearchParams;
+export type HTTPRequestInit = {
+ headers?: HTTPHeaders;
+ method: HTTPMethod;
+ credentials?: RequestCredentials;
+ body?: HTTPBody;
+};
+export type ModelPropertyNaming =
+ | "camelCase"
+ | "snake_case"
+ | "PascalCase"
+ | "original";
+
+export type InitOverrideFunction = (requestContext: {
+ init: HTTPRequestInit;
+ context: RequestOpts;
+}) => Promise;
+
+export interface FetchParams {
+ url: string;
+ init: RequestInit;
+}
+
+export interface RequestOpts {
+ path: string;
+ method: HTTPMethod;
+ headers: HTTPHeaders;
+ query?: HTTPQuery;
+ body?: HTTPBody;
+}
+
+export function querystring(params: HTTPQuery, prefix: string = ""): string {
+ return Object.keys(params)
+ .map((key) => querystringSingleKey(key, params[key], prefix))
+ .filter((part) => part.length > 0)
+ .join("&");
+}
+
+function querystringSingleKey(
+ key: string,
+ value:
+ | string
+ | number
+ | null
+ | undefined
+ | boolean
+ | Array
+ | Set
+ | HTTPQuery,
+ keyPrefix: string = "",
+): string {
+ const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
+ if (value instanceof Array) {
+ const multiValue = value
+ .map((singleValue) => encodeURIComponent(String(singleValue)))
+ .join(`&${encodeURIComponent(fullKey)}=`);
+ return `${encodeURIComponent(fullKey)}=${multiValue}`;
+ }
+ if (value instanceof Set) {
+ const valueAsArray = Array.from(value);
+ return querystringSingleKey(key, valueAsArray, keyPrefix);
+ }
+ if (value instanceof Date) {
+ return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
+ }
+ if (value instanceof Object) {
+ return querystring(value as HTTPQuery, fullKey);
+ }
+ return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
+}
+
+export function exists(json: any, key: string) {
+ const value = json[key];
+ return value !== null && value !== undefined;
+}
+
+export function mapValues(data: any, fn: (item: any) => any) {
+ const result: { [key: string]: any } = {};
+ for (const key of Object.keys(data)) {
+ result[key] = fn(data[key]);
+ }
+ return result;
+}
+
+export function canConsumeForm(consumes: Consume[]): boolean {
+ for (const consume of consumes) {
+ if ("multipart/form-data" === consume.contentType) {
+ return true;
+ }
+ }
+ return false;
+}
+
+export interface Consume {
+ contentType: string;
+}
+
+export interface RequestContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+}
+
+export interface ResponseContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+ response: Response;
+}
+
+export interface ErrorContext {
+ fetch: FetchAPI;
+ url: string;
+ init: RequestInit;
+ error: unknown;
+ response?: Response;
+}
+
+export interface Middleware {
+ pre?(context: RequestContext): Promise;
+ post?(context: ResponseContext): Promise;
+ onError?(context: ErrorContext): Promise;
+}
+
+export interface ApiResponse {
+ raw: Response;
+ value(): Promise;
+}
+
+export interface ResponseTransformer {
+ (json: any): T;
+}
+
+export class JSONApiResponse {
+ constructor(
+ public raw: Response,
+ private transformer: ResponseTransformer = (jsonValue: any) => jsonValue,
+ ) {}
+
+ async value(): Promise {
+ return this.transformer(await this.raw.json());
+ }
+}
+
+export class VoidApiResponse {
+ constructor(public raw: Response) {}
+
+ async value(): Promise {
+ return undefined;
+ }
+}
+
+export class BlobApiResponse {
+ constructor(public raw: Response) {}
+
+ async value(): Promise {
+ return await this.raw.blob();
+ }
+}
+
+export class TextApiResponse {
+ constructor(public raw: Response) {}
+
+ async value(): Promise {
+ return await this.raw.text();
+ }
+}
diff --git a/sdk/ts/tsconfig.esm.json b/sdk/ts/tsconfig.esm.json
new file mode 100644
index 0000000..2c0331c
--- /dev/null
+++ b/sdk/ts/tsconfig.esm.json
@@ -0,0 +1,7 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "esnext",
+ "outDir": "dist/esm"
+ }
+}
diff --git a/sdk/ts/tsconfig.json b/sdk/ts/tsconfig.json
new file mode 100644
index 0000000..e69c9c2
--- /dev/null
+++ b/sdk/ts/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "compilerOptions": {
+ "declaration": true,
+ "target": "es6",
+ "module": "commonjs",
+ "moduleResolution": "node",
+ "outDir": "dist",
+ "typeRoots": ["node_modules/@types"]
+ },
+ "exclude": ["dist", "node_modules"]
+}