Repository navigation
v0.13.0
PidginHost PHP SDK v0.13.0
Install from Packagist:
composer require pidginhost/sdk:0.13.0
Added
- Kubernetes port forwards can be called at all now. All six routes under
/api/kubernetes/clusters/{cluster_id}/port-forwards/generated with no
request body and no response model, so this SDK could reach none of them.
They now exposeKubernetesClustersPortForwardsList,...Retrieve,
...Create,...Update,...PartialUpdateand...Destroy, with the new
K8sPortForward,PatchedK8sPortForward,PaginatedK8sPortForwardListand
ProtocolEnummodels. - Gateway route listings are typed and paginated:
PaginatedHTTPRouteList,
PaginatedTCPRouteListandPaginatedUDPRouteList. The list and detail
reads previously had no response schema at all. NodeMetricsResponsegaineddiskandmaxdisk, which the endpoint has
always returned but never documented.- The node RRD route documents the
timeframequery parameter it accepts
(hour,day,week,month,year), so a window other than the default
is now reachable.
Changed
This release is breaking. Every change below corrects a type the API was
already sending -- the previous declarations did not describe the wire, so the
affected responses could not be decoded.
KubernetesClusters{Httproutes,Tcproutes,Udproutes,PortForwards}Retrieve2
are removed. Those names existed only because the list and detail reads
collided on one operation id while the schema was incomplete. The list reads
are now...List; the detail reads are...Retrieve.KubernetesClusters{Httproutes,Tcproutes,Udproutes}Retrievechanged
meaning: it was the list read and is now the detail read. The signature
changed with it, so this surfaces at compile time rather than silently.NodeMetricsResponse.mem,.maxmem,.netinand.netoutwidened to 64-bit.
They are byte counts: a node with 2 GiB of memory reports 2147483648, one
past the 32-bit range, so these responses failed to decode on essentially
every real node.ClusterDetail.dual_stackand.talos_upgrade_availableare booleans,
.storage_quota_gbis an integer,.last_pool_used_bytesis a 64-bit
integer and.price_per_houris a number -- all five were declared as
strings while sending a bool or a number, which made the whole cluster object
undecodable.