Skip to content

saviynt/saviynt-api-go-client

Repository files navigation

Saviynt API Go Client

Build Status Lint Status Go Report Card Docs License

Overview

This is a Client SDK in Go for the Saviynt API.

Example code on usage is available in the automated tests, in the test folder.

OpenAPI Spec References

The following Saviynt APIs are covered by this SDK.

  1. Connections - API Reference
  2. Delegated Administration - API Reference
  3. Email - API Reference
  4. File Directory - API Reference
  5. Job Control - API Reference
  6. mTLS Authentication - API Reference
  7. SAV Roles - API Reference
  8. Tasks - API Reference
  9. Transport - API Reference
  10. Users - API Reference

Supported Saviynt APIs

No. Tag Name Endpoint In Spec In SDK SDK Test: Manual SDK Test: Automated
1 Connections Get List of Connections POST /ECM/api/v5/getConnections
2 Connections Get Connection Details POST /ECM/api/v5/getConnectionDetails
3 Connections Create or Update Connection POST /ECM/api/v5/testConnection
4 Connections Delete Connection DELETE /ECM/api/v5/deleteConnection
5 Delegated Administration Get Delegate User List GET /ECM/api/v5/getDelegateUserList
6 Delegated Administration Create Delegate POST /ECM/api/v5/createDelegate
7 Delegated Administration Fetch Delegates List POST /ECM/api/v5/fetchDelegatesList
8 Delegated Administration Edit Delegate POST /ECM/api/v5/editDelegate
9 Delegated Administration Delete Delegate POST /ECM/api/v5/deleteDelegate
10 Email Send Email POST /ECM/api/v5/sendEmail
11 File Directory Upload New File POST /ECM/api/v5/uploadSchemaFile
12 Job Control Create and Update Trigger POST /ECM/api/v5/createUpdateTrigger
13 Job Control Check Job Status POST /ECM/api/v5/checkJobStatus
14 Job Control Delete Trigger POST /ECM/api/v5/deleteTrigger
15 Job Control Run Job Trigger POST /ECM/api/v5/runJobTrigger
16 Job Control Fetch Job Metadata POST /ECM/api/v5/fetchJobMetadata
17 Job Control Create Triggers POST /ECM/api/v5/createTriggers
18 Job Control Resume Pause Jobs POST /ECM/api/v5/resumePauseJobs
19 mTLS Authentication Upload KeyStore POST /ECM/api/v5/uploadKeyStore
20 mTLS Authentication Get KeyStore Details POST /ECM/api/v5/getKeyStoreCertificateDetails
21 mTLS Authentication Delete KeyStore POST /ECM/api/v5/deleteKeyStoreAlias/{alias}
22 SAV Roles Get All SAV Roles POST /ECMv6/api/userms/savroles
23 SAV Roles Get SAV Role Users POST /ECMv6/api/userms/savroles/{roleName}/users
24 Tasks Check Task Status POST /ECM/api/v5/checkTaskStatus
25 Tasks Update Tasks POST /ECM/api/v5/updateTasks
26 Transport Export Package POST /ECM/api/v5/exportTransportPackage
27 Transport Import Package POST /ECM/api/v5/importTransportPackage
28 Transport Transport Status GET /ECM/api/v5/transportPackageStatus
29 Users Get User Details POST /ECM/api/v5/getUser

Automated Tests

Tests are run with real credentials with the following environment variable:

SAVIYNT_TEST_CREDENTIALS={"serverURL":"https://myidentitycloud.com","username":"myusername","password":"mypassword"}

To run the tests, you can execute the following:

% git clone https://github.com/saviynt/saviynt-api-go-client
% cd saviynt-api-go-client
% go mod tidy
% export SAVIYNT_TEST_CREDENTIALS='{...}'
% cd test
% go test -v ./...
% go test -run Test_delegatedadministration_DelegatedAdministrationAPIService

Use the following to run the tests:

  1. Run all tests: go test -v ./...
  2. Run a specific suite of tests, e.g. for delegatedadministration: go test -run Test_delegatedadministration_DelegatedAdministrationAPIService

Contributions

While we value open-source contributions to this SDK, this library is generated programmatically. The best ways to contribute to this SDK are:

  1. API coverage: to add/update API coverage, update the OpenAPI spec files in the docs folder.
  2. SDK functionality: if SDK functionality is desired that is not covered by OpenAPI Generator, create an isue or PR with that project.
  3. Test coverage: tests are always welcome, in the tests folder.

Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release.

Credits

  1. Clients are using OpenAPI Generator 7.10.0.
  2. OpenAPI Specs are generated using OpenAPI Specification v3.1.0.
  3. API References are generated using Redoc.