API for managing your Overmind account
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.5
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import overmind "github.com/overmindtech/api-server/overmind"
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 sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), overmind.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), overmind.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 sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), overmind.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), overmind.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://www.df.overmind-demo.com/api
Class | Method | HTTP request | Description |
---|---|---|---|
AdminApi | AdminCreateAccount | Post /admin/accounts | Accounts - Create |
AdminApi | AdminCreateSource | Post /admin/accounts/{account_name}/sources | Sources - Create |
AdminApi | AdminCreateToken | Post /admin/accounts/{account_name}/tokens | Generate a NATS token |
AdminApi | AdminDeleteAccount | Delete /admin/accounts/{account_name} | Accounts - Delete |
AdminApi | AdminDeleteSource | Delete /admin/accounts/{account_name}/sources/{source_id} | Sources - Delete |
AdminApi | AdminGetAccount | Get /admin/accounts/{account_name} | Accounts - Get details |
AdminApi | AdminGetSource | Get /admin/accounts/{account_name}/sources/{source_id} | Sources - Get details |
AdminApi | AdminKeepaliveSources | Post /admin/accounts/{account_name}/sources/keepalive | Sources - Keepalive |
AdminApi | AdminListAccounts | Get /admin/accounts | Accounts - List |
AdminApi | AdminListSources | Get /admin/accounts/{account_name}/sources | Sources - List |
AdminApi | AdminUpdateSource | Put /admin/accounts/{account_name}/sources/{source_id} | Sources - Update |
CoreApi | CreateSource | Post /core/sources | Sources - Create |
CoreApi | CreateToken | Post /core/tokens | Generate a NATS token |
CoreApi | DeleteSource | Delete /core/sources/{source_id} | Sources - Delete |
CoreApi | GetAccount | Get /core/account | Account - Get details |
CoreApi | GetSource | Get /core/sources/{source_id} | Sources - Get details |
CoreApi | KeepaliveSources | Post /core/sources/keepalive | Sources - Keepalive |
CoreApi | ListSources | Get /core/sources | Sources - List |
CoreApi | UpdateSource | Put /core/sources/{source_id} | Sources - Update |
ManagementApi | HealthzGet | Get /healthz | Health check |
- Type: OAuth
- Flow: application
- Authorization URL:
- Scopes:
- admin:read: Read information about all accounts and sources from the admin API
- admin:write: Update accounts and sources in the admin API
- account:read: Read information about your account
- account:create: Create new accounts
- source:read: Read source information
- source:write: Create, update and delete sources
- request:receive: Receive requests and respond to them
- request:send: Ability to send requests to subjects like request.scope.{scope}
- reverselink:ingest: Ability to communicate with imported requests and items subjects from other accounts
- reverselink:request: Can make requests to the revlink service
- reverselink:respond: Can respond to reverse linking requests
- gateway:stream: Can stream gateway responses to be picked up by revlink
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/* Perform OAuth2 round trip request and obtain a token */
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)
- Type: OAuth
- Flow: accessCode
- Authorization URL: https://om-dogfood.eu.auth0.com/authorization
- Scopes:
- admin:read: Read information about all accounts and sources from the admin API
- admin:write: Update accounts and sources in the admin API
- account:read: Read information about your account
- account:create: Create new accounts
- source:read: Read source information
- source:write: Create, update and delete sources
- request:receive: Receive requests and respond to them
- request:send: Ability to send requests to subjects like request.scope.{scope}
- reverselink:ingest: Ability to communicate with imported requests and items subjects from other accounts
- reverselink:request: Can make requests to the revlink service
- reverselink:respond: Can respond to reverse linking requests
- gateway:stream: Can stream gateway responses to be picked up by revlink
Example
auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)
Or via OAuth2 module to automatically refresh tokens and perform user authentication.
import "golang.org/x/oauth2"
/* Perform OAuth2 round trip request and obtain a token */
tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
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