This API provides a RESTful interface to all the Solar services e.g. looking for boards, building projects, etc.
- This API uses Hypermedia as the Engine of Application State (HATEOAS) to drive the discovery and provide affordances.
- Discovery is possible by following links from the well known root resource. While this specification lists all supported endpoints, it is only recommended that these are hard coded into a client if code generation is being used. Otherwise, it is recommended that the discovery mechanisms present in the resources (affordances) are used exclusively.
- Affordances are links which indicate whether an action is currently possible, this is significantly different from
whether the service supports an action in general. This specification defines what actions could be possible,
but only by checking the affordances returned by the API in the returned resources, can a client determine whether
this action is currently possible or available for the current user. For example:
- An operation to modify a resource could be defined in this specification, but the user may lack the appropriate privileges. In that situation, the affordance link would not be present in the resource when read. Therefore, the client can infer that it is not possible to edit this resource and present appropriate information to the user.
- An operation to delete a resource could be defined and be possible in some circumstances. The specification describes that the delete is supported and how to use it, but the affordance describes whether it is currently possible. The logic in the API may dictate that if the resource was in use (perhaps it is a running job or used by another resource), then it will not be possible to delete that resource as it would result in a conflicted state.
- It is strongly encouraged that affordances are used by all clients, even those using code generation. This has the ability to both improve robustness and the user experience by decoupling the client and server. For example, if for some reason the criteria for deleting a resource changes, the logic is only implemented in the server and there is no need to update the logic in the client as it is driven by the affordances.
- The format used for the resources is the Hypertext Application Language (HAL), which includes the definition of links and embedded resources.
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: 1.1.1
- Package version: 1.0.0
- Generator version: 7.5.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.keil.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 client "github.com/ARM-software/embedded-development-services-client/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 client.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), client.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value client.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), client.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 client.ContextOperationServerIndices
and client.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), client.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), client.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://all.api.keil.arm.com
Class | Method | HTTP request | Description |
---|---|---|---|
BuildJobsAPI | CancelBuildJob | Post /build-jobs/{jobName}/cancel | Cancel a Build Job |
BuildJobsAPI | DeleteBuildJob | Delete /build-jobs/{jobName} | Delete a Build Job |
BuildJobsAPI | GetBuildArtefact | Get /build-jobs/{jobName}/artefacts/{artefactName} | Download the named Build Artefact for the given Build Job. |
BuildJobsAPI | GetBuildJob | Get /build-jobs/{jobName} | Return status of a Build Job. |
BuildJobsAPI | GetBuildJobArtefactManager | Get /build-jobs/{jobName}/outputs/{artefactName} | Get the corresponding Build Job artefact manager. |
BuildJobsAPI | GetBuildMessages | Get /build-jobs/{jobName}/messages | Build Message Feed. |
BuildJobsAPI | GetBuildOutputArtefact | Get /build-jobs/{jobName}/outputs/{artefactName}/artefact | Download the build artefact for the given build job. |
BuildJobsAPI | ListBuildArtefacts | Get /build-jobs/{jobName}/artefacts/ | List all the available Build Artefacts for the given Build Job. |
BuildJobsAPI | ListBuildJob | Get /build-jobs/ | List all Build Jobs. |
BuildJobsAPI | ListBuildOutputManagers | Get /build-jobs/{jobName}/outputs/ | List all the available managers of Build Artefacts for the given Build Job. |
BuildJobsAPI | RetainBuildJob | Post /build-jobs/{jobName}/retain | Update how long a build job will be retained before automatic deletion. |
CMSISBuildersAPI | GetCmsisBuilder | Get /cmsis-builders/{builderName} | Return details of specific CMSIS Builders. |
CMSISBuildersAPI | ListCmsisBuilders | Get /cmsis-builders/ | List available CMSIS Builders. |
CMSISBuildersAPI | StartCmsisBuild | Post /cmsis-builders/{builderName} | Initiate a build using the specified CMSIS Builder. |
CMSISIntellisenseBuildersAPI | GetCmsisIntellisense | Get /cmsis-intellisense/{builderName} | Return details of specific CMSIS Intellisense Builders. |
CMSISIntellisenseBuildersAPI | ListCmsisIntellisense | Get /cmsis-intellisense/ | List available CMSIS Intellisense Builders. |
CMSISIntellisenseBuildersAPI | StartCmsisIntellisense | Post /cmsis-intellisense/{builderName} | Initiate a compilation database generation using the specified CMSIS Intellisense Builder. |
DeprecationNoticeAPI | GetDeprecationNotice | Get /deprecations/{operationName} | Return details of specific endpoint deprecation notice. |
DeprecationNoticeAPI | ListDeprecatedEndpoints | Get /deprecations/ | Get the endpoints that have been deprecated with some notice. |
GenericWorkJobsAPI | CancelGenericWorkJob | Post /generic-work-jobs/{jobName}/cancel | Cancel an Generic Work Job. |
GenericWorkJobsAPI | DeleteGenericWorkJob | Delete /generic-work-jobs/{jobName} | Delete an Generic Work Job. |
GenericWorkJobsAPI | GetGenericWorkJob | Get /generic-work-jobs/{jobName} | Return status of an Generic Work Job. |
GenericWorkJobsAPI | GetGenericWorkJobArtefactManager | Get /generic-work-jobs/{jobName}/artefacts/{artefactName} | Get the Generic Work Job artefact manager for the artefact named `artefactName` present of job. |
GenericWorkJobsAPI | GetGenericWorkJobMessages | Get /generic-work-jobs/{jobName}/messages | GenericWorkJob Message Feed. |
GenericWorkJobsAPI | GetGenericWorkJobOutputArtefact | Get /generic-work-jobs/{jobName}/artefacts/{artefactName}/artefact | Download the artefact for the corresponding generic work job. |
GenericWorkJobsAPI | ListGenericWorkJobArtefactManagers | Get /generic-work-jobs/{jobName}/artefacts/ | Get the list of artefact managers for the given generic work job. |
GenericWorkJobsAPI | ListGenericWorkJobs | Get /generic-work-jobs/ | List all Generic Work Jobs. |
GenericWorkJobsAPI | RetainGenericWorkJob | Post /generic-work-jobs/{jobName}/retain | Update how long an generic work job will be retained before automatic deletion. |
GenericWorkersAPI | GetGenericWorker | Get /generic-workers/{genericWorkerName} | Return details of specific Generic Workers. |
GenericWorkersAPI | ListGenericWorkers | Get /generic-workers/ | List available Generic Workers. |
GenericWorkersAPI | StartGenericWorkJob | Post /generic-workers/{genericWorkerName} | Initiate a job using the specified Generic Worker. |
IntellisenseJobsAPI | CancelIntellisenseJob | Post /intellisense-jobs/{jobName}/cancel | Cancel an Intellisense Job. |
IntellisenseJobsAPI | DeleteIntellisenseJob | Delete /intellisense-jobs/{jobName} | Delete an Intellisense Job. |
IntellisenseJobsAPI | GetIntellisenseArtefact | Get /intellisense-jobs/{jobName}/artefacts/{artefactName} | Download the named Intellisense Artefact for the given Intellisense Job. |
IntellisenseJobsAPI | GetIntellisenseJob | Get /intellisense-jobs/{jobName} | Return status of an Intellisense Job. |
IntellisenseJobsAPI | GetIntellisenseJobArtefactManager | Get /intellisense-jobs/{jobName}/outputs/{artefactName} | Get the Intellisense Job artefact manager for the artefact named `artefactName` present of this Build Job. |
IntellisenseJobsAPI | GetIntellisenseMessages | Get /intellisense-jobs/{jobName}/messages | Intellisense Message Feed. |
IntellisenseJobsAPI | GetIntellisenseOutputArtefact | Get /intellisense-jobs/{jobName}/outputs/{artefactName}/artefact | Download the artefact for the corresponding Intellisense job. |
IntellisenseJobsAPI | ListIntellisenseArtefacts | Get /intellisense-jobs/{jobName}/artefacts/ | List all the available Intellisense Artefacts for the given Intellisense Job. |
IntellisenseJobsAPI | ListIntellisenseJob | Get /intellisense-jobs/ | List all Intellisense Jobs. |
IntellisenseJobsAPI | ListIntellisenseOutputManagers | Get /intellisense-jobs/{jobName}/outputs/ | Get the list of artefact managers for the given Intellisense job. |
IntellisenseJobsAPI | RetainIntellisenseJob | Post /intellisense-jobs/{jobName}/retain | Update how long an intellisense job will be retained before automatic deletion. |
PersonalAccessTokenAPI | CreatePAT | Post /personal-access-tokens/ | Create a new personal access token for a user |
PersonalAccessTokenAPI | DeletePAT | Delete /personal-access-tokens/{patName} | Delete a personal access token |
PersonalAccessTokenAPI | GetPAT | Get /personal-access-tokens/{patName} | Get a personal access token |
PersonalAccessTokenAPI | ListPATs | Get /personal-access-tokens/ | List all personal access tokens for the user |
RootResourceAPI | GetRoot | Get / | Get the Root resource. |
VHTRunJobsAPI | CancelVhtRunJob | Post /vht-run-jobs/{jobName}/cancel | Cancel a VHT run job. |
VHTRunJobsAPI | DeleteVhtRunJob | Delete /vht-run-jobs/{jobName} | Delete an VHT run Job. |
VHTRunJobsAPI | GetVhtRunJob | Get /vht-run-jobs/{jobName} | Return status of an VHT run Job. |
VHTRunJobsAPI | GetVhtRunJobMessages | Get /vht-run-jobs/{jobName}/messages | VHT Run Job Message Feed. |
VHTRunJobsAPI | ListVhtRunJobs | Get /vht-run-jobs/ | List all run jobs on VHTs. |
VendorsAPI | CreateVendor | Post /vendors/ | Create a new Vendor |
VendorsAPI | GetVendor | Get /vendors/{vendorSlugOrId}/ | Get a Vendor Item |
VendorsAPI | ListVendors | Get /vendors/ | List all the Vendors. |
VirtualHardwareTargetAPI | GetVht | Get /vhts/{vhtName} | Return details of the specific VHT. |
VirtualHardwareTargetAPI | ListFilteredVhtInstances | Get /vhts/{vhtName}/vht-instances/ | List all VHT instances related to this specific VHT. |
VirtualHardwareTargetAPI | ListVhts | Get /vhts/ | List available VHTs. |
VirtualHardwareTargetAPI | StartVhtInstance | Post /vhts/{vhtName} | Spawns a VHT instance matching this VHT specification. |
VirtualHardwareTargetInstanceAPI | ClearVhtInstanceArtefact | Delete /vht-instances/{instanceName}/artefacts/{artefactName}/artefact | Clear the VHT artefact from the VHT instance. |
VirtualHardwareTargetInstanceAPI | DeleteVhtInstance | Delete /vht-instances/{instanceName} | Delete a VHT instance |
VirtualHardwareTargetInstanceAPI | DownloadVhtInstanceArtefact | Get /vht-instances/{instanceName}/artefacts/{artefactName}/artefact | Download the artefact named `artefactName` present on this VHT instance. |
VirtualHardwareTargetInstanceAPI | GetVhtInstance | Get /vht-instances/{instanceName} | Return status of a VHT instance. |
VirtualHardwareTargetInstanceAPI | GetVhtInstanceArtefactManager | Get /vht-instances/{instanceName}/artefacts/{artefactName} | Get the VHT artefact manager for the artefact named `artefactName` present of this VHT instance. |
VirtualHardwareTargetInstanceAPI | GetVhtInstanceMessages | Get /vht-instances/{instanceName}/messages | Instance Message Feed. |
VirtualHardwareTargetInstanceAPI | ListVhtInstanceArtefactManagers | Get /vht-instances/{instanceName}/artefacts/ | List all the managers of the artefacts (e.g. binary, test input) available on a specific VHT instance. |
VirtualHardwareTargetInstanceAPI | ListVhtInstances | Get /vht-instances/ | List all VHT instances requested. |
VirtualHardwareTargetInstanceAPI | StartVhtRunJob | Post /vht-instances/{instanceName} | Starts a VHT Run job. |
VirtualHardwareTargetInstanceAPI | StopVhtInstance | Post /vht-instances/{instanceName}/cancel | Stop this VHT instance. |
VirtualHardwareTargetInstanceAPI | UploadVhtInstanceArtefact | Put /vht-instances/{instanceName}/artefacts/{artefactName}/artefact | Upload and replace the named VHT artefact on the given VHT instance. |
WorkspaceAPI | ClearWorkspaceArchiveContent | Delete /workspaces/{workspaceName}/archive-content | Clear the content of this workspace. |
WorkspaceAPI | ClearWorkspaceRepositoryContentManager | Delete /workspaces/{workspaceName}/repository-content | Clear the content of this workspace. |
WorkspaceAPI | CreateWorkspace | Post /workspace-sources/{workspaceSourceName} | Creates a workspace based on the source. |
WorkspaceAPI | DeleteWorkspace | Delete /workspaces/{workspaceName} | Delete a Workspace |
WorkspaceAPI | EditWorkspaceRepositoryContentManager | Put /workspaces/{workspaceName}/repository-content | Edit the source for the content of the workspace. |
WorkspaceAPI | GetWorkspace | Get /workspaces/{workspaceName} | Return the state of a workspace. |
WorkspaceAPI | GetWorkspaceArchiveContent | Get /workspaces/{workspaceName}/archive-content | Get the manager of the archive file containing the workspace content. |
WorkspaceAPI | GetWorkspaceDetails | Get /workspaces/{workspaceName}/details | Details about the workspace. |
WorkspaceAPI | GetWorkspaceRepositoryContentManager | Get /workspaces/{workspaceName}/repository-content | Get the manager of the workspace content defined in a repository. |
WorkspaceAPI | ListWorkspaces | Get /workspaces/ | List all workspaces available. |
WorkspaceAPI | RetainWorkspace | Post /workspaces/{workspaceName}/retain | Update how long a workspace will be retained before automatic deletion.. |
WorkspaceAPI | UploadWorkspaceArchiveContent | Put /workspaces/{workspaceName}/archive-content | Upload and replace the content of the named workspace. |
WorkspaceSourceAPI | GetWorkspaceSource | Get /workspace-sources/{workspaceSourceName} | Return details of the specific workspace source. |
WorkspaceSourceAPI | ListWorkspaceSources | Get /workspace-sources/ | List available workspace sources. |
- AdditionalTool
- ArtefactManagerCollection
- ArtefactManagerItem
- ArtefactManagerLinks
- BuildJobCollection
- BuildJobItem
- BuildJobItemLinks
- BuildMessageItem
- BuildToolTypes
- CmsisBuilderCollection
- CmsisBuilderItem
- CmsisBuilderItemLinks
- CmsisIntellisenseCollection
- CmsisIntellisenseItem
- CmsisIntellisenseItemLinks
- CollectionMetadata
- CommonMetadata
- DeprecationInfo
- EmbeddedArtefactManagerItems
- EmbeddedBuildJobItems
- EmbeddedCmsisBuilderItems
- EmbeddedCmsisIntellisenseItems
- EmbeddedEndpointDeprecationNoticeItems
- EmbeddedGenericWorkJobItems
- EmbeddedGenericWorkerItems
- EmbeddedIntellisenseJobItems
- EmbeddedPATItem
- EmbeddedVendorItems
- EmbeddedVhtInstanceItems
- EmbeddedVhtItems
- EmbeddedVhtRunJobItems
- EmbeddedWorkspaceItems
- EmbeddedWorkspaceSourceItems
- EndpointDeprecationNotice
- EndpointDeprecationNoticeCollection
- EndpointDeprecationNoticeLinks
- ErrorResponse
- FieldObject
- GenericWorkJobCollection
- GenericWorkJobItem
- GenericWorkJobItemLinks
- GenericWorkerCollection
- GenericWorkerItem
- GenericWorkerItemLinks
- HalCollectionLinks
- HalFeedLinks
- HalLinkData
- HalOnlyEmbeddableCollectionLinks
- HalSimpleCollectionLinks
- IntellisenseJobCollection
- IntellisenseJobItem
- IntellisenseJobItemLinks
- IntellisenseMessageItem
- ListVendorsCollection
- MessageObject
- NotificationFeed
- NotificationMessageObject
- PATCollection
- PATCreationItem
- PATItem
- PATItemLinks
- PagingMetadata
- RetainBuildJobRequest
- RetainWorkspaceRequest
- SimpleCollection
- ToolchainTypes
- VendorItem
- VendorItemLinks
- VhtCollection
- VhtInstanceCollection
- VhtInstanceItem
- VhtInstanceItemLinks
- VhtItem
- VhtItemLinks
- VhtRunJobCollection
- VhtRunJobItem
- VhtRunJobItemLinks
- VirtualInterface
- WorkspaceCollection
- WorkspaceDetailsItem
- WorkspaceDetailsItemLinks
- WorkspaceItem
- WorkspaceItemLinks
- WorkspaceRepositoryContentManager
- WorkspaceRepositoryContentManagerLinks
- WorkspaceSourceCollection
- WorkspaceSourceItem
- WorkspaceSourceItemLinks
Authentication schemes defined for the API:
- Type: HTTP Bearer token authentication
Example
auth := context.WithValue(context.Background(), client.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)
- Type: HTTP Bearer token authentication
Example
auth := context.WithValue(context.Background(), client.ContextAccessToken, "BEARER_TOKEN_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