The SaladCloud REST API. Please refer to the SaladCloud API Documentation for more details.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 0.9.0-alpha.7
- Package version: 1.0.0
- Generator version: 7.11.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://salad.com
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import saladclient "github.com/SaladTechnologies/salad-client"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value saladclient.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), saladclient.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value saladclient.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), saladclient.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using saladclient.ContextOperationServerIndices
and saladclient.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), saladclient.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), saladclient.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://api.salad.com/api/public
Class | Method | HTTP request | Description |
---|---|---|---|
ContainerGroupsAPI | CreateContainerGroup | Post /organizations/{organization_name}/projects/{project_name}/containers | Create Container Group |
ContainerGroupsAPI | DeleteContainerGroup | Delete /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name} | Delete Container Group |
ContainerGroupsAPI | GetContainerGroup | Get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name} | Get Container Group |
ContainerGroupsAPI | GetContainerGroupInstance | Get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id} | Get Container Group Instance |
ContainerGroupsAPI | ListContainerGroupInstances | Get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances | List Container Group Instances |
ContainerGroupsAPI | ListContainerGroups | Get /organizations/{organization_name}/projects/{project_name}/containers | List Container Groups |
ContainerGroupsAPI | ReallocateContainerGroupInstance | Post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/reallocate | Reallocate Container Group Instance |
ContainerGroupsAPI | RecreateContainerGroupInstance | Post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/recreate | Recreate Container Group Instance |
ContainerGroupsAPI | RestartContainerGroupInstance | Post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/restart | Restart container Group Instance |
ContainerGroupsAPI | StartContainerGroup | Post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/start | Start Container Group |
ContainerGroupsAPI | StopContainerGroup | Post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/stop | Stop Container Group |
ContainerGroupsAPI | UpdateContainerGroup | Patch /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name} | Update Container Group |
InferenceEndpointsAPI | CancelInferenceEndpointJob | Delete /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs/{inference_endpoint_job_id} | Cancel an Inference Endpoint Job |
InferenceEndpointsAPI | CreateInferenceEndpointJob | Post /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs | Create a New Inference Endpoint Job |
InferenceEndpointsAPI | GetInferenceEndpoint | Get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name} | Get an Inference Endpoint |
InferenceEndpointsAPI | GetInferenceEndpointJob | Get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs/{inference_endpoint_job_id} | Get an Inference Endpoint Job |
InferenceEndpointsAPI | ListInferenceEndpointJobs | Get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs | List Inference Endpoint Jobs |
InferenceEndpointsAPI | ListInferenceEndpoints | Get /organizations/{organization_name}/inference-endpoints | List Inference Endpoints |
OrganizationDataAPI | ListGpuClasses | Get /organizations/{organization_name}/gpu-classes | List the GPU Classes |
QueuesAPI | CreateQueue | Post /organizations/{organization_name}/projects/{project_name}/queues | Create Queue |
QueuesAPI | CreateQueueJob | Post /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs | Create Job |
QueuesAPI | DeleteQueue | Delete /organizations/{organization_name}/projects/{project_name}/queues/{queue_name} | Delete Queue |
QueuesAPI | DeleteQueueJob | Delete /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs/{queue_job_id} | Delete Job |
QueuesAPI | GetQueue | Get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name} | Get Queue |
QueuesAPI | GetQueueJob | Get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs/{queue_job_id} | Get Job |
QueuesAPI | ListQueueJobs | Get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs | List Jobs |
QueuesAPI | ListQueues | Get /organizations/{organization_name}/projects/{project_name}/queues | List Queues |
QueuesAPI | UpdateQueue | Patch /organizations/{organization_name}/projects/{project_name}/queues/{queue_name} | Update Queue |
QuotasAPI | GetQuotas | Get /organizations/{organization_name}/quotas | Get Quotas |
SystemLogsAPI | GetSystemLogs | Get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/system-logs | Get System Logs |
WebhookSecretKeyAPI | GetWebhookSecretKey | Get /organizations/{organization_name}/webhook-secret-key | Gets the webhook secret key |
WebhookSecretKeyAPI | UpdateWebhookSecretKey | Post /organizations/{organization_name}/webhook-secret-key | Updates the webhook secret key |
WorkloadErrorsAPI | GetWorkloadErrors | Get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/errors | Get Workload Errors |
- Container
- ContainerGroup
- ContainerGroupInstance
- ContainerGroupInstanceStatusCount
- ContainerGroupInstances
- ContainerGroupList
- ContainerGroupLivenessProbe
- ContainerGroupNetworking
- ContainerGroupPriority
- ContainerGroupProbeExec
- ContainerGroupProbeGrpc
- ContainerGroupProbeHttp
- ContainerGroupProbeTcp
- ContainerGroupQueueConnection
- ContainerGroupReadinessProbe
- ContainerGroupStartupProbe
- ContainerGroupState
- ContainerGroupStatus
- ContainerGroupsQuotas
- ContainerLogging
- ContainerLoggingAxiom
- ContainerLoggingDatadog
- ContainerLoggingDatadogTagsInner
- ContainerLoggingHttp
- ContainerLoggingNewRelic
- ContainerLoggingSplunk
- ContainerLoggingTcp
- ContainerNetworkingProtocol
- ContainerProbeHttpScheme
- ContainerResourceRequirements
- ContainerRestartPolicy
- CountryCode
- CreateContainer
- CreateContainerGroup
- CreateContainerGroupNetworking
- CreateContainerRegistryAuthentication
- CreateContainerRegistryAuthenticationAwsEcr
- CreateContainerRegistryAuthenticationBasic
- CreateContainerRegistryAuthenticationDockerHub
- CreateContainerRegistryAuthenticationGcpGcr
- CreateInferenceEndpointJob
- CreateQueue
- CreateQueueJob
- GpuClass
- GpuClassPrice
- GpuClassesList
- HttpHeadersInner
- InferenceEndpoint
- InferenceEndpointJob
- InferenceEndpointJobEvent
- InferenceEndpointJobEventAction
- InferenceEndpointJobList
- InferenceEndpointJobStatus
- InferenceEndpointList
- ProblemDetails
- Queue
- QueueAutoscaler
- QueueJob
- QueueJobEvent
- QueueJobList
- QueueList
- Quotas
- SystemLog
- SystemLogList
- UpdateContainer
- UpdateContainerGroup
- UpdateContainerGroupNetworking
- UpdateContainerResources
- UpdateQueue
- WebhookSecretKey
- WorkloadError
- WorkloadErrorList
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: Salad-Api-Key
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: ApiKeyAuth and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
saladclient.ContextAPIKeys,
map[string]saladclient.APIKey{
"ApiKeyAuth": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime