feat: add docker_image and docker_tag to cluster api

Signed-off-by: allanice001 <allanice001@gmail.com>
This commit is contained in:
allanice001
2025-12-08 17:04:10 +00:00
parent 1dbdd04808
commit 4d37a6363f
101 changed files with 721 additions and 185 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -96,6 +96,10 @@ components:
$ref: '#/components/schemas/dto.RecordSetResponse' $ref: '#/components/schemas/dto.RecordSetResponse'
created_at: created_at:
type: string type: string
docker_image:
type: string
docker_tag:
type: string
glueops_load_balancer: glueops_load_balancer:
$ref: '#/components/schemas/dto.LoadBalancerResponse' $ref: '#/components/schemas/dto.LoadBalancerResponse'
id: id:
@@ -129,6 +133,10 @@ components:
properties: properties:
cluster_provider: cluster_provider:
type: string type: string
docker_image:
type: string
docker_tag:
type: string
name: name:
type: string type: string
region: region:
@@ -713,6 +721,10 @@ components:
properties: properties:
cluster_provider: cluster_provider:
type: string type: string
docker_image:
type: string
docker_tag:
type: string
name: name:
type: string type: string
region: region:

View File

@@ -189,6 +189,8 @@ func CreateCluster(db *gorm.DB) http.HandlerFunc {
LastError: "", LastError: "",
CertificateKey: certificateKey, CertificateKey: certificateKey,
RandomToken: randomToken, RandomToken: randomToken,
DockerImage: in.DockerImage,
DockerTag: in.DockerTag,
} }
if err := db.Create(&c).Error; err != nil { if err := db.Create(&c).Error; err != nil {
@@ -262,6 +264,14 @@ func UpdateCluster(db *gorm.DB) http.HandlerFunc {
cluster.Region = *in.Region cluster.Region = *in.Region
} }
if in.DockerImage != nil {
cluster.DockerImage = *in.DockerImage
}
if in.DockerTag != nil {
cluster.DockerTag = *in.DockerTag
}
if err := db.Save(&cluster).Error; err != nil { if err := db.Save(&cluster).Error; err != nil {
utils.WriteError(w, http.StatusInternalServerError, "db_error", "db error") utils.WriteError(w, http.StatusInternalServerError, "db_error", "db error")
return return
@@ -1547,6 +1557,8 @@ func clusterToDTO(c models.Cluster) dto.ClusterResponse {
RandomToken: c.RandomToken, RandomToken: c.RandomToken,
CertificateKey: c.CertificateKey, CertificateKey: c.CertificateKey,
NodePools: nps, NodePools: nps,
DockerImage: c.DockerImage,
DockerTag: c.DockerTag,
CreatedAt: c.CreatedAt, CreatedAt: c.CreatedAt,
UpdatedAt: c.UpdatedAt, UpdatedAt: c.UpdatedAt,
} }

View File

@@ -22,6 +22,8 @@ type ClusterResponse struct {
RandomToken string `json:"random_token"` RandomToken string `json:"random_token"`
CertificateKey string `json:"certificate_key"` CertificateKey string `json:"certificate_key"`
NodePools []NodePoolResponse `json:"node_pools,omitempty"` NodePools []NodePoolResponse `json:"node_pools,omitempty"`
DockerImage string `json:"docker_image"`
DockerTag string `json:"docker_tag"`
CreatedAt time.Time `json:"created_at"` CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"` UpdatedAt time.Time `json:"updated_at"`
} }
@@ -30,12 +32,16 @@ type CreateClusterRequest struct {
Name string `json:"name"` Name string `json:"name"`
ClusterProvider string `json:"cluster_provider"` ClusterProvider string `json:"cluster_provider"`
Region string `json:"region"` Region string `json:"region"`
DockerImage string `json:"docker_image"`
DockerTag string `json:"docker_tag"`
} }
type UpdateClusterRequest struct { type UpdateClusterRequest struct {
Name *string `json:"name,omitempty"` Name *string `json:"name,omitempty"`
ClusterProvider *string `json:"cluster_provider,omitempty"` ClusterProvider *string `json:"cluster_provider,omitempty"`
Region *string `json:"region,omitempty"` Region *string `json:"region,omitempty"`
DockerImage *string `json:"docker_image,omitempty"`
DockerTag *string `json:"docker_tag,omitempty"`
} }
type AttachCaptainDomainRequest struct { type AttachCaptainDomainRequest struct {

View File

@@ -40,6 +40,8 @@ type Cluster struct {
EncryptedKubeconfig string `gorm:"type:text" json:"-"` EncryptedKubeconfig string `gorm:"type:text" json:"-"`
KubeIV string `json:"-"` KubeIV string `json:"-"`
KubeTag string `json:"-"` KubeTag string `json:"-"`
DockerImage string `json:"docker_image"`
DockerTag string `json:"docker_tag"`
CreatedAt time.Time `json:"created_at,omitempty" gorm:"type:timestamptz;column:created_at;not null;default:now()"` CreatedAt time.Time `json:"created_at,omitempty" gorm:"type:timestamptz;column:created_at;not null;default:now()"`
UpdatedAt time.Time `json:"updated_at,omitempty" gorm:"type:timestamptz;autoUpdateTime;column:updated_at;not null;default:now()"` UpdatedAt time.Time `json:"updated_at,omitempty" gorm:"type:timestamptz;autoUpdateTime;column:updated_at;not null;default:now()"`
} }

View File

@@ -12,6 +12,8 @@
| `control_plane_fqdn` | string | | `control_plane_fqdn` | string |
| `control_plane_record_set` | [DtoRecordSetResponse](DtoRecordSetResponse.md) | | `control_plane_record_set` | [DtoRecordSetResponse](DtoRecordSetResponse.md) |
| `created_at` | string | | `created_at` | string |
| `docker_image` | string |
| `docker_tag` | string |
| `glueops_load_balancer` | [DtoLoadBalancerResponse](DtoLoadBalancerResponse.md) | | `glueops_load_balancer` | [DtoLoadBalancerResponse](DtoLoadBalancerResponse.md) |
| `id` | string | | `id` | string |
| `last_error` | string | | `last_error` | string |
@@ -37,6 +39,8 @@ const example = {
control_plane_fqdn: null, control_plane_fqdn: null,
control_plane_record_set: null, control_plane_record_set: null,
created_at: null, created_at: null,
docker_image: null,
docker_tag: null,
glueops_load_balancer: null, glueops_load_balancer: null,
id: null, id: null,
last_error: null, last_error: null,

View File

@@ -5,6 +5,8 @@
| Name | Type | | Name | Type |
| ------------------ | ------ | | ------------------ | ------ |
| `cluster_provider` | string | | `cluster_provider` | string |
| `docker_image` | string |
| `docker_tag` | string |
| `name` | string | | `name` | string |
| `region` | string | | `region` | string |
@@ -16,6 +18,8 @@ import type { DtoCreateClusterRequest } from "@glueops/autoglue-sdk-go";
// TODO: Update the object below with actual values // TODO: Update the object below with actual values
const example = { const example = {
cluster_provider: null, cluster_provider: null,
docker_image: null,
docker_tag: null,
name: null, name: null,
region: null, region: null,
} satisfies DtoCreateClusterRequest; } satisfies DtoCreateClusterRequest;

View File

@@ -5,6 +5,8 @@
| Name | Type | | Name | Type |
| ------------------ | ------ | | ------------------ | ------ |
| `cluster_provider` | string | | `cluster_provider` | string |
| `docker_image` | string |
| `docker_tag` | string |
| `name` | string | | `name` | string |
| `region` | string | | `region` | string |
@@ -16,6 +18,8 @@ import type { DtoUpdateClusterRequest } from "@glueops/autoglue-sdk-go";
// TODO: Update the object below with actual values // TODO: Update the object below with actual values
const example = { const example = {
cluster_provider: null, cluster_provider: null,
docker_image: null,
docker_tag: null,
name: null, name: null,
region: null, region: null,
} satisfies DtoUpdateClusterRequest; } satisfies DtoUpdateClusterRequest;

View File

@@ -16,6 +16,6 @@
"prepare": "npm run build" "prepare": "npm run build"
}, },
"devDependencies": { "devDependencies": {
"typescript": "5.9.3" "typescript": "^4.0 || ^5.0"
} }
} }

View File

@@ -13,11 +13,18 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoAnnotationResponse, DtoCreateAnnotationRequest, DtoUpdateAnnotationRequest,} from "../models/index"; import type {
DtoAnnotationResponse,
DtoCreateAnnotationRequest,
DtoUpdateAnnotationRequest,
} from "../models/index";
import { import {
DtoAnnotationResponseFromJSON, DtoAnnotationResponseFromJSON,
DtoCreateAnnotationRequestToJSON, DtoAnnotationResponseToJSON,
DtoUpdateAnnotationRequestToJSON, DtoCreateAnnotationRequestFromJSON,
DtoCreateAnnotationRequestToJSON,
DtoUpdateAnnotationRequestFromJSON,
DtoUpdateAnnotationRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface CreateAnnotationRequest { export interface CreateAnnotationRequest {

View File

@@ -13,8 +13,22 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoEnqueueRequest, DtoJob, DtoPageJob, DtoQueueInfo,} from "../models/index"; import type {
import {DtoEnqueueRequestToJSON, DtoJobFromJSON, DtoPageJobFromJSON, DtoQueueInfoFromJSON,} from "../models/index"; DtoEnqueueRequest,
DtoJob,
DtoPageJob,
DtoQueueInfo,
} from "../models/index";
import {
DtoEnqueueRequestFromJSON,
DtoEnqueueRequestToJSON,
DtoJobFromJSON,
DtoJobToJSON,
DtoPageJobFromJSON,
DtoPageJobToJSON,
DtoQueueInfoFromJSON,
DtoQueueInfoToJSON,
} from "../models/index";
export interface AdminCancelArcherJobRequest { export interface AdminCancelArcherJobRequest {
id: string; id: string;

View File

@@ -13,13 +13,24 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoAuthStartResponse, DtoJWKS, DtoLogoutRequest, DtoRefreshRequest, DtoTokenPair,} from "../models/index"; import type {
DtoAuthStartResponse,
DtoJWKS,
DtoLogoutRequest,
DtoRefreshRequest,
DtoTokenPair,
} from "../models/index";
import { import {
DtoAuthStartResponseFromJSON, DtoAuthStartResponseFromJSON,
DtoJWKSFromJSON, DtoAuthStartResponseToJSON,
DtoLogoutRequestToJSON, DtoJWKSFromJSON,
DtoRefreshRequestToJSON, DtoJWKSToJSON,
DtoTokenPairFromJSON, DtoLogoutRequestFromJSON,
DtoLogoutRequestToJSON,
DtoRefreshRequestFromJSON,
DtoRefreshRequestToJSON,
DtoTokenPairFromJSON,
DtoTokenPairToJSON,
} from "../models/index"; } from "../models/index";
export interface AuthCallbackRequest { export interface AuthCallbackRequest {

View File

@@ -14,26 +14,35 @@
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type { import type {
DtoAttachBastionRequest, DtoAttachBastionRequest,
DtoAttachCaptainDomainRequest, DtoAttachCaptainDomainRequest,
DtoAttachLoadBalancerRequest, DtoAttachLoadBalancerRequest,
DtoAttachNodePoolRequest, DtoAttachNodePoolRequest,
DtoAttachRecordSetRequest, DtoAttachRecordSetRequest,
DtoClusterResponse, DtoClusterResponse,
DtoCreateClusterRequest, DtoCreateClusterRequest,
DtoSetKubeconfigRequest, DtoSetKubeconfigRequest,
DtoUpdateClusterRequest, DtoUpdateClusterRequest,
} from "../models/index"; } from "../models/index";
import { import {
DtoAttachBastionRequestToJSON, DtoAttachBastionRequestFromJSON,
DtoAttachCaptainDomainRequestToJSON, DtoAttachBastionRequestToJSON,
DtoAttachLoadBalancerRequestToJSON, DtoAttachCaptainDomainRequestFromJSON,
DtoAttachNodePoolRequestToJSON, DtoAttachCaptainDomainRequestToJSON,
DtoAttachRecordSetRequestToJSON, DtoAttachLoadBalancerRequestFromJSON,
DtoClusterResponseFromJSON, DtoAttachLoadBalancerRequestToJSON,
DtoCreateClusterRequestToJSON, DtoAttachNodePoolRequestFromJSON,
DtoSetKubeconfigRequestToJSON, DtoAttachNodePoolRequestToJSON,
DtoUpdateClusterRequestToJSON, DtoAttachRecordSetRequestFromJSON,
DtoAttachRecordSetRequestToJSON,
DtoClusterResponseFromJSON,
DtoClusterResponseToJSON,
DtoCreateClusterRequestFromJSON,
DtoCreateClusterRequestToJSON,
DtoSetKubeconfigRequestFromJSON,
DtoSetKubeconfigRequestToJSON,
DtoUpdateClusterRequestFromJSON,
DtoUpdateClusterRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface AttachAppsLoadBalancerRequest { export interface AttachAppsLoadBalancerRequest {

View File

@@ -13,11 +13,18 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoCreateCredentialRequest, DtoCredentialOut, DtoUpdateCredentialRequest,} from "../models/index"; import type {
DtoCreateCredentialRequest,
DtoCredentialOut,
DtoUpdateCredentialRequest,
} from "../models/index";
import { import {
DtoCreateCredentialRequestToJSON, DtoCreateCredentialRequestFromJSON,
DtoCredentialOutFromJSON, DtoCreateCredentialRequestToJSON,
DtoUpdateCredentialRequestToJSON, DtoCredentialOutFromJSON,
DtoCredentialOutToJSON,
DtoUpdateCredentialRequestFromJSON,
DtoUpdateCredentialRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface CreateCredentialRequest { export interface CreateCredentialRequest {

View File

@@ -14,20 +14,26 @@
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type { import type {
DtoCreateDomainRequest, DtoCreateDomainRequest,
DtoCreateRecordSetRequest, DtoCreateRecordSetRequest,
DtoDomainResponse, DtoDomainResponse,
DtoRecordSetResponse, DtoRecordSetResponse,
DtoUpdateDomainRequest, DtoUpdateDomainRequest,
DtoUpdateRecordSetRequest, DtoUpdateRecordSetRequest,
} from "../models/index"; } from "../models/index";
import { import {
DtoCreateDomainRequestToJSON, DtoCreateDomainRequestFromJSON,
DtoCreateRecordSetRequestToJSON, DtoCreateDomainRequestToJSON,
DtoDomainResponseFromJSON, DtoCreateRecordSetRequestFromJSON,
DtoRecordSetResponseFromJSON, DtoCreateRecordSetRequestToJSON,
DtoUpdateDomainRequestToJSON, DtoDomainResponseFromJSON,
DtoUpdateRecordSetRequestToJSON, DtoDomainResponseToJSON,
DtoRecordSetResponseFromJSON,
DtoRecordSetResponseToJSON,
DtoUpdateDomainRequestFromJSON,
DtoUpdateDomainRequestToJSON,
DtoUpdateRecordSetRequestFromJSON,
DtoUpdateRecordSetRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface CreateDomainRequest { export interface CreateDomainRequest {

View File

@@ -13,8 +13,11 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {HandlersHealthStatus} from "../models/index"; import type { HandlersHealthStatus } from "../models/index";
import {HandlersHealthStatusFromJSON,} from "../models/index"; import {
HandlersHealthStatusFromJSON,
HandlersHealthStatusToJSON,
} from "../models/index";
/** /**
* *

View File

@@ -13,8 +13,19 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoCreateLabelRequest, DtoLabelResponse, DtoUpdateLabelRequest,} from "../models/index"; import type {
import {DtoCreateLabelRequestToJSON, DtoLabelResponseFromJSON, DtoUpdateLabelRequestToJSON,} from "../models/index"; DtoCreateLabelRequest,
DtoLabelResponse,
DtoUpdateLabelRequest,
} from "../models/index";
import {
DtoCreateLabelRequestFromJSON,
DtoCreateLabelRequestToJSON,
DtoLabelResponseFromJSON,
DtoLabelResponseToJSON,
DtoUpdateLabelRequestFromJSON,
DtoUpdateLabelRequestToJSON,
} from "../models/index";
export interface CreateLabelRequest { export interface CreateLabelRequest {
dtoCreateLabelRequest: DtoCreateLabelRequest; dtoCreateLabelRequest: DtoCreateLabelRequest;

View File

@@ -14,14 +14,17 @@
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type { import type {
DtoCreateLoadBalancerRequest, DtoCreateLoadBalancerRequest,
DtoLoadBalancerResponse, DtoLoadBalancerResponse,
DtoUpdateLoadBalancerRequest, DtoUpdateLoadBalancerRequest,
} from "../models/index"; } from "../models/index";
import { import {
DtoCreateLoadBalancerRequestToJSON, DtoCreateLoadBalancerRequestFromJSON,
DtoLoadBalancerResponseFromJSON, DtoCreateLoadBalancerRequestToJSON,
DtoUpdateLoadBalancerRequestToJSON, DtoLoadBalancerResponseFromJSON,
DtoLoadBalancerResponseToJSON,
DtoUpdateLoadBalancerRequestFromJSON,
DtoUpdateLoadBalancerRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface CreateLoadBalancerRequest { export interface CreateLoadBalancerRequest {

View File

@@ -13,8 +13,16 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {HandlersCreateUserKeyRequest, HandlersUserAPIKeyOut,} from "../models/index"; import type {
import {HandlersCreateUserKeyRequestToJSON, HandlersUserAPIKeyOutFromJSON,} from "../models/index"; HandlersCreateUserKeyRequest,
HandlersUserAPIKeyOut,
} from "../models/index";
import {
HandlersCreateUserKeyRequestFromJSON,
HandlersCreateUserKeyRequestToJSON,
HandlersUserAPIKeyOutFromJSON,
HandlersUserAPIKeyOutToJSON,
} from "../models/index";
export interface CreateUserAPIKeyRequest { export interface CreateUserAPIKeyRequest {
handlersCreateUserKeyRequest: HandlersCreateUserKeyRequest; handlersCreateUserKeyRequest: HandlersCreateUserKeyRequest;

View File

@@ -13,8 +13,19 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {HandlersMeResponse, HandlersUpdateMeRequest, ModelsUser,} from "../models/index"; import type {
import {HandlersMeResponseFromJSON, HandlersUpdateMeRequestToJSON, ModelsUserFromJSON,} from "../models/index"; HandlersMeResponse,
HandlersUpdateMeRequest,
ModelsUser,
} from "../models/index";
import {
HandlersMeResponseFromJSON,
HandlersMeResponseToJSON,
HandlersUpdateMeRequestFromJSON,
HandlersUpdateMeRequestToJSON,
ModelsUserFromJSON,
ModelsUserToJSON,
} from "../models/index";
export interface UpdateMeRequest { export interface UpdateMeRequest {
handlersUpdateMeRequest: HandlersUpdateMeRequest; handlersUpdateMeRequest: HandlersUpdateMeRequest;

View File

@@ -13,8 +13,11 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {HandlersVersionResponse} from "../models/index"; import type { HandlersVersionResponse } from "../models/index";
import {HandlersVersionResponseFromJSON,} from "../models/index"; import {
HandlersVersionResponseFromJSON,
HandlersVersionResponseToJSON,
} from "../models/index";
/** /**
* *

View File

@@ -14,30 +14,41 @@
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type { import type {
DtoAnnotationResponse, DtoAnnotationResponse,
DtoAttachAnnotationsRequest, DtoAttachAnnotationsRequest,
DtoAttachLabelsRequest, DtoAttachLabelsRequest,
DtoAttachServersRequest, DtoAttachServersRequest,
DtoAttachTaintsRequest, DtoAttachTaintsRequest,
DtoCreateNodePoolRequest, DtoCreateNodePoolRequest,
DtoLabelResponse, DtoLabelResponse,
DtoNodePoolResponse, DtoNodePoolResponse,
DtoServerResponse, DtoServerResponse,
DtoTaintResponse, DtoTaintResponse,
DtoUpdateNodePoolRequest, DtoUpdateNodePoolRequest,
} from "../models/index"; } from "../models/index";
import { import {
DtoAnnotationResponseFromJSON, DtoAnnotationResponseFromJSON,
DtoAttachAnnotationsRequestToJSON, DtoAnnotationResponseToJSON,
DtoAttachLabelsRequestToJSON, DtoAttachAnnotationsRequestFromJSON,
DtoAttachServersRequestToJSON, DtoAttachAnnotationsRequestToJSON,
DtoAttachTaintsRequestToJSON, DtoAttachLabelsRequestFromJSON,
DtoCreateNodePoolRequestToJSON, DtoAttachLabelsRequestToJSON,
DtoLabelResponseFromJSON, DtoAttachServersRequestFromJSON,
DtoNodePoolResponseFromJSON, DtoAttachServersRequestToJSON,
DtoServerResponseFromJSON, DtoAttachTaintsRequestFromJSON,
DtoTaintResponseFromJSON, DtoAttachTaintsRequestToJSON,
DtoUpdateNodePoolRequestToJSON, DtoCreateNodePoolRequestFromJSON,
DtoCreateNodePoolRequestToJSON,
DtoLabelResponseFromJSON,
DtoLabelResponseToJSON,
DtoNodePoolResponseFromJSON,
DtoNodePoolResponseToJSON,
DtoServerResponseFromJSON,
DtoServerResponseToJSON,
DtoTaintResponseFromJSON,
DtoTaintResponseToJSON,
DtoUpdateNodePoolRequestFromJSON,
DtoUpdateNodePoolRequestToJSON,
} from "../models/index"; } from "../models/index";
export interface AttachNodePoolAnnotationsRequest { export interface AttachNodePoolAnnotationsRequest {

View File

@@ -14,24 +14,35 @@
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type { import type {
HandlersMemberOut, HandlersMemberOut,
HandlersMemberUpsertReq, HandlersMemberUpsertReq,
HandlersOrgCreateReq, HandlersOrgCreateReq,
HandlersOrgKeyCreateReq, HandlersOrgKeyCreateReq,
HandlersOrgKeyCreateResp, HandlersOrgKeyCreateResp,
HandlersOrgUpdateReq, HandlersOrgUpdateReq,
ModelsAPIKey, ModelsAPIKey,
ModelsOrganization, ModelsOrganization,
UtilsErrorResponse,
} from "../models/index"; } from "../models/index";
import { import {
HandlersMemberOutFromJSON, HandlersMemberOutFromJSON,
HandlersMemberUpsertReqToJSON, HandlersMemberOutToJSON,
HandlersOrgCreateReqToJSON, HandlersMemberUpsertReqFromJSON,
HandlersOrgKeyCreateReqToJSON, HandlersMemberUpsertReqToJSON,
HandlersOrgKeyCreateRespFromJSON, HandlersOrgCreateReqFromJSON,
HandlersOrgUpdateReqToJSON, HandlersOrgCreateReqToJSON,
ModelsAPIKeyFromJSON, HandlersOrgKeyCreateReqFromJSON,
ModelsOrganizationFromJSON, HandlersOrgKeyCreateReqToJSON,
HandlersOrgKeyCreateRespFromJSON,
HandlersOrgKeyCreateRespToJSON,
HandlersOrgUpdateReqFromJSON,
HandlersOrgUpdateReqToJSON,
ModelsAPIKeyFromJSON,
ModelsAPIKeyToJSON,
ModelsOrganizationFromJSON,
ModelsOrganizationToJSON,
UtilsErrorResponseFromJSON,
UtilsErrorResponseToJSON,
} from "../models/index"; } from "../models/index";
export interface AddOrUpdateMemberRequest { export interface AddOrUpdateMemberRequest {

View File

@@ -13,8 +13,19 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoCreateServerRequest, DtoServerResponse, DtoUpdateServerRequest,} from "../models/index"; import type {
import {DtoCreateServerRequestToJSON, DtoServerResponseFromJSON, DtoUpdateServerRequestToJSON,} from "../models/index"; DtoCreateServerRequest,
DtoServerResponse,
DtoUpdateServerRequest,
} from "../models/index";
import {
DtoCreateServerRequestFromJSON,
DtoCreateServerRequestToJSON,
DtoServerResponseFromJSON,
DtoServerResponseToJSON,
DtoUpdateServerRequestFromJSON,
DtoUpdateServerRequestToJSON,
} from "../models/index";
export interface CreateServerRequest { export interface CreateServerRequest {
dtoCreateServerRequest: DtoCreateServerRequest; dtoCreateServerRequest: DtoCreateServerRequest;

View File

@@ -13,8 +13,19 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoCreateSSHRequest, DtoSshResponse, GetSSHKey200Response,} from "../models/index"; import type {
import {DtoCreateSSHRequestToJSON, DtoSshResponseFromJSON, GetSSHKey200ResponseFromJSON,} from "../models/index"; DtoCreateSSHRequest,
DtoSshResponse,
GetSSHKey200Response,
} from "../models/index";
import {
DtoCreateSSHRequestFromJSON,
DtoCreateSSHRequestToJSON,
DtoSshResponseFromJSON,
DtoSshResponseToJSON,
GetSSHKey200ResponseFromJSON,
GetSSHKey200ResponseToJSON,
} from "../models/index";
export interface CreateSSHKeyRequest { export interface CreateSSHKeyRequest {
dtoCreateSSHRequest: DtoCreateSSHRequest; dtoCreateSSHRequest: DtoCreateSSHRequest;

View File

@@ -13,8 +13,19 @@
*/ */
import * as runtime from "../runtime"; import * as runtime from "../runtime";
import type {DtoCreateTaintRequest, DtoTaintResponse, DtoUpdateTaintRequest,} from "../models/index"; import type {
import {DtoCreateTaintRequestToJSON, DtoTaintResponseFromJSON, DtoUpdateTaintRequestToJSON,} from "../models/index"; DtoCreateTaintRequest,
DtoTaintResponse,
DtoUpdateTaintRequest,
} from "../models/index";
import {
DtoCreateTaintRequestFromJSON,
DtoCreateTaintRequestToJSON,
DtoTaintResponseFromJSON,
DtoTaintResponseToJSON,
DtoUpdateTaintRequestFromJSON,
DtoUpdateTaintRequestToJSON,
} from "../models/index";
export interface CreateTaintRequest { export interface CreateTaintRequest {
dtoCreateTaintRequest: DtoCreateTaintRequest; dtoCreateTaintRequest: DtoCreateTaintRequest;

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,16 +12,42 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoDomainResponse} from "./DtoDomainResponse"; import { mapValues } from "../runtime";
import {DtoDomainResponseFromJSON, DtoDomainResponseToJSON,} from "./DtoDomainResponse"; import type { DtoDomainResponse } from "./DtoDomainResponse";
import type {DtoLoadBalancerResponse} from "./DtoLoadBalancerResponse"; import {
import {DtoLoadBalancerResponseFromJSON, DtoLoadBalancerResponseToJSON,} from "./DtoLoadBalancerResponse"; DtoDomainResponseFromJSON,
import type {DtoNodePoolResponse} from "./DtoNodePoolResponse"; DtoDomainResponseFromJSONTyped,
import {DtoNodePoolResponseFromJSON, DtoNodePoolResponseToJSON,} from "./DtoNodePoolResponse"; DtoDomainResponseToJSON,
import type {DtoServerResponse} from "./DtoServerResponse"; DtoDomainResponseToJSONTyped,
import {DtoServerResponseFromJSON, DtoServerResponseToJSON,} from "./DtoServerResponse"; } from "./DtoDomainResponse";
import type {DtoRecordSetResponse} from "./DtoRecordSetResponse"; import type { DtoLoadBalancerResponse } from "./DtoLoadBalancerResponse";
import {DtoRecordSetResponseFromJSON, DtoRecordSetResponseToJSON,} from "./DtoRecordSetResponse"; import {
DtoLoadBalancerResponseFromJSON,
DtoLoadBalancerResponseFromJSONTyped,
DtoLoadBalancerResponseToJSON,
DtoLoadBalancerResponseToJSONTyped,
} from "./DtoLoadBalancerResponse";
import type { DtoNodePoolResponse } from "./DtoNodePoolResponse";
import {
DtoNodePoolResponseFromJSON,
DtoNodePoolResponseFromJSONTyped,
DtoNodePoolResponseToJSON,
DtoNodePoolResponseToJSONTyped,
} from "./DtoNodePoolResponse";
import type { DtoServerResponse } from "./DtoServerResponse";
import {
DtoServerResponseFromJSON,
DtoServerResponseFromJSONTyped,
DtoServerResponseToJSON,
DtoServerResponseToJSONTyped,
} from "./DtoServerResponse";
import type { DtoRecordSetResponse } from "./DtoRecordSetResponse";
import {
DtoRecordSetResponseFromJSON,
DtoRecordSetResponseFromJSONTyped,
DtoRecordSetResponseToJSON,
DtoRecordSetResponseToJSONTyped,
} from "./DtoRecordSetResponse";
/** /**
* *
@@ -77,6 +103,18 @@ export interface DtoClusterResponse {
* @memberof DtoClusterResponse * @memberof DtoClusterResponse
*/ */
created_at?: string; created_at?: string;
/**
*
* @type {string}
* @memberof DtoClusterResponse
*/
docker_image?: string;
/**
*
* @type {string}
* @memberof DtoClusterResponse
*/
docker_tag?: string;
/** /**
* *
* @type {DtoLoadBalancerResponse} * @type {DtoLoadBalancerResponse}
@@ -179,6 +217,9 @@ export function DtoClusterResponseFromJSONTyped(
? undefined ? undefined
: DtoRecordSetResponseFromJSON(json["control_plane_record_set"]), : DtoRecordSetResponseFromJSON(json["control_plane_record_set"]),
created_at: json["created_at"] == null ? undefined : json["created_at"], created_at: json["created_at"] == null ? undefined : json["created_at"],
docker_image:
json["docker_image"] == null ? undefined : json["docker_image"],
docker_tag: json["docker_tag"] == null ? undefined : json["docker_tag"],
glueops_load_balancer: glueops_load_balancer:
json["glueops_load_balancer"] == null json["glueops_load_balancer"] == null
? undefined ? undefined
@@ -223,6 +264,8 @@ export function DtoClusterResponseToJSONTyped(
value["control_plane_record_set"], value["control_plane_record_set"],
), ),
created_at: value["created_at"], created_at: value["created_at"],
docker_image: value["docker_image"],
docker_tag: value["docker_tag"],
glueops_load_balancer: DtoLoadBalancerResponseToJSON( glueops_load_balancer: DtoLoadBalancerResponseToJSON(
value["glueops_load_balancer"], value["glueops_load_balancer"],
), ),

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export
@@ -24,6 +25,18 @@ export interface DtoCreateClusterRequest {
* @memberof DtoCreateClusterRequest * @memberof DtoCreateClusterRequest
*/ */
cluster_provider?: string; cluster_provider?: string;
/**
*
* @type {string}
* @memberof DtoCreateClusterRequest
*/
docker_image?: string;
/**
*
* @type {string}
* @memberof DtoCreateClusterRequest
*/
docker_tag?: string;
/** /**
* *
* @type {string} * @type {string}
@@ -63,6 +76,9 @@ export function DtoCreateClusterRequestFromJSONTyped(
return { return {
cluster_provider: cluster_provider:
json["cluster_provider"] == null ? undefined : json["cluster_provider"], json["cluster_provider"] == null ? undefined : json["cluster_provider"],
docker_image:
json["docker_image"] == null ? undefined : json["docker_image"],
docker_tag: json["docker_tag"] == null ? undefined : json["docker_tag"],
name: json["name"] == null ? undefined : json["name"], name: json["name"] == null ? undefined : json["name"],
region: json["region"] == null ? undefined : json["region"], region: json["region"] == null ? undefined : json["region"],
}; };
@@ -84,6 +100,8 @@ export function DtoCreateClusterRequestToJSONTyped(
return { return {
cluster_provider: value["cluster_provider"], cluster_provider: value["cluster_provider"],
docker_image: value["docker_image"],
docker_tag: value["docker_tag"],
name: value["name"], name: value["name"],
region: value["region"], region: value["region"],
}; };

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,8 +12,14 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoJWK} from "./DtoJWK"; import { mapValues } from "../runtime";
import {DtoJWKFromJSON, DtoJWKToJSON,} from "./DtoJWK"; import type { DtoJWK } from "./DtoJWK";
import {
DtoJWKFromJSON,
DtoJWKFromJSONTyped,
DtoJWKToJSON,
DtoJWKToJSONTyped,
} from "./DtoJWK";
/** /**
* *

View File

@@ -12,8 +12,14 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoJobStatus} from "./DtoJobStatus"; import { mapValues } from "../runtime";
import {DtoJobStatusFromJSON, DtoJobStatusToJSON,} from "./DtoJobStatus"; import type { DtoJobStatus } from "./DtoJobStatus";
import {
DtoJobStatusFromJSON,
DtoJobStatusFromJSONTyped,
DtoJobStatusToJSON,
DtoJobStatusToJSONTyped,
} from "./DtoJobStatus";
/** /**
* *

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,14 +12,35 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoTaintResponse} from "./DtoTaintResponse"; import { mapValues } from "../runtime";
import {DtoTaintResponseFromJSON, DtoTaintResponseToJSON,} from "./DtoTaintResponse"; import type { DtoTaintResponse } from "./DtoTaintResponse";
import type {DtoLabelResponse} from "./DtoLabelResponse"; import {
import {DtoLabelResponseFromJSON, DtoLabelResponseToJSON,} from "./DtoLabelResponse"; DtoTaintResponseFromJSON,
import type {DtoServerResponse} from "./DtoServerResponse"; DtoTaintResponseFromJSONTyped,
import {DtoServerResponseFromJSON, DtoServerResponseToJSON,} from "./DtoServerResponse"; DtoTaintResponseToJSON,
import type {DtoAnnotationResponse} from "./DtoAnnotationResponse"; DtoTaintResponseToJSONTyped,
import {DtoAnnotationResponseFromJSON, DtoAnnotationResponseToJSON,} from "./DtoAnnotationResponse"; } from "./DtoTaintResponse";
import type { DtoLabelResponse } from "./DtoLabelResponse";
import {
DtoLabelResponseFromJSON,
DtoLabelResponseFromJSONTyped,
DtoLabelResponseToJSON,
DtoLabelResponseToJSONTyped,
} from "./DtoLabelResponse";
import type { DtoServerResponse } from "./DtoServerResponse";
import {
DtoServerResponseFromJSON,
DtoServerResponseFromJSONTyped,
DtoServerResponseToJSON,
DtoServerResponseToJSONTyped,
} from "./DtoServerResponse";
import type { DtoAnnotationResponse } from "./DtoAnnotationResponse";
import {
DtoAnnotationResponseFromJSON,
DtoAnnotationResponseFromJSONTyped,
DtoAnnotationResponseToJSON,
DtoAnnotationResponseToJSONTyped,
} from "./DtoAnnotationResponse";
/** /**
* *

View File

@@ -12,8 +12,14 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoJob} from "./DtoJob"; import { mapValues } from "../runtime";
import {DtoJobFromJSON, DtoJobToJSON,} from "./DtoJob"; import type { DtoJob } from "./DtoJob";
import {
DtoJobFromJSON,
DtoJobFromJSONTyped,
DtoJobToJSON,
DtoJobToJSONTyped,
} from "./DtoJob";
/** /**
* *

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export
@@ -24,6 +25,18 @@ export interface DtoUpdateClusterRequest {
* @memberof DtoUpdateClusterRequest * @memberof DtoUpdateClusterRequest
*/ */
cluster_provider?: string; cluster_provider?: string;
/**
*
* @type {string}
* @memberof DtoUpdateClusterRequest
*/
docker_image?: string;
/**
*
* @type {string}
* @memberof DtoUpdateClusterRequest
*/
docker_tag?: string;
/** /**
* *
* @type {string} * @type {string}
@@ -63,6 +76,9 @@ export function DtoUpdateClusterRequestFromJSONTyped(
return { return {
cluster_provider: cluster_provider:
json["cluster_provider"] == null ? undefined : json["cluster_provider"], json["cluster_provider"] == null ? undefined : json["cluster_provider"],
docker_image:
json["docker_image"] == null ? undefined : json["docker_image"],
docker_tag: json["docker_tag"] == null ? undefined : json["docker_tag"],
name: json["name"] == null ? undefined : json["name"], name: json["name"] == null ? undefined : json["name"],
region: json["region"] == null ? undefined : json["region"], region: json["region"] == null ? undefined : json["region"],
}; };
@@ -84,6 +100,8 @@ export function DtoUpdateClusterRequestToJSONTyped(
return { return {
cluster_provider: value["cluster_provider"], cluster_provider: value["cluster_provider"],
docker_image: value["docker_image"],
docker_tag: value["docker_tag"],
name: value["name"], name: value["name"],
region: value["region"], region: value["region"],
}; };

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,13 +12,19 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {DtoSshResponse} from "./DtoSshResponse"; import type { DtoSshResponse } from "./DtoSshResponse";
import {DtoSshResponseFromJSONTyped, DtoSshResponseToJSON, instanceOfDtoSshResponse,} from "./DtoSshResponse";
import type {DtoSshRevealResponse} from "./DtoSshRevealResponse";
import { import {
DtoSshRevealResponseFromJSONTyped, instanceOfDtoSshResponse,
DtoSshRevealResponseToJSON, DtoSshResponseFromJSON,
instanceOfDtoSshRevealResponse, DtoSshResponseFromJSONTyped,
DtoSshResponseToJSON,
} from "./DtoSshResponse";
import type { DtoSshRevealResponse } from "./DtoSshRevealResponse";
import {
instanceOfDtoSshRevealResponse,
DtoSshRevealResponseFromJSON,
DtoSshRevealResponseFromJSONTyped,
DtoSshRevealResponseToJSON,
} from "./DtoSshRevealResponse"; } from "./DtoSshRevealResponse";
/** /**

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,10 +12,21 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {ModelsUserEmail} from "./ModelsUserEmail"; import { mapValues } from "../runtime";
import {ModelsUserEmailFromJSON, ModelsUserEmailToJSON,} from "./ModelsUserEmail"; import type { ModelsUserEmail } from "./ModelsUserEmail";
import type {ModelsOrganization} from "./ModelsOrganization"; import {
import {ModelsOrganizationFromJSON, ModelsOrganizationToJSON,} from "./ModelsOrganization"; ModelsUserEmailFromJSON,
ModelsUserEmailFromJSONTyped,
ModelsUserEmailToJSON,
ModelsUserEmailToJSONTyped,
} from "./ModelsUserEmail";
import type { ModelsOrganization } from "./ModelsOrganization";
import {
ModelsOrganizationFromJSON,
ModelsOrganizationFromJSONTyped,
ModelsOrganizationToJSON,
ModelsOrganizationToJSONTyped,
} from "./ModelsOrganization";
/** /**
* *

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -12,8 +12,14 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import type {ModelsUser} from "./ModelsUser"; import { mapValues } from "../runtime";
import {ModelsUserFromJSON, ModelsUserToJSON,} from "./ModelsUser"; import type { ModelsUser } from "./ModelsUser";
import {
ModelsUserFromJSON,
ModelsUserFromJSONTyped,
ModelsUserToJSON,
ModelsUserToJSONTyped,
} from "./ModelsUser";
/** /**
* *

View File

@@ -12,6 +12,7 @@
* Do not edit the class manually. * Do not edit the class manually.
*/ */
import { mapValues } from "../runtime";
/** /**
* *
* @export * @export

View File

@@ -1,36 +1,76 @@
;
// src/pages/ClustersPage.tsx // src/pages/ClustersPage.tsx
import { useEffect, useMemo, useState } from "react"; import { useEffect, useMemo, useState } from "react"
import { clustersApi } from "@/api/clusters"; import { clustersApi } from "@/api/clusters"
import { dnsApi } from "@/api/dns"; import { dnsApi } from "@/api/dns"
import { loadBalancersApi } from "@/api/loadbalancers"; import { loadBalancersApi } from "@/api/loadbalancers"
import { nodePoolsApi } from "@/api/node_pools"; import { nodePoolsApi } from "@/api/node_pools"
import { serversApi } from "@/api/servers"; import { serversApi } from "@/api/servers"
import type { DtoClusterResponse, DtoDomainResponse, DtoLoadBalancerResponse, DtoNodePoolResponse, DtoRecordSetResponse, DtoServerResponse } from "@/sdk"; import type {
import { zodResolver } from "@hookform/resolvers/zod"; DtoClusterResponse,
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; DtoDomainResponse,
import { AlertCircle, CheckCircle2, CircleSlash2, FileCode2, Globe2, Loader2, MapPin, Pencil, Plus, Search, Server, Wrench } from "lucide-react"; DtoLoadBalancerResponse,
import { useForm } from "react-hook-form"; DtoNodePoolResponse,
import { toast } from "sonner"; DtoRecordSetResponse,
import { z } from "zod"; DtoServerResponse,
} from "@/sdk"
import { zodResolver } from "@hookform/resolvers/zod"
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"
import { truncateMiddle } from "@/lib/utils"; import {
import { Badge } from "@/components/ui/badge.tsx"; AlertCircle,
import { Button } from "@/components/ui/button.tsx"; CheckCircle2,
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog.tsx"; CircleSlash2,
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form.tsx"; FileCode2,
import { Input } from "@/components/ui/input.tsx"; Globe2,
import { Label } from "@/components/ui/label.tsx"; Loader2,
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select.tsx"; MapPin,
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table.tsx"; Pencil,
import { Textarea } from "@/components/ui/textarea.tsx"; Plus,
Search,
Server,
Wrench,
} from "lucide-react"
import { useForm } from "react-hook-form"
import { toast } from "sonner"
import { z } from "zod"
import { truncateMiddle } from "@/lib/utils"
import { Badge } from "@/components/ui/badge.tsx"
import { Button } from "@/components/ui/button.tsx"
import {
Dialog,
DialogContent,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog.tsx"
import {
Form,
FormControl,
FormField,
FormItem,
FormLabel,
FormMessage,
} from "@/components/ui/form.tsx"
import { Input } from "@/components/ui/input.tsx"
import { Label } from "@/components/ui/label.tsx"
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select.tsx"
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table.tsx"
import { Textarea } from "@/components/ui/textarea.tsx"
// --- Schemas --- // --- Schemas ---
@@ -38,6 +78,8 @@ const createClusterSchema = z.object({
name: z.string().trim().min(1, "Name is required").max(120, "Max 120 chars"), name: z.string().trim().min(1, "Name is required").max(120, "Max 120 chars"),
cluster_provider: z.string().trim().min(1, "Provider is required").max(120, "Max 120 chars"), cluster_provider: z.string().trim().min(1, "Provider is required").max(120, "Max 120 chars"),
region: z.string().trim().min(1, "Region is required").max(120, "Max 120 chars"), region: z.string().trim().min(1, "Region is required").max(120, "Max 120 chars"),
docker_image: z.string().trim().min(1, "Docker Image is required"),
docker_tag: z.string().trim().min(1, "Docker Tag is required"),
}) })
type CreateClusterInput = z.input<typeof createClusterSchema> type CreateClusterInput = z.input<typeof createClusterSchema>
@@ -198,6 +240,8 @@ export const ClustersPage = () => {
name: "", name: "",
cluster_provider: "", cluster_provider: "",
region: "", region: "",
docker_image: "",
docker_tag: "",
}, },
}) })
@@ -246,6 +290,8 @@ export const ClustersPage = () => {
name: cluster.name ?? "", name: cluster.name ?? "",
cluster_provider: cluster.cluster_provider ?? "", cluster_provider: cluster.cluster_provider ?? "",
region: cluster.region ?? "", region: cluster.region ?? "",
docker_image: cluster.docker_image ?? "",
docker_tag: cluster.docker_tag ?? "",
}) })
setUpdateOpen(true) setUpdateOpen(true)
} }
@@ -642,6 +688,34 @@ export const ClustersPage = () => {
)} )}
/> />
<FormField
control={createForm.control}
name="docker_image"
render={({ field }) => (
<FormItem>
<FormLabel>Docker Image</FormLabel>
<FormControl>
<Input placeholder="ghcr.io/glueops/gluekube" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={createForm.control}
name="docker_tag"
render={({ field }) => (
<FormItem>
<FormLabel>Docker Tag</FormLabel>
<FormControl>
<Input placeholder="v1.33" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<DialogFooter className="gap-2"> <DialogFooter className="gap-2">
<Button type="button" variant="outline" onClick={() => setCreateOpen(false)}> <Button type="button" variant="outline" onClick={() => setCreateOpen(false)}>
Cancel Cancel
@@ -666,6 +740,7 @@ export const ClustersPage = () => {
<TableHead>Provider</TableHead> <TableHead>Provider</TableHead>
<TableHead>Region</TableHead> <TableHead>Region</TableHead>
<TableHead>Status</TableHead> <TableHead>Status</TableHead>
<TableHead>Docker</TableHead>
<TableHead>Summary</TableHead> <TableHead>Summary</TableHead>
<TableHead className="w-[320px] text-right">Actions</TableHead> <TableHead className="w-[320px] text-right">Actions</TableHead>
</TableRow> </TableRow>
@@ -684,6 +759,7 @@ export const ClustersPage = () => {
</div> </div>
)} )}
</TableCell> </TableCell>
<TableCell>{c.docker_image + ":" + c.docker_tag}</TableCell>
<TableCell> <TableCell>
<ClusterSummary c={c} /> <ClusterSummary c={c} />
{c.id && ( {c.id && (
@@ -782,6 +858,34 @@ export const ClustersPage = () => {
)} )}
/> />
<FormField
control={updateForm.control}
name="docker_image"
render={({ field }) => (
<FormItem>
<FormLabel>Region</FormLabel>
<FormControl>
<Input placeholder="ghcr.io/glueops/gluekube" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={updateForm.control}
name="docker_tag"
render={({ field }) => (
<FormItem>
<FormLabel>Region</FormLabel>
<FormControl>
<Input placeholder="v1.33" {...field} />
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<DialogFooter className="gap-2"> <DialogFooter className="gap-2">
<Button type="button" variant="outline" onClick={() => setUpdateOpen(false)}> <Button type="button" variant="outline" onClick={() => setUpdateOpen(false)}>
Cancel Cancel

View File

@@ -2,12 +2,20 @@ import { useMemo, useState } from "react"
import { credentialsApi } from "@/api/credentials" import { credentialsApi } from "@/api/credentials"
import { zodResolver } from "@hookform/resolvers/zod" import { zodResolver } from "@hookform/resolvers/zod"
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query" import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"
import { AlertTriangle, Eye, Loader2, MoreHorizontal, Pencil, Plus, Search, Trash2 } from "lucide-react" import {
AlertTriangle,
Eye,
Loader2,
MoreHorizontal,
Pencil,
Plus,
Search,
Trash2,
} from "lucide-react"
import { Controller, useForm } from "react-hook-form" import { Controller, useForm } from "react-hook-form"
import { toast } from "sonner" import { toast } from "sonner"
import { z } from "zod" import { z } from "zod"
import { import {
AlertDialog, AlertDialog,
AlertDialogAction, AlertDialogAction,
@@ -17,19 +25,43 @@ import {
AlertDialogFooter, AlertDialogFooter,
AlertDialogHeader, AlertDialogHeader,
AlertDialogTitle, AlertDialogTitle,
AlertDialogTrigger AlertDialogTrigger,
} from "@/components/ui/alert-dialog" } from "@/components/ui/alert-dialog"
import { Badge } from "@/components/ui/badge" import { Badge } from "@/components/ui/badge"
import { Button } from "@/components/ui/button" import { Button } from "@/components/ui/button"
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog" import {
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" Dialog,
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form" DialogContent,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
import {
Form,
FormControl,
FormField,
FormItem,
FormLabel,
FormMessage,
} from "@/components/ui/form"
import { Input } from "@/components/ui/input" import { Input } from "@/components/ui/input"
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select"
import { Switch } from "@/components/ui/switch" import { Switch } from "@/components/ui/switch"
import { Textarea } from "@/components/ui/textarea" import { Textarea } from "@/components/ui/textarea"
// -------------------- Constants -------------------- // -------------------- Constants --------------------
const AWS_ALLOWED_SERVICES = ["route53", "s3", "ec2", "iam", "rds", "dynamodb"] as const const AWS_ALLOWED_SERVICES = ["route53", "s3", "ec2", "iam", "rds", "dynamodb"] as const

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