1. Packages
  2. Hsdp Provider
hsdp 0.65.3 published on Tuesday, Apr 15, 2025 by philips-software

Hsdp Provider

Generate Provider

The Hsdp provider must be installed as a Local Package by following the instructions for Any Terraform Provider:

pulumi package add terraform-provider philips-software/hsdp
Copy

Overview

Use the HSDP provider to interact with the many resources supported by HSDP. This includes amongst others IAM entities, Container Host instances, Edge devices and even some Clinical Data Repository (CDR) resources

Use the navigation to the left to read about the available resources.

To learn the basics of Pulumi, follow the hands-on get started tutorials on HashiCorp’s Learn platform.

Example usage

# Pulumi.yaml provider configuration file
name: configuration-example
runtime: nodejs
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
import * as pulumi from "@pulumi/pulumi";
import * as hsdp from "@pulumi/hsdp";

const hospitalA = new hsdp.IamOrg("hospital_a", {
    name: "HOSPITAL_A",
    description: "HOSPITAL A",
    parentOrgId: root.id,
});
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: python
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
import pulumi
import pulumi_hsdp as hsdp

hospital_a = hsdp.IamOrg("hospital_a",
    name="HOSPITAL_A",
    description="HOSPITAL A",
    parent_org_id=root["id"])
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: dotnet
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Hsdp = Pulumi.Hsdp;

return await Deployment.RunAsync(() =>
{
    var hospitalA = new Hsdp.IamOrg("hospital_a", new()
    {
        Name = "HOSPITAL_A",
        Description = "HOSPITAL A",
        ParentOrgId = root.Id,
    });

});
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: go
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
package main

import (
	"github.com/pulumi/pulumi-pulumi-provider/sdks/go/hsdp/hsdp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hsdp.NewIamOrg(ctx, "hospital_a", &hsdp.IamOrgArgs{
			Name:        pulumi.String("HOSPITAL_A"),
			Description: pulumi.String("HOSPITAL A"),
			ParentOrgId: pulumi.Any(root.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: yaml
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
resources:
  hospitalA:
    type: hsdp:IamOrg
    name: hospital_a
    properties:
      name: HOSPITAL_A
      description: HOSPITAL A
      parentOrgId: ${root.id}
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: java
config:
    hsdp:environment:
        value: client-test
    hsdp:oauth2ClientId:
        value: 'TODO: var.oauth2_client_id'
    hsdp:oauth2Password:
        value: 'TODO: var.oauth2_password'
    hsdp:orgAdminPassword:
        value: 'TODO: var.org_admin_password'
    hsdp:orgAdminUsername:
        value: 'TODO: var.org_admin_username'
    hsdp:region:
        value: us-east
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.hsdp.IamOrg;
import com.pulumi.hsdp.IamOrgArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var hospitalA = new IamOrg("hospitalA", IamOrgArgs.builder()
            .name("HOSPITAL_A")
            .description("HOSPITAL A")
            .parentOrgId(root.id())
            .build());

    }
}
Copy

Authentication

The HSDP provider can read credentials and settings from the Environment or as arguments in its provider configuration. The following environment variables are recognized

EnvironmentArgumentRequiredDefault
HSDP_REGIONregionOptionalus-east
HSDP_ENVIRONMENTenvironmentOptionalclient-test
HSDP_CARTEL_HOSTcartelHostOptional
HSDP_CARTEL_SECRETcartelSecretOptional
HSDP_CARTEL_TOKENcartelTokenOptional
HSDP_IAM_SERVICE_IDserviceIdOptional
HSDP_IAM_SERVICE_PRIVATE_KEYservicePrivateKeyOptional
HSDP_IAM_ORG_ADMIN_USERNAMEorgAdminUsernameOptional
HSDP_IAM_ORG_ADMIN_PASSWORDorgAdminPasswordOptional
HSDP_IAM_OAUTH2_CLIENT_IDoauth2ClientIdOptional
HSDP_IAM_OAUTH2_PASSWORDoauth2PasswordOptional
HSDP_SHARED_KEYsharedKeyOptional
HSDP_SECRET_KEYsecretKeyOptional
HSDP_UAA_USERNAMEuaaUsernameOptional
HSDP_UAA_PASSWORDuaaPasswordOptional
HSDP_DEBUG_LOGdebugLogOptional
HSDP_DEBUG_STDERRdebugStderrOptional

Configuration Reference

In addition to generic provider arguments (e.g. alias and version), the following arguments are supported in the HSDP provider configuration:

  • region - (Required) The HSDP region to use [us-east, eu-west, sa1, ca1, apac3, …]. Default is us-east
  • environment - (Optional) The HSDP environment to use within region [client-test, prod] . Default is client-test
  • credentials - (Optional) Can point to a JSON file containing values for all fields here
  • iamUrl - (Optional) IAM API endpoint. Auto-discovered from region and environment.
  • idmUrl - (Optional) IDM API endpoint Auto-discovered from region and environment.
  • s3credsUrl - (Optional) S3 Credentials API endpoint. Auto-discovered from region and environment.
  • notificationUrl - (Optional) Notification service URL. Auto-discovered from region and environment.
  • oauth2ClientId - (Optional) The OAuth2 client ID as provided by HSDP
  • oauth2Password - (Optional) The OAuth2 password as provided by HSDP
  • serviceId - (Optional) The service ID to use for IAM org admin operations (conflicts with: orgAdminUsername)
  • servicePrivateKey - (Optional) The service private key to use for IAM org admin operations (conflicts with: orgAdminPassword)
  • orgAdminUsername - (Optional) Your IAM admin username.
  • orgAdminPassword - (Optional) Your IAM admin password.
  • uaaUsername - (Optional) The HSDP CF UAA username.
  • uaaPassword - (Optional) The HSDP CF UAA password.
  • uaaUrl - (Optional) The URL of the UAA authentication service. Auto-discovered from region.
  • mdmUrl - (Optional) The base URL of the MDM service. Auto-discovered from region and environment.
  • sharedKey - (Optional) The shared key as provided by HSDP. Actions which require API signing will not work if this value is missing.
  • secretKey - (Optional) The secret key as provided by HSDP. Actions which require API signing will not work if this value is missing.
  • cartelHost - (Optional) The cartel host as provided by HSDP. Auto-discovered from region.
  • cartelToken - (Optional) The cartel token as provided by HSDP.
  • cartelSecret - (Optional) The cartel secret as provided by HSDP.
  • retryMax - (Optional) Integer, when > 0 will use a retry-able HTTP client and retry requests when applicable.
  • debugLog - (Optional) If set to a path, when debug is enabled outputs details to this file
  • debugStderr - (Optional) If set to true sends debug logs to stderr