Documentation
¶
Index ¶
- func Bool(b bool) param.Opt[bool]
- func BoolPtr(v bool) *bool
- func DefaultClientOptions() []option.RequestOption
- func File(rdr io.Reader, filename string, contentType string) file
- func Float(f float64) param.Opt[float64]
- func FloatPtr(v float64) *float64
- func Int(i int64) param.Opt[int64]
- func IntPtr(v int64) *int64
- func Opt[T comparable](v T) param.Opt[T]
- func Ptr[T any](v T) *T
- func String(s string) param.Opt[string]
- func StringPtr(v string) *string
- func Time(t time.Time) param.Opt[time.Time]
- func TimePtr(v time.Time) *time.Time
- type AcceleratorType
- type Client
- func (r *Client) Delete(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, ...) error
- func (r *Client) Get(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Patch(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Post(ctx context.Context, path string, params any, res any, ...) error
- func (r *Client) Put(ctx context.Context, path string, params any, res any, ...) error
- type CreateNodesRequestParam
- type Error
- type ExtendNodeRequestParam
- type ListResponseNode
- type ListResponseNodeData
- type ListResponseNodeDataCurrentVM
- type ListResponseNodeDataVMs
- type ListResponseNodeDataVMsData
- type Node
- type NodeCurrentVM
- type NodeExtendParams
- type NodeListParams
- type NodeNewParams
- type NodeRedeployParams
- type NodeService
- func (r *NodeService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (err error)
- func (r *NodeService) Extend(ctx context.Context, id string, body NodeExtendParams, ...) (res *Node, err error)
- func (r *NodeService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *Node, err error)
- func (r *NodeService) List(ctx context.Context, query NodeListParams, opts ...option.RequestOption) (res *ListResponseNode, err error)
- func (r *NodeService) New(ctx context.Context, body NodeNewParams, opts ...option.RequestOption) (res *ListResponseNode, err error)
- func (r *NodeService) Redeploy(ctx context.Context, id string, body NodeRedeployParams, ...) (res *Node, err error)
- func (r *NodeService) Release(ctx context.Context, id string, opts ...option.RequestOption) (res *Node, err error)
- type NodeType
- type NodeVMs
- type NodeVMsData
- type Status
- type UserDataUnion
- type UserDataUnionParam
- type VMImageGetResponse
- type VMImageGetResponseObject
- type VMImageListResponse
- type VMImageListResponseData
- type VMImageListResponseObject
- type VMImageService
- type VMLogsParams
- type VMLogsParamsOrderBy
- type VMLogsResponse
- type VMLogsResponseData
- type VMSSHParams
- type VMScriptGetResponse
- type VMScriptNewParams
- type VMScriptNewResponse
- type VMScriptService
- type VMService
- type VmsshResponse
- type VmsshResponseSSHHostKey
- type ZoneGetResponse
- type ZoneGetResponseAvailableCapacity
- type ZoneGetResponseDeliveryType
- type ZoneGetResponseInterconnectType
- type ZoneGetResponseRegion
- type ZoneListResponse
- type ZoneListResponseData
- type ZoneListResponseDataAvailableCapacity
- type ZoneService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultClientOptions ¶
func DefaultClientOptions() []option.RequestOption
DefaultClientOptions read from the environment (SFC_NODES_BEARER_TOKEN, SFC_NODES_BASE_URL). This should be used to initialize new clients.
func Opt ¶
func Opt[T comparable](v T) param.Opt[T]
Types ¶
type AcceleratorType ¶
type AcceleratorType string
const ( AcceleratorTypeH100 AcceleratorType = "H100" AcceleratorTypeH200 AcceleratorType = "H200" )
type Client ¶
type Client struct {
Options []option.RequestOption
VMs VMService
Nodes NodeService
Zones ZoneService
}
Client creates a struct with services and top level methods that help with interacting with the sfc-nodes API. You should not instantiate this client directly, and instead use the NewClient method instead.
func NewClient ¶
func NewClient(opts ...option.RequestOption) (r Client)
NewClient generates a new client with the default option read from the environment (SFC_NODES_BEARER_TOKEN, SFC_NODES_BASE_URL). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.
func (*Client) Delete ¶
func (r *Client) Delete(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Execute ¶
func (r *Client) Execute(ctx context.Context, method string, path string, params any, res any, opts ...option.RequestOption) error
Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.
If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.
The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned url.Values will be used as query strings to the url.
If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.
Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.
The response body will be deserialized into the res variable, depending on its type:
- A pointer to a *http.Response is populated by the raw response.
- A pointer to a byte array will be populated with the contents of the request body.
- A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
- A nil value will not read the response body.
For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.
func (*Client) Get ¶
func (r *Client) Get(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Patch ¶
func (r *Client) Patch(ctx context.Context, path string, params any, res any, opts ...option.RequestOption) error
Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
type CreateNodesRequestParam ¶
type CreateNodesRequestParam struct {
DesiredCount int64 `json:"desired_count" api:"required"`
// Max price per hour for a node in cents
MaxPricePerNodeHour int64 `json:"max_price_per_node_hour" api:"required"`
// End time as Unix timestamp in seconds If provided, end time must be aligned to
// the hour If not provided, the node will be created as an autoreserved node
EndAt param.Opt[int64] `json:"end_at,omitzero"`
// Allow auto reserved nodes to be created in any zone that meets the requirements
AnyZone param.Opt[bool] `json:"any_zone,omitzero"`
// User script to be executed during the VM's boot process Data should be base64
// encoded
CloudInitUserData param.Opt[string] `json:"cloud_init_user_data,omitzero" format:"byte"`
// (Optional) If set, enables forwarding to the VM on port 443.
Forward443 param.Opt[bool] `json:"forward_443,omitzero"`
// Custom image ID to use for the VM instances
ImageID param.Opt[string] `json:"image_id,omitzero"`
// Start time as Unix timestamp in seconds Optional for reserved nodes. If not
// provided, defaults to now
StartAt param.Opt[int64] `json:"start_at,omitzero"`
// Zone to create the nodes in. Required for auto reserved nodes if any_zone is
// false.
Zone param.Opt[string] `json:"zone,omitzero"`
// Custom node names Names cannot begin with 'vm*' or 'n*' as this is reserved for
// system-generated IDs Names cannot be numeric strings Names cannot exceed 128
// characters
Names []string `json:"names,omitzero"`
// Any of "autoreserved", "reserved".
NodeType NodeType `json:"node_type,omitzero"`
// contains filtered or unexported fields
}
The properties DesiredCount, MaxPricePerNodeHour are required.
func (CreateNodesRequestParam) MarshalJSON ¶
func (r CreateNodesRequestParam) MarshalJSON() (data []byte, err error)
func (*CreateNodesRequestParam) UnmarshalJSON ¶
func (r *CreateNodesRequestParam) UnmarshalJSON(data []byte) error
type ExtendNodeRequestParam ¶
type ExtendNodeRequestParam struct {
// Duration in seconds to extend the node Must be at least 1 hour (3600 seconds)
// and a multiple of 1 hour.
DurationSeconds int64 `json:"duration_seconds" api:"required"`
// Max price per hour for the extension in cents
MaxPricePerNodeHour int64 `json:"max_price_per_node_hour" api:"required"`
// contains filtered or unexported fields
}
The properties DurationSeconds, MaxPricePerNodeHour are required.
func (ExtendNodeRequestParam) MarshalJSON ¶
func (r ExtendNodeRequestParam) MarshalJSON() (data []byte, err error)
func (*ExtendNodeRequestParam) UnmarshalJSON ¶
func (r *ExtendNodeRequestParam) UnmarshalJSON(data []byte) error
type ListResponseNode ¶
type ListResponseNode struct {
Data []ListResponseNodeData `json:"data" api:"required"`
Object string `json:"object" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Object respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ListResponseNode) RawJSON ¶
func (r ListResponseNode) RawJSON() string
Returns the unmodified JSON received from the API
func (*ListResponseNode) UnmarshalJSON ¶
func (r *ListResponseNode) UnmarshalJSON(data []byte) error
type ListResponseNodeData ¶
type ListResponseNodeData struct {
ID string `json:"id" api:"required"`
// Any of "H100", "H200".
GPUType AcceleratorType `json:"gpu_type" api:"required"`
Name string `json:"name" api:"required"`
// Any of "autoreserved", "reserved".
NodeType NodeType `json:"node_type" api:"required"`
Object string `json:"object" api:"required"`
Owner string `json:"owner" api:"required"`
// Node Status
//
// Any of "pending", "awaitingcapacity", "running", "released", "terminated",
// "deleted", "failed", "unknown".
Status Status `json:"status" api:"required"`
// Creation time as Unix timestamp in seconds
CreatedAt int64 `json:"created_at" api:"nullable"`
CurrentVM ListResponseNodeDataCurrentVM `json:"current_vm" api:"nullable"`
// Deletion time as Unix timestamp in seconds
DeletedAt int64 `json:"deleted_at" api:"nullable"`
// End time as Unix timestamp in seconds
EndAt int64 `json:"end_at" api:"nullable"`
// Max price per hour you're willing to pay for a node in cents
MaxPricePerNodeHour int64 `json:"max_price_per_node_hour" api:"nullable"`
ProcurementID string `json:"procurement_id" api:"nullable"`
// Start time as Unix timestamp in seconds
StartAt int64 `json:"start_at" api:"nullable"`
// Last updated time as Unix timestamp in seconds
UpdatedAt int64 `json:"updated_at" api:"nullable"`
VMs ListResponseNodeDataVMs `json:"vms" api:"nullable"`
Zone string `json:"zone" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
GPUType respjson.Field
Name respjson.Field
NodeType respjson.Field
Object respjson.Field
Owner respjson.Field
Status respjson.Field
CreatedAt respjson.Field
CurrentVM respjson.Field
DeletedAt respjson.Field
EndAt respjson.Field
MaxPricePerNodeHour respjson.Field
ProcurementID respjson.Field
StartAt respjson.Field
UpdatedAt respjson.Field
VMs respjson.Field
Zone respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ListResponseNodeData) RawJSON ¶
func (r ListResponseNodeData) RawJSON() string
Returns the unmodified JSON received from the API
func (*ListResponseNodeData) UnmarshalJSON ¶
func (r *ListResponseNodeData) UnmarshalJSON(data []byte) error
type ListResponseNodeDataCurrentVM ¶
type ListResponseNodeDataCurrentVM struct {
ID string `json:"id" api:"required"`
CreatedAt int64 `json:"created_at" api:"required"`
EndAt int64 `json:"end_at" api:"required"`
Object string `json:"object" api:"required"`
StartAt int64 `json:"start_at" api:"required"`
// Any of "Pending", "Running", "Destroyed", "NodeFailure", "Unspecified".
Status string `json:"status" api:"required"`
UpdatedAt int64 `json:"updated_at" api:"required"`
Zone string `json:"zone" api:"required"`
ImageID string `json:"image_id" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
EndAt respjson.Field
Object respjson.Field
StartAt respjson.Field
Status respjson.Field
UpdatedAt respjson.Field
Zone respjson.Field
ImageID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ListResponseNodeDataCurrentVM) RawJSON ¶
func (r ListResponseNodeDataCurrentVM) RawJSON() string
Returns the unmodified JSON received from the API
func (*ListResponseNodeDataCurrentVM) UnmarshalJSON ¶
func (r *ListResponseNodeDataCurrentVM) UnmarshalJSON(data []byte) error
type ListResponseNodeDataVMs ¶
type ListResponseNodeDataVMs struct {
Data []ListResponseNodeDataVMsData `json:"data" api:"required"`
Object string `json:"object" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Object respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ListResponseNodeDataVMs) RawJSON ¶
func (r ListResponseNodeDataVMs) RawJSON() string
Returns the unmodified JSON received from the API
func (*ListResponseNodeDataVMs) UnmarshalJSON ¶
func (r *ListResponseNodeDataVMs) UnmarshalJSON(data []byte) error
type ListResponseNodeDataVMsData ¶
type ListResponseNodeDataVMsData struct {
ID string `json:"id" api:"required"`
CreatedAt int64 `json:"created_at" api:"required"`
EndAt int64 `json:"end_at" api:"required"`
Object string `json:"object" api:"required"`
StartAt int64 `json:"start_at" api:"required"`
// Any of "Pending", "Running", "Destroyed", "NodeFailure", "Unspecified".
Status string `json:"status" api:"required"`
UpdatedAt int64 `json:"updated_at" api:"required"`
Zone string `json:"zone" api:"required"`
ImageID string `json:"image_id" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
EndAt respjson.Field
Object respjson.Field
StartAt respjson.Field
Status respjson.Field
UpdatedAt respjson.Field
Zone respjson.Field
ImageID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ListResponseNodeDataVMsData) RawJSON ¶
func (r ListResponseNodeDataVMsData) RawJSON() string
Returns the unmodified JSON received from the API
func (*ListResponseNodeDataVMsData) UnmarshalJSON ¶
func (r *ListResponseNodeDataVMsData) UnmarshalJSON(data []byte) error
type Node ¶
type Node struct {
ID string `json:"id" api:"required"`
// Any of "H100", "H200".
GPUType AcceleratorType `json:"gpu_type" api:"required"`
Name string `json:"name" api:"required"`
// Any of "autoreserved", "reserved".
NodeType NodeType `json:"node_type" api:"required"`
Object string `json:"object" api:"required"`
Owner string `json:"owner" api:"required"`
// Node Status
//
// Any of "pending", "awaitingcapacity", "running", "released", "terminated",
// "deleted", "failed", "unknown".
Status Status `json:"status" api:"required"`
// Creation time as Unix timestamp in seconds
CreatedAt int64 `json:"created_at" api:"nullable"`
CurrentVM NodeCurrentVM `json:"current_vm" api:"nullable"`
// Deletion time as Unix timestamp in seconds
DeletedAt int64 `json:"deleted_at" api:"nullable"`
// End time as Unix timestamp in seconds
EndAt int64 `json:"end_at" api:"nullable"`
// Max price per hour you're willing to pay for a node in cents
MaxPricePerNodeHour int64 `json:"max_price_per_node_hour" api:"nullable"`
ProcurementID string `json:"procurement_id" api:"nullable"`
// Start time as Unix timestamp in seconds
StartAt int64 `json:"start_at" api:"nullable"`
// Last updated time as Unix timestamp in seconds
UpdatedAt int64 `json:"updated_at" api:"nullable"`
VMs NodeVMs `json:"vms" api:"nullable"`
Zone string `json:"zone" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
GPUType respjson.Field
Name respjson.Field
NodeType respjson.Field
Object respjson.Field
Owner respjson.Field
Status respjson.Field
CreatedAt respjson.Field
CurrentVM respjson.Field
DeletedAt respjson.Field
EndAt respjson.Field
MaxPricePerNodeHour respjson.Field
ProcurementID respjson.Field
StartAt respjson.Field
UpdatedAt respjson.Field
VMs respjson.Field
Zone respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*Node) UnmarshalJSON ¶
type NodeCurrentVM ¶
type NodeCurrentVM struct {
ID string `json:"id" api:"required"`
CreatedAt int64 `json:"created_at" api:"required"`
EndAt int64 `json:"end_at" api:"required"`
Object string `json:"object" api:"required"`
StartAt int64 `json:"start_at" api:"required"`
// Any of "Pending", "Running", "Destroyed", "NodeFailure", "Unspecified".
Status string `json:"status" api:"required"`
UpdatedAt int64 `json:"updated_at" api:"required"`
Zone string `json:"zone" api:"required"`
ImageID string `json:"image_id" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
EndAt respjson.Field
Object respjson.Field
StartAt respjson.Field
Status respjson.Field
UpdatedAt respjson.Field
Zone respjson.Field
ImageID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (NodeCurrentVM) RawJSON ¶
func (r NodeCurrentVM) RawJSON() string
Returns the unmodified JSON received from the API
func (*NodeCurrentVM) UnmarshalJSON ¶
func (r *NodeCurrentVM) UnmarshalJSON(data []byte) error
type NodeExtendParams ¶
type NodeExtendParams struct {
ExtendNodeRequest ExtendNodeRequestParam
// contains filtered or unexported fields
}
func (NodeExtendParams) MarshalJSON ¶
func (r NodeExtendParams) MarshalJSON() (data []byte, err error)
func (*NodeExtendParams) UnmarshalJSON ¶
func (r *NodeExtendParams) UnmarshalJSON(data []byte) error
type NodeListParams ¶
type NodeListParams struct {
// Filter nodes by node_id Use ?id=n_b1dc52505c6db142&id=n_b1dc52505c6db133 to
// specify multiple IDs. Cannot combine with name or node_type
ID []string `query:"id,omitzero" json:"-"`
// Filter nodes by their names Use ?name=val1&name=val2 to specify multiple names.
// Cannot combine with id or node_type
Name []string `query:"name,omitzero" json:"-"`
// Filter nodes by their type Cannot combine with id or name
//
// Any of "autoreserved", "reserved".
Type NodeType `query:"type,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (NodeListParams) URLQuery ¶
func (r NodeListParams) URLQuery() (v url.Values, err error)
URLQuery serializes NodeListParams's query parameters as `url.Values`.
type NodeNewParams ¶
type NodeNewParams struct {
CreateNodesRequest CreateNodesRequestParam
// contains filtered or unexported fields
}
func (NodeNewParams) MarshalJSON ¶
func (r NodeNewParams) MarshalJSON() (data []byte, err error)
func (*NodeNewParams) UnmarshalJSON ¶
func (r *NodeNewParams) UnmarshalJSON(data []byte) error
type NodeRedeployParams ¶
type NodeRedeployParams struct {
// Update the cloud init user data for VMs running on this node Data should be
// base64 encoded
CloudInitUserData param.Opt[string] `json:"cloud_init_user_data,omitzero" format:"byte"`
// Redeploy node with this VM image ID
ImageID param.Opt[string] `json:"image_id,omitzero"`
// If false, then the new VM will inherit any configuration (like image_id,
// cloud_init_user_data) that is left empty in this request from the current VM.
//
// If true, then any configuration left empty will be set as empty in the new VM.
// E.g if cloud_init_user_data is left unset and override_empty is true, then the
// new VM will not have any cloud init user data. override_empty defaults to false.
OverrideEmpty param.Opt[bool] `json:"override_empty,omitzero"`
// contains filtered or unexported fields
}
func (NodeRedeployParams) MarshalJSON ¶
func (r NodeRedeployParams) MarshalJSON() (data []byte, err error)
func (*NodeRedeployParams) UnmarshalJSON ¶
func (r *NodeRedeployParams) UnmarshalJSON(data []byte) error
type NodeService ¶
type NodeService struct {
Options []option.RequestOption
}
NodeService contains methods and other services that help with interacting with the sfc-nodes API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewNodeService method instead.
func NewNodeService ¶
func NewNodeService(opts ...option.RequestOption) (r NodeService)
NewNodeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*NodeService) Delete ¶
func (r *NodeService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (err error)
Delete a node by id. The node cannot be deleted if it has active or pending VMs.
func (*NodeService) Extend ¶
func (r *NodeService) Extend(ctx context.Context, id string, body NodeExtendParams, opts ...option.RequestOption) (res *Node, err error)
Purchase additional time to extend the end time of a reserved VM node
func (*NodeService) Get ¶
func (r *NodeService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *Node, err error)
Retrieve details of a specific node by its ID or name
func (*NodeService) List ¶
func (r *NodeService) List(ctx context.Context, query NodeListParams, opts ...option.RequestOption) (res *ListResponseNode, err error)
List all nodes for the authenticated account
func (*NodeService) New ¶
func (r *NodeService) New(ctx context.Context, body NodeNewParams, opts ...option.RequestOption) (res *ListResponseNode, err error)
Create VM nodes
func (*NodeService) Redeploy ¶
func (r *NodeService) Redeploy(ctx context.Context, id string, body NodeRedeployParams, opts ...option.RequestOption) (res *Node, err error)
Redeploy a node by replacing its current VM with a new one. Optionally update the VM image and cloud init user data.
func (*NodeService) Release ¶
func (r *NodeService) Release(ctx context.Context, id string, opts ...option.RequestOption) (res *Node, err error)
Release an auto reserved VM node from its procurement, reducing the procurement's desired quantity by 1
type NodeVMs ¶
type NodeVMs struct {
Data []NodeVMsData `json:"data" api:"required"`
Object string `json:"object" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Object respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (*NodeVMs) UnmarshalJSON ¶
type NodeVMsData ¶
type NodeVMsData struct {
ID string `json:"id" api:"required"`
CreatedAt int64 `json:"created_at" api:"required"`
EndAt int64 `json:"end_at" api:"required"`
Object string `json:"object" api:"required"`
StartAt int64 `json:"start_at" api:"required"`
// Any of "Pending", "Running", "Destroyed", "NodeFailure", "Unspecified".
Status string `json:"status" api:"required"`
UpdatedAt int64 `json:"updated_at" api:"required"`
Zone string `json:"zone" api:"required"`
ImageID string `json:"image_id" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
ID respjson.Field
CreatedAt respjson.Field
EndAt respjson.Field
Object respjson.Field
StartAt respjson.Field
Status respjson.Field
UpdatedAt respjson.Field
Zone respjson.Field
ImageID respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (NodeVMsData) RawJSON ¶
func (r NodeVMsData) RawJSON() string
Returns the unmodified JSON received from the API
func (*NodeVMsData) UnmarshalJSON ¶
func (r *NodeVMsData) UnmarshalJSON(data []byte) error
type UserDataUnion ¶
type UserDataUnion struct {
// This field will be present if the value is a [string] instead of an object.
OfString string `json:",inline"`
// This field will be present if the value is a [[]int64] instead of an object.
OfIntArray []int64 `json:",inline"`
JSON struct {
OfString respjson.Field
OfIntArray respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
UserDataUnion contains all possible properties and values from [string], [[]int64].
Use the methods beginning with 'As' to cast the union to one of its variants.
If the underlying value is not a json object, one of the following properties will be valid: OfString OfIntArray]
func (UserDataUnion) AsIntArray ¶
func (u UserDataUnion) AsIntArray() (v []int64)
func (UserDataUnion) AsString ¶
func (u UserDataUnion) AsString() (v string)
func (UserDataUnion) RawJSON ¶
func (u UserDataUnion) RawJSON() string
Returns the unmodified JSON received from the API
func (UserDataUnion) ToParam ¶
func (r UserDataUnion) ToParam() UserDataUnionParam
ToParam converts this UserDataUnion to a UserDataUnionParam.
Warning: the fields of the param type will not be present. ToParam should only be used at the last possible moment before sending a request. Test for this with UserDataUnionParam.Overrides()
func (*UserDataUnion) UnmarshalJSON ¶
func (r *UserDataUnion) UnmarshalJSON(data []byte) error
type UserDataUnionParam ¶
type UserDataUnionParam struct {
OfString param.Opt[string] `json:",omitzero,inline"`
OfIntArray []int64 `json:",omitzero,inline"`
// contains filtered or unexported fields
}
Only one field can be non-zero.
Use param.IsOmitted to confirm if a field is set.
func (UserDataUnionParam) MarshalJSON ¶
func (u UserDataUnionParam) MarshalJSON() ([]byte, error)
func (*UserDataUnionParam) UnmarshalJSON ¶
func (u *UserDataUnionParam) UnmarshalJSON(data []byte) error
type VMImageGetResponse ¶
type VMImageGetResponse struct {
// The presigned URL that can be used to download the image
DownloadURL string `json:"download_url" api:"required"`
// Timestamp when the presigned URL expires (RFC 3339 format)
ExpiresAt string `json:"expires_at" api:"required"`
// The image ID
ImageID string `json:"image_id" api:"required"`
// Human readable name of the image. Must be unique per account.
Name string `json:"name" api:"required"`
// Any of "image".
Object VMImageGetResponseObject `json:"object" api:"required"`
// Size of the image file in bytes
ObjectSize int64 `json:"object_size" api:"required"`
// SHA256 hash of the image file for integrity verification
Sha256Hash string `json:"sha256_hash" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
DownloadURL respjson.Field
ExpiresAt respjson.Field
ImageID respjson.Field
Name respjson.Field
Object respjson.Field
ObjectSize respjson.Field
Sha256Hash respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
Response body for image download presigned URL generation
func (VMImageGetResponse) RawJSON ¶
func (r VMImageGetResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMImageGetResponse) UnmarshalJSON ¶
func (r *VMImageGetResponse) UnmarshalJSON(data []byte) error
type VMImageGetResponseObject ¶
type VMImageGetResponseObject string
const (
VMImageGetResponseObjectImage VMImageGetResponseObject = "image"
)
type VMImageListResponse ¶
type VMImageListResponse struct {
Data []VMImageListResponseData `json:"data" api:"required"`
HasMore bool `json:"has_more" api:"required"`
// Any of "list".
Object VMImageListResponseObject `json:"object" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
HasMore respjson.Field
Object respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
Response body for listing images
func (VMImageListResponse) RawJSON ¶
func (r VMImageListResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMImageListResponse) UnmarshalJSON ¶
func (r *VMImageListResponse) UnmarshalJSON(data []byte) error
type VMImageListResponseData ¶
type VMImageListResponseData struct {
// Creation timestamp as Unix timestamp in seconds
CreatedAt int64 `json:"created_at" api:"required"`
// The image ID
ImageID string `json:"image_id" api:"required"`
// Client given name of the image. Must be unique per account.
Name string `json:"name" api:"required"`
// Any of "image".
Object string `json:"object" api:"required"`
// Upload status of the image
UploadStatus string `json:"upload_status" api:"required"`
// SHA256 hash of the image file for integrity verification
Sha256Hash string `json:"sha256_hash" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
CreatedAt respjson.Field
ImageID respjson.Field
Name respjson.Field
Object respjson.Field
UploadStatus respjson.Field
Sha256Hash respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
Response body for individual image info (used in lists)
func (VMImageListResponseData) RawJSON ¶
func (r VMImageListResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMImageListResponseData) UnmarshalJSON ¶
func (r *VMImageListResponseData) UnmarshalJSON(data []byte) error
type VMImageListResponseObject ¶
type VMImageListResponseObject string
const (
VMImageListResponseObjectList VMImageListResponseObject = "list"
)
type VMImageService ¶
type VMImageService struct {
Options []option.RequestOption
}
VMImageService contains methods and other services that help with interacting with the sfc-nodes API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVMImageService method instead.
func NewVMImageService ¶
func NewVMImageService(opts ...option.RequestOption) (r VMImageService)
NewVMImageService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VMImageService) Get ¶
func (r *VMImageService) Get(ctx context.Context, imageID string, opts ...option.RequestOption) (res *VMImageGetResponse, err error)
Get the download URL for a VM image by ID
func (*VMImageService) List ¶
func (r *VMImageService) List(ctx context.Context, opts ...option.RequestOption) (res *VMImageListResponse, err error)
List all VM Images for the authenticated account
type VMLogsParams ¶
type VMLogsParams struct {
InstanceID string `query:"instance_id" api:"required" json:"-"`
// Any of "seqnum_asc", "seqnum_desc".
OrderBy VMLogsParamsOrderBy `query:"order_by,omitzero" api:"required" json:"-"`
BeforeRealtimeTimestamp param.Opt[string] `query:"before_realtime_timestamp,omitzero" json:"-"`
BeforeSeqnum param.Opt[int64] `query:"before_seqnum,omitzero" json:"-"`
Limit param.Opt[int64] `query:"limit,omitzero" json:"-"`
SinceRealtimeTimestamp param.Opt[string] `query:"since_realtime_timestamp,omitzero" json:"-"`
SinceSeqnum param.Opt[int64] `query:"since_seqnum,omitzero" json:"-"`
// contains filtered or unexported fields
}
func (VMLogsParams) URLQuery ¶
func (r VMLogsParams) URLQuery() (v url.Values, err error)
URLQuery serializes VMLogsParams's query parameters as `url.Values`.
type VMLogsParamsOrderBy ¶
type VMLogsParamsOrderBy string
const ( VMLogsParamsOrderBySeqnumAsc VMLogsParamsOrderBy = "seqnum_asc" VMLogsParamsOrderBySeqnumDesc VMLogsParamsOrderBy = "seqnum_desc" )
type VMLogsResponse ¶
type VMLogsResponse struct {
Data []VMLogsResponseData `json:"data" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VMLogsResponse) RawJSON ¶
func (r VMLogsResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMLogsResponse) UnmarshalJSON ¶
func (r *VMLogsResponse) UnmarshalJSON(data []byte) error
type VMLogsResponseData ¶
type VMLogsResponseData struct {
Data []int64 `json:"data" api:"required"`
InstanceID string `json:"instance_id" api:"required"`
MonotonicTimestampNanoSec int64 `json:"monotonic_timestamp_nano_sec" api:"required"`
MonotonicTimestampSec int64 `json:"monotonic_timestamp_sec" api:"required"`
// In RFC 3339 format
RealtimeTimestamp string `json:"realtime_timestamp" api:"required"`
Seqnum int64 `json:"seqnum" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
InstanceID respjson.Field
MonotonicTimestampNanoSec respjson.Field
MonotonicTimestampSec respjson.Field
RealtimeTimestamp respjson.Field
Seqnum respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VMLogsResponseData) RawJSON ¶
func (r VMLogsResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMLogsResponseData) UnmarshalJSON ¶
func (r *VMLogsResponseData) UnmarshalJSON(data []byte) error
type VMSSHParams ¶
type VMSSHParams struct {
VMID string `query:"vm_id" api:"required" json:"-"`
// contains filtered or unexported fields
}
func (VMSSHParams) URLQuery ¶
func (r VMSSHParams) URLQuery() (v url.Values, err error)
URLQuery serializes VMSSHParams's query parameters as `url.Values`.
type VMScriptGetResponse ¶
type VMScriptGetResponse struct {
// if the script is valid utf8 then the response may be in either string, or byte
// form and the client must handle both
Script UserDataUnion `json:"script" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Script respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VMScriptGetResponse) RawJSON ¶
func (r VMScriptGetResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMScriptGetResponse) UnmarshalJSON ¶
func (r *VMScriptGetResponse) UnmarshalJSON(data []byte) error
type VMScriptNewParams ¶
type VMScriptNewParams struct {
// if the script is valid utf8 then the response may be in either string, or byte
// form and the client must handle both
Script UserDataUnionParam `json:"script,omitzero" api:"required"`
// contains filtered or unexported fields
}
func (VMScriptNewParams) MarshalJSON ¶
func (r VMScriptNewParams) MarshalJSON() (data []byte, err error)
func (*VMScriptNewParams) UnmarshalJSON ¶
func (r *VMScriptNewParams) UnmarshalJSON(data []byte) error
type VMScriptNewResponse ¶
type VMScriptNewResponse struct {
// if the script is valid utf8 then the response may be in either string, or byte
// form and the client must handle both
Script UserDataUnion `json:"script" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Script respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VMScriptNewResponse) RawJSON ¶
func (r VMScriptNewResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VMScriptNewResponse) UnmarshalJSON ¶
func (r *VMScriptNewResponse) UnmarshalJSON(data []byte) error
type VMScriptService ¶
type VMScriptService struct {
Options []option.RequestOption
}
VMScriptService contains methods and other services that help with interacting with the sfc-nodes API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVMScriptService method instead.
func NewVMScriptService ¶
func NewVMScriptService(opts ...option.RequestOption) (r VMScriptService)
NewVMScriptService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VMScriptService) Get ¶
func (r *VMScriptService) Get(ctx context.Context, opts ...option.RequestOption) (res *VMScriptGetResponse, err error)
func (*VMScriptService) New ¶
func (r *VMScriptService) New(ctx context.Context, body VMScriptNewParams, opts ...option.RequestOption) (res *VMScriptNewResponse, err error)
type VMService ¶
type VMService struct {
Options []option.RequestOption
Script VMScriptService
Images VMImageService
}
VMService contains methods and other services that help with interacting with the sfc-nodes API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVMService method instead.
func NewVMService ¶
func NewVMService(opts ...option.RequestOption) (r VMService)
NewVMService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VMService) Logs ¶
func (r *VMService) Logs(ctx context.Context, query VMLogsParams, opts ...option.RequestOption) (res *VMLogsResponse, err error)
func (*VMService) SSH ¶
func (r *VMService) SSH(ctx context.Context, query VMSSHParams, opts ...option.RequestOption) (res *VmsshResponse, err error)
type VmsshResponse ¶
type VmsshResponse struct {
SSHHostname string `json:"ssh_hostname" api:"required"`
SSHPort int64 `json:"ssh_port" api:"required"`
// Unix timestamp.
LastAttemptedKeyUpdate int64 `json:"last_attempted_key_update" api:"nullable"`
// Unix timestamp.
LastSuccessfulKeyUpdate int64 `json:"last_successful_key_update" api:"nullable"`
SSHHostKeys []VmsshResponseSSHHostKey `json:"ssh_host_keys" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
SSHHostname respjson.Field
SSHPort respjson.Field
LastAttemptedKeyUpdate respjson.Field
LastSuccessfulKeyUpdate respjson.Field
SSHHostKeys respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VmsshResponse) RawJSON ¶
func (r VmsshResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*VmsshResponse) UnmarshalJSON ¶
func (r *VmsshResponse) UnmarshalJSON(data []byte) error
type VmsshResponseSSHHostKey ¶
type VmsshResponseSSHHostKey struct {
Base64EncodedKey string `json:"base64_encoded_key" api:"required" format:"byte"`
KeyType string `json:"key_type" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Base64EncodedKey respjson.Field
KeyType respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (VmsshResponseSSHHostKey) RawJSON ¶
func (r VmsshResponseSSHHostKey) RawJSON() string
Returns the unmodified JSON received from the API
func (*VmsshResponseSSHHostKey) UnmarshalJSON ¶
func (r *VmsshResponseSSHHostKey) UnmarshalJSON(data []byte) error
type ZoneGetResponse ¶
type ZoneGetResponse struct {
// The available capacity on this cluster, in the shape of consecutive
// "availability rectangles".
AvailableCapacity []ZoneGetResponseAvailableCapacity `json:"available_capacity" api:"required"`
// Any of "K8s", "VM".
DeliveryType ZoneGetResponseDeliveryType `json:"delivery_type" api:"required"`
// Any of "H100", "H200".
HardwareType AcceleratorType `json:"hardware_type" api:"required"`
// Any of "Infiniband", "None".
InterconnectType ZoneGetResponseInterconnectType `json:"interconnect_type" api:"required"`
Name string `json:"name" api:"required"`
Object string `json:"object" api:"required"`
// Any of "NorthAmerica", "AsiaPacific", "EuropeMiddleEastAfrica".
Region ZoneGetResponseRegion `json:"region" api:"required"`
// User-facing zone name (e.g., "Hayes Valley", "Land's End")
DisplayName string `json:"display_name" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvailableCapacity respjson.Field
DeliveryType respjson.Field
HardwareType respjson.Field
InterconnectType respjson.Field
Name respjson.Field
Object respjson.Field
Region respjson.Field
DisplayName respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ZoneGetResponse) RawJSON ¶
func (r ZoneGetResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ZoneGetResponse) UnmarshalJSON ¶
func (r *ZoneGetResponse) UnmarshalJSON(data []byte) error
type ZoneGetResponseAvailableCapacity ¶
type ZoneGetResponseAvailableCapacity struct {
// Unix timestamp.
EndTimestamp int64 `json:"end_timestamp" api:"required"`
// The number of nodes available during this time period
Quantity int64 `json:"quantity" api:"required"`
// Unix timestamp.
StartTimestamp int64 `json:"start_timestamp" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EndTimestamp respjson.Field
Quantity respjson.Field
StartTimestamp respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ZoneGetResponseAvailableCapacity) RawJSON ¶
func (r ZoneGetResponseAvailableCapacity) RawJSON() string
Returns the unmodified JSON received from the API
func (*ZoneGetResponseAvailableCapacity) UnmarshalJSON ¶
func (r *ZoneGetResponseAvailableCapacity) UnmarshalJSON(data []byte) error
type ZoneGetResponseDeliveryType ¶
type ZoneGetResponseDeliveryType string
const ( ZoneGetResponseDeliveryTypeK8s ZoneGetResponseDeliveryType = "K8s" ZoneGetResponseDeliveryTypeVM ZoneGetResponseDeliveryType = "VM" )
type ZoneGetResponseInterconnectType ¶
type ZoneGetResponseInterconnectType string
const ( ZoneGetResponseInterconnectTypeInfiniband ZoneGetResponseInterconnectType = "Infiniband" ZoneGetResponseInterconnectTypeNone ZoneGetResponseInterconnectType = "None" )
type ZoneGetResponseRegion ¶
type ZoneGetResponseRegion string
const ( ZoneGetResponseRegionNorthAmerica ZoneGetResponseRegion = "NorthAmerica" ZoneGetResponseRegionAsiaPacific ZoneGetResponseRegion = "AsiaPacific" ZoneGetResponseRegionEuropeMiddleEastAfrica ZoneGetResponseRegion = "EuropeMiddleEastAfrica" )
type ZoneListResponse ¶
type ZoneListResponse struct {
Data []ZoneListResponseData `json:"data" api:"required"`
Object string `json:"object" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Data respjson.Field
Object respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ZoneListResponse) RawJSON ¶
func (r ZoneListResponse) RawJSON() string
Returns the unmodified JSON received from the API
func (*ZoneListResponse) UnmarshalJSON ¶
func (r *ZoneListResponse) UnmarshalJSON(data []byte) error
type ZoneListResponseData ¶
type ZoneListResponseData struct {
// The available capacity on this cluster, in the shape of consecutive
// "availability rectangles".
AvailableCapacity []ZoneListResponseDataAvailableCapacity `json:"available_capacity" api:"required"`
// Any of "K8s", "VM".
DeliveryType string `json:"delivery_type" api:"required"`
// Any of "H100", "H200".
HardwareType AcceleratorType `json:"hardware_type" api:"required"`
// Any of "Infiniband", "None".
InterconnectType string `json:"interconnect_type" api:"required"`
Name string `json:"name" api:"required"`
Object string `json:"object" api:"required"`
// Any of "NorthAmerica", "AsiaPacific", "EuropeMiddleEastAfrica".
Region string `json:"region" api:"required"`
// User-facing zone name (e.g., "Hayes Valley", "Land's End")
DisplayName string `json:"display_name" api:"nullable"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
AvailableCapacity respjson.Field
DeliveryType respjson.Field
HardwareType respjson.Field
InterconnectType respjson.Field
Name respjson.Field
Object respjson.Field
Region respjson.Field
DisplayName respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ZoneListResponseData) RawJSON ¶
func (r ZoneListResponseData) RawJSON() string
Returns the unmodified JSON received from the API
func (*ZoneListResponseData) UnmarshalJSON ¶
func (r *ZoneListResponseData) UnmarshalJSON(data []byte) error
type ZoneListResponseDataAvailableCapacity ¶
type ZoneListResponseDataAvailableCapacity struct {
// Unix timestamp.
EndTimestamp int64 `json:"end_timestamp" api:"required"`
// The number of nodes available during this time period
Quantity int64 `json:"quantity" api:"required"`
// Unix timestamp.
StartTimestamp int64 `json:"start_timestamp" api:"required"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
EndTimestamp respjson.Field
Quantity respjson.Field
StartTimestamp respjson.Field
ExtraFields map[string]respjson.Field
// contains filtered or unexported fields
} `json:"-"`
}
func (ZoneListResponseDataAvailableCapacity) RawJSON ¶
func (r ZoneListResponseDataAvailableCapacity) RawJSON() string
Returns the unmodified JSON received from the API
func (*ZoneListResponseDataAvailableCapacity) UnmarshalJSON ¶
func (r *ZoneListResponseDataAvailableCapacity) UnmarshalJSON(data []byte) error
type ZoneService ¶
type ZoneService struct {
Options []option.RequestOption
}
ZoneService contains methods and other services that help with interacting with the sfc-nodes API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewZoneService method instead.
func NewZoneService ¶
func NewZoneService(opts ...option.RequestOption) (r ZoneService)
NewZoneService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*ZoneService) Get ¶
func (r *ZoneService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *ZoneGetResponse, err error)
Get detailed information about a specific zone
func (*ZoneService) List ¶
func (r *ZoneService) List(ctx context.Context, opts ...option.RequestOption) (res *ZoneListResponse, err error)
List all available zones
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
encoding/json
Package json implements encoding and decoding of JSON as defined in RFC 7159.
|
Package json implements encoding and decoding of JSON as defined in RFC 7159. |
|
encoding/json/shims
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package.
|
This package provides shims over Go 1.2{2,3} APIs which are missing from Go 1.22, and used by the Go 1.24 encoding/json package. |
|
packages
|
|
|
shared
|
|