Skip to content

Client library to interact with various APIs used within Philips in a simple and uniform way

License

Notifications You must be signed in to change notification settings

philips-software/go-hsdp-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

54ca3b3 · Apr 24, 2021
Feb 17, 2021
Feb 25, 2021
Apr 14, 2021
Apr 9, 2021
Apr 9, 2021
Feb 25, 2021
Feb 25, 2021
Feb 25, 2021
Apr 22, 2021
Apr 10, 2021
Apr 23, 2021
Feb 2, 2021
Mar 16, 2021
Mar 29, 2021
Feb 23, 2021
Jan 27, 2021
Jan 27, 2021
Dec 10, 2019
Jun 30, 2020
Dec 10, 2019
Apr 24, 2021
Dec 10, 2019
Dec 10, 2019
Dec 10, 2019
Feb 11, 2021
Nov 20, 2020
Apr 21, 2021
Apr 21, 2021

Repository files navigation

Build Status Maintainability Test Coverage PkgGoDev

go-hsdp-api

A HSDP API client enabling Go programs to interact with various HSDP APIs in a simple and uniform way

Supported APIs

The current implement covers only a subset of HSDP APIs. Basically we implement functionality as needed.

  • Cartel c.q. Container Host management (examples)
  • Secure Transport Layer (STL) / Edge
    • Device queries
    • Application Resources management
    • Device configuration management (firewall, logging)
  • Public Key Infrastructe (PKI) management
  • Identity and Access Management (IAM)
    • Groups
    • Organizations
    • Permissions
    • Roles
    • Users
    • Passwords
    • Propositions
    • Applications
    • Services
    • Devices
    • MFA Policies
    • Password Policies
    • Email Templates
  • Logging (examples)
  • Auditing (examples)
  • Clinical Data Repository (CDR)
    • Tenant Onboarding
    • Subscription management
    • FHIR CRUD
    • FHIR Patch
  • Telemetry Data Repository (TDR)
    • Contract management
    • Data Item management
  • S3Creds Policy management
  • DICOM Store
    • Config management
  • Hosted Application Streaming (HAS) management
  • Service Discovery
  • Console settings
    • Metrics Alerts
    • Metrics Autoscalers
  • IronIO tasks, codes and schedules management (examples)

Usage

package main

import (
        "fmt"

        "github.com/philips-software/go-hsdp-api/iam"
)

func main() {
        client, _ := iam.NewClient(nil, &iam.Config{
                OAuth2ClientID: "ClientID",
                OAuth2Secret:   "ClientPWD",
                SharedKey:      "KeyHere",
                SecretKey:      "SecretHere",
                IAMURL:         "https://iam-stage.foo-bar.com",
                IDMURL:         "https://idm-stage.foo-bar.com",
        })
        err := client.Login("[email protected]", "Password!@#")
        if err != nil {
                fmt.Printf("Error logging in: %v\n", err)
                return
        }
        introspect, _, _ := client.Introspect()
        if introspect != nil {
                fmt.Printf("Introspect response: %v\n", introspect)
        }
}

TODO

  • Increase API coverage

Issues

Contact / Getting help

Andy Lo-A-Foe ([email protected])

License

License is MIT. See LICENSE file