Skip to content

Commit 0f2e440

Browse files
Merge pull request #121 from ma-hill/HYPERFLEET-978
HYPERFLEET-978 - feat: (1/2) Include routes in API for PUT status updates
2 parents 1d26395 + 0f4d3c4 commit 0f2e440

3 files changed

Lines changed: 155 additions & 82 deletions

File tree

openapi/openapi.yaml

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.0
22
info:
33
title: HyperFleet API
4-
version: 1.0.9
4+
version: 1.0.10
55
contact:
66
name: HyperFleet Team
77
license:
@@ -500,6 +500,7 @@ paths:
500500
- name: nodepool_id
501501
in: path
502502
required: true
503+
description: Nodepool ID
503504
schema:
504505
type: string
505506
responses:
@@ -521,6 +522,45 @@ paths:
521522
application/json:
522523
schema:
523524
$ref: '#/components/schemas/AdapterStatusCreateRequest'
525+
security:
526+
- BearerAuth: []
527+
put:
528+
operationId: putNodePoolStatuses
529+
summary: Adapter creates or updates resource nodepool status
530+
parameters:
531+
- name: cluster_id
532+
in: path
533+
required: true
534+
description: Cluster ID
535+
schema:
536+
type: string
537+
- name: nodepool_id
538+
in: path
539+
required: true
540+
description: Nodepool ID
541+
schema:
542+
type: string
543+
responses:
544+
'201':
545+
description: The request has succeeded and a new resource has been created as a result.
546+
content:
547+
application/json:
548+
schema:
549+
$ref: '#/components/schemas/AdapterStatus'
550+
'400':
551+
description: The server could not understand the request due to invalid syntax.
552+
'404':
553+
description: The server cannot find the requested resource.
554+
'409':
555+
description: The request conflicts with the current state of the server.
556+
requestBody:
557+
required: true
558+
content:
559+
application/json:
560+
schema:
561+
$ref: '#/components/schemas/AdapterStatusCreateRequest'
562+
security:
563+
- BearerAuth: []
524564
get:
525565
operationId: getNodePoolsStatuses
526566
summary: List all adapter statuses for nodepools
@@ -595,6 +635,37 @@ paths:
595635
$ref: '#/components/schemas/AdapterStatusCreateRequest'
596636
security:
597637
- BearerAuth: []
638+
put:
639+
operationId: putClusterStatuses
640+
summary: Adapter creates or updates resource cluster status
641+
parameters:
642+
- name: cluster_id
643+
in: path
644+
required: true
645+
description: Cluster ID
646+
schema:
647+
type: string
648+
responses:
649+
'201':
650+
description: The request has succeeded and a new resource has been created as a result.
651+
content:
652+
application/json:
653+
schema:
654+
$ref: '#/components/schemas/AdapterStatus'
655+
'400':
656+
description: The server could not understand the request due to invalid syntax.
657+
'404':
658+
description: The server cannot find the requested resource.
659+
'409':
660+
description: The request conflicts with the current state of the server.
661+
requestBody:
662+
required: true
663+
content:
664+
application/json:
665+
schema:
666+
$ref: '#/components/schemas/AdapterStatusCreateRequest'
667+
security:
668+
- BearerAuth: []
598669
get:
599670
operationId: getClusterStatuses
600671
summary: List all adapter statuses for cluster

plugins/clusters/plugin.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ func init() {
6767
clusterStatusHandler := handlers.NewClusterStatusHandler(adapterStatus.Service(envServices), Service(envServices))
6868
clustersRouter.HandleFunc("/{id}/statuses", clusterStatusHandler.List).Methods(http.MethodGet)
6969
clustersRouter.HandleFunc("/{id}/statuses", clusterStatusHandler.Create).Methods(http.MethodPost)
70+
clustersRouter.HandleFunc("/{id}/statuses", clusterStatusHandler.Create).Methods(http.MethodPut)
7071

7172
// Nested resource: cluster nodepools
7273
clusterNodePoolsHandler := handlers.NewClusterNodePoolsHandler(
@@ -83,6 +84,7 @@ func init() {
8384
nodepoolStatusHandler := handlers.NewNodePoolStatusHandler(adapterStatus.Service(envServices), nodePools.Service(envServices))
8485
clustersRouter.HandleFunc("/{id}/nodepools/{nodepool_id}/statuses", nodepoolStatusHandler.List).Methods(http.MethodGet)
8586
clustersRouter.HandleFunc("/{id}/nodepools/{nodepool_id}/statuses", nodepoolStatusHandler.Create).Methods(http.MethodPost)
87+
clustersRouter.HandleFunc("/{id}/nodepools/{nodepool_id}/statuses", nodepoolStatusHandler.Create).Methods(http.MethodPut)
8688

8789
clustersRouter.Use(authMiddleware.AuthenticateAccountJWT)
8890
})

0 commit comments

Comments
 (0)