Go SDK¶
Module path (identity, enforced by packaging checks):
github.com/eve-iac/eve-iac/sdk/go
Import the client package:
github.com/eve-iac/eve-iac/sdk/go/eveiac
There is no public module proxy. Download the tarball (GitLab generic package, same file as the Release):
curl -fsSL -O https://gitlab.com/api/v4/projects/eve-ng-dev%2Feve-iac/packages/generic/eve-iac/0.9.0/eve-iac-sdk-go-0.9.0.tar.gz
tar xzf eve-iac-sdk-go-0.9.0.tar.gz
go mod edit -replace github.com/eve-iac/eve-iac/sdk/go=./eve-iac-sdk-go-0.9.0
go get github.com/eve-iac/eve-iac/sdk/go@v0.0.0
Do not change this repository's go.mod to a GitLab path. Details: Install packages.
Create a client¶
client, err := eveiac.NewClient(eveiac.Config{
URL: "https://eve.example:8787",
Token: "",
CAPEM: caPEM,
TimeoutMs: 15000,
})
HTTPS is required. Pin CAPEM. NewClientWithTransport injects a fake transport in tests.
Pointers¶
nilpointer = omittedeveiac.Ptr(false)= explicit falseeveiac.Ptr(0)= explicit zero- Typed structs may not represent every explicit-null case
Client.Dois the escape hatch for a raw operationId + body
Every method takes context.Context. Optional timeoutMs ...int overrides the semantics timeout.
Responses¶
Methods return (*Model, error). CLI --json matches the success data object (not the HTTP envelope).
- How-to — workflows that combine operations
- Examples — Working with responses
- API reference — JSON wire shape and Processing the result per method
- Models
Documentation map¶
Two trees are merged at site build time:
| Page | Git source (hand-written) | Git source (generated) |
|---|---|---|
| Getting started (this page) | site/pages/developers/go/index.md |
— |
| Authentication | site/pages/developers/go/authentication.md |
— |
| How-to | — | sdk/generated/site/developers/go/howto.md |
| Examples | — | sdk/generated/site/developers/go/examples.md |
| API reference | — | sdk/generated/site/developers/go/api.md |
| Models | — | sdk/generated/site/developers/go/models.md |
Links below use relative names (examples.md, …). They work on eve-iac.io and in site/_stage/ after make site. In a checkout, Examples / API / Models are not under site/pages/developers/go/ — open the generated paths above (sdk/generated/site/developers/go/). Regenerate with make sdk-generate.
Next¶
- How-to — generated (
sdk/generated/site/developers/go/howto.md) - Authentication — hand-written
- Examples — generated (
sdk/generated/site/developers/go/examples.md) - API reference — generated
- Models — generated
- Inventory from a SDK — hand-written.
eveiac.RenderInventory