All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Proposition DELETE
- Fix CommonName check for IAM Service Certificate
- Bump Go to 1.23
- Added
self_managed_certificate
to IAM Service - Make CDR tests conditional
- FET-128 Fix crash on partial access
- IAM: Fix crash on partial user access
- Core: update dependencies
- IAM: support for observable users (Crossplane)
- DBS: fix status field (remove trailing space)
- Initial Data Broker Service (DBS) support:
- hsdp_resource_dbs_sqs_subscriber
- resource_dbs_topic_subscription
- IAM: Support user import by login
- IAM: Roles are not optional in Group declarations
- BLR: Add missing regional endpoints
- BLR: Initial Blob Repository support #181
- Function: workaround for Iron.io race condition #375
- MDM: ServiceAction data sources #327
- Core: API changes and replace deprecated code
- Core: Migrate to terraform-plugin-testing helper
- Documentation: update resource documentation metadata
- Core: refactor debug log writing to more container friendly (Crossplane)
- Core: update go-hsdp-api
- Core: fix crashing bug
- IAM Group: add retry for role assignment
- IAM Group: fix remove role usage #309
- IAM Group: add lower level retry #310
- PKI: Add triggers ttl for tenant #306
- IAM Group: fix read call
- IAM: Add description text to schema. #280
- IAM Group: remove workarounds and use SCIM Group API v1 #304
- IAM: Add users, services and devices to group data source #302
- CDR: replace ForceNew behaviour and instead error with details #300
- DICOM: Retry Read on 403 #297
- Container Host: BREAKING Remove deprecated hsdp_container_host_exec
- DICOM: Add workaround for DICOM 1.8/1.9 discrepancies #297
- IAM: Implement proper IAM Delete support #291
- Milestone: One million downloads!
- IAM: fix org creation #288
- IAM: doc fixes #280
- Bugfix: fix get repository call #276
- Bugfix: fix repository_organization_id usage #276
- MDM: update MDM proposition data source as well #272
- MDM: expose MDM proposition guid #272
- Core: support credentials config via JSON #270
- PKI: make UAA credentials fully optional #267
- IAM: conditionally check IAM Device/User mixups #265
- PKI: support for region sa1
- PKI: add triggers field
- Chore: use generated password everywhere #258
- IAM Introspect: add scopes field
- CDR: Improve the CDR Org example
- Core: Update Google FHIR #255
- Core: fix retry logic #257
- Autoscaler: handle state drift
- IAM Role: wrap delete in retry block
- IAM Email template: wrap delete call in retry
- Notification: fix documentation
- Core: better handling of 502 BAD Gateway responses
- IAM Service: fix migration
- IAM Device: add support for IAM devices (#244)
- IAM Group: allow device assignments
- Container Host: improve error handling (#236)
- Documentation: update Container Host guide
- PKI: update config for real
- PKI: add eu-west production
- IAM: handle intermittent issues with Group updates
- Discovery: add hsdp_discovery_service resource
- DICOM Repository: check for pre existing repo and report
- DICOM Notification: deprecate/remove organization_id field
- Core: Allow "production" as environment
- DICOM: Add store_as_composite argument (#230)
- IAM: Bump go-hsdp-api version to fix IAM consistency issue
- Notification: fix non principal authentication (#227)
- Deprecation WARNING: hsdp_container_host_exec is being deprecated. It will be removed in v0.40.0
- Edge: add support for Principal blocks
- MDM: workaround for refreshing issues with standard service references (#225)
- IAM: Add support for Role Sharing Policy (#220)
- IAM Service: add self_managed_expires_on field for better Crossplane compatibility (potentially breaking change!)
- IAM Client: fix drift detection (#218)
- IAM Client: allow description change without recreate. Add acceptance test
- IAM: relax service requirement field
- CDR: New Practitioner resource
- Notification: support Principal block to use different IAM Service accounts
- MDM: fix crashing bug
- CDR: typo fix in doc
- CDR: Fix CDR subscription documentation and status field
- MDM: Proposition state drift detection fix
- CDR: refactor hsdp_cdr_fhir_store data source, including '/store/fhir' is mandatory but not breaking
- CDR: add basic acceptance tests
- IAM: Proposition state drift detection fix
- CDR: fix subscription read for STU3
- IAM: detect missing OAuth2 credentials
- IAM: update hsdp_iam_role docs (#204)
- Docker: report warning in case GraphQL query for all repositories fails
- CDR: fix subscription example
- IAM: add additional fields to introspect
- MDM: remove extra read in Proposition create setup
- MDM: add more acceptances tests
- Docker: add latest_tag and full_name attributes (#201)
- IAM: fix introspect data source bug
- IAM: add more acceptance tests
- IAM: update hsdp_iam_permissions data source
- IAM: add hsdp_iam_permission data source
- IAM: workaround for HTTP 403/403 issue (#199)
- IAM: add preliminary acceptances tests
- Doc: fix a typo
- IAM: support for synchronous IAM organization deletes
- CDR: fix subscription importing (#188)
- IAM: various fixes for handling with managing_organization changes
- MDM: support for Bootstrap client scope management
- IAM Role: better handling of invalid permissions (#190)
- CDR Org: fix importing of CDR ORGs
- Connect MDM: Fix standard service data source (#185)
- IAM Service: Support new token_validity argument (#184)
- IAM: Fix for CDKTF support
- Container Host: bump hsdp_container_host_instances version (#180)
- Container Host: new Container Host data source (#180)
- Container Host: fix fields in hsdp_container_host_instances data source (#180)
- CDR: better handling of soft-deleted ORGs (#175)
- IAM: prevent uninitialized IAM client from being used (#173)
- CDR ORG: fix crashing bug (#173)
- CDR Subscription: fix crashing bug (#173)
- Connect MDM: documentation fix
- Connect MDM: optionally bypass MDM scope limitations
- Connect MDM: Add ServiceAgent data resources
- IAM: Fix user fetch calls in IAM Grousp (#170)
- Connect MDM: Fix empty secrets issue (#169)
- Notification: support querying for topic by name (#165)
- Connect MDM: workaround for StandardService query issue
- IAM: improve token handling
- IAM: Add hsdp_iam_token data source (#167)
- Notification: fix data source IDs
- Container Host: Fix add/remove user groups API calls
- Container Host: Initial guide published
- Container Host: Add security group data sources
- Connect MDM: add IAM application GUID attribtes
- DICOM Config: fix description field handling (#164)
- DICOM Notification: fix destroy call (#160)
- Connect MDM: add DataType datasource
- Connect MDM: Add MDM Bucket data source
- Connect MDM: expose additional data fields in hsdp_connect_mdm_application
- Core: add support for apac2 (Tokyo) region
- DICOM Notification: add workaround for broken API design
- Container Host: try to recover from flaky salt failures
- Core: upgrade go-hsdp-api
- DICOM: Fix JSON issue
- DICOM: Fix notification implementation
- DICOM: Fix crashing bug
- DICOM: Add new notification feature (December 2021 reelase)
- Container Host: fix keep_failed_instances notifications
- Core: upgrade Terraform plugin SDK to v2.10.0
- IAM: Fix documentation link
- IAM: Add hsdp_iam_email_templates data source (#155)
- IAM: Add hsdp_iam_group_membership (#152)
- Edge: fix crashing bug and app state handling
- MDM: add retry calls to read operations as well. Fixes on-the-fly permission assignment runs
- MDM: minor performance improvement in resource creation
- MDM: show more details in HTTP 422 flow handling
- MDM Application: support description and default_group_guid arguments
- Docker Service Key: support drift detection
- IAM Group: display server error message
- Documentation: update MDM docs
- Core: update go-hsdp-api
- Function: more error message improvements
- Core: more informative error message on missing credentials
- IAM User: fix heuristics for auto importing existing users
- IAM User: fix create user handling if the account already exists
- DICOM Gateway: retry read calls
- IAM Group: refactor group handling (#147)
- Docs: fix broken MDM bucket example
- Core: Upgrade terraform-plugin-sdk to v.2.9.0
- Function: update instructions for siderite v0.12.0
- MDM: Documentation fixes
- MDM: Add hsdp_connect_mdm_firmware_distribution_request
- NEW: Connect MDM support
- Documentation: example fixes
- IAM Client: fix consent implied handling
- IAM Client: add data source
- Core: upgrade go-hsdp-api
- Dcoumentation: updates
- Core: upgrade go-hsdp-api
- Documentation: typo fixes
- Documentation: move hspd_function guide to right subcategory
- Documentation: add subcategories
- IAM Email Templates: handle server side case changes
- NEW HSDP Docker Registry support: manage namespaces and repositories
- IAM: Add retry logic to additional IAM resources
- Guide: fix S3 backend command
- Provider: update go-hsdp-api
- CDR: Support STU3 and R4 FHIR resources. Defaults to STU3, no change to existing resources
- Provider: Add validation to region and environment fields (#54)
- IAM Service: Mark expires_on as computed (#94)
- Made
region
optional and default tous-east
- AI Workspace: fix reading bug
- Test: skeleton code
- Chore: massive refactoring of package namespace
- PKI: Fix schema bug
- Fix hsdp_iam_user data source
- NEW: IAM Users data source:
data.hsdp_iam_users
- NEW: IAM Email Activation resource:
hsdp_iam_email_activation
- Container Host: improve commands error reporting
- NEW: IAM SMS Gateway configuration support:
hsdp_iam_sms_gateway
- NEW: IAM SMS Templates configuration:
hsdp_iam_sms_template
- NEW: Support provider credentials and settings from the Environment
- NEW: IAM User resources supports setting preferred language and communication channel
- CDL: Fix study conflict resolution
- DICOM: Fix unexpected recreate of dicom_object_store due to API changes
- DICOM: Add query param (#125)
- DICOM: Fix hsdp_dicom_store_config hash resources
- PKI: Fix hash resources
- Edge: Fix hash resources
- Autoscaler: Fix hash resources
- DICOM: Fix hash resources
- DICOM Gateway: Breaking change: new 'organization_id' required field
- DICOM: Add proper Hash functions for nested resources
- Container Host: user is optional
- Container Host: add additional checks and fix order
- IAM: [service] remove self-managed certificate, it's an anti-pattern
- IAM: [service] clear private key when self-managed credentials are used
- IAM: read after create improvements
- Container Host: bump number of retries container host ready check
- Container Host: credentials validation check before provisioning
- Config: fix 'sliding_expired_on' value
- DICOM: Ensure ForceNew is pervasive for remote nodes
- DICOM: Use different type structures for certain API endpoints
- IAM: Ignore case for login and email fields
- Container Host: documentation fixes
- IAM: hsdp_iam_group and hsdp_iam_role data sources (#122)
- Function: propagate timeout to Iron tasks
- Container Host: support capturing output from commands (#120)
- DICOM: Fix JSON field names
- DICOM: Fix JSON rendering issue
- IAM: Fix issue with self_managed_key
- IAM: Fix perma-diff when changing Org names
- CDR: Handle Subscription drift detection
- Function: update siderite-backend version
- DICOM: Fix crashing bug
- DICOM Gateway: fix refresh and destroy for config resource
- DICOM Gateway: various fixes based on API changes
- Container Host: support for SSH-agent authentication
- DICOM Gateway: don't propagate secure toggle field
- DICOM Gateway: remove unused field
- AI: More consistent naming convention for service instances
- DICOM Gateway: use pointers in structs to satisfy validations
- Initial AI Workspace support
- NEW: Data source
hsdp_ai_workspace_compute_targets
- NEW: Data source
hsdp_ai_workspace
- NEW: Resource
hsdp_ai_workspace_compute_target
- NEW: Resource
hsdp_ai_workspace
- DICOM Gateway: fix more field reads
- DICOM Gateway: Fix various structures
- IAM: Fix detection of purged user accounts
- IAM: Do not error out in case IAM user is not found using data source
- IAM: Proper error reporting in case of missing CLIENT.SCOPE permissions
- DICOM Gateway: add title and description fields
- Config: improve documentation (#106)
- Container Host: increase command limit to 50
- IAM: Fix
application_id
changes on IAM Service identities
- Expose
service_id
andorg_admin_username
throughhsdp_config
(#113)
- Fix authentication issue when using service identities
- Update go-hsdp-api
- DICOM: Fix for potential validation issue
- Initial AI Inference support
- NEW: Data source
hsdp_ai_inference_compute_environments
- NEW: Data source
hsdp_ai_inference_compute_targets
- NEW: Data source
hsdp_ai_inference_service_instance
- NEW: Resource
hsdp_ai_inference_compute_environment
- NEW: Resource
hsdp_ai_inference_compute_target
- NEW: Resource
hsdp_ai_inference_job
- NEW: Resource
hsdp_ai_inference_model
- BREAKING: use
edge
instead ofstl
namespace for Edge device support - DICOM: Fix remote node parameter reading (#109)
- DICOM: Reduce retries (#110)
- Documentation fixes
- Container Host: add readiness check
- CDL: Add export route support
- CDL: Add Label definition support
- CDL: Add 'data_protected_from_deletion' to Research Study (#97)
- PKI: Improve error handling
- IAM: Improve IAM Group deletion
- IAM: Add retry logic for email template creation
- Documentation fixes
- IAM: Add retry logic for IAM Group operations
- IAM: Better handle drift in user/service assignments in groups
- Overal improvements in error reporting (go-hsdp-api)
- CDL: Add support for Data Type Definitions
- IAM: Change variable checks. Fixes #93
- CDR: Add exponential backoff retry create with token refresh
- DICOM: Alpha quality Support for DICOM gateway configuration
- CDL: Documentation fixes
- Container Host: Fix for
keep_failed_instances
flag
- CDL: Support $grant / $revoke for data scientists, uploaders, monitors and study managers
- IAM: Workaround for IAM permissions list limitation
- Initial Clinical Data Lake (CDL) support
- NEW: Resource
hsdp_cdl_research_study
- NEW: Data source
hsdp_cdl_instance
- NEW: Data source
hsdp_cdl_research_study
- NEW: Data source
hsdp_cdl_research_studies
- NEW: Data source
hsdp_container_host_instances
- Upgrade go-hsdp-api
- Better honor
keep_failed_instances
for Container Host
- Update siderite and other dependencies
- Add
keep_failed_instances
attribute to Container Host resources - Fix limit on
security_groups
on Container Host
- The
region
is now a required argument. Environment defaults toclient-test
- Updated documentation
- Fix refresh for PKI certs
- Fix PKI tenant update step
- Improve error messages for hsdp_pki_cert
- Fix
alt_names
for PKI Certs
- DICOM related fixes
- Support for the HSDP Notification service
- The IAM service private_key field is now generated. This fixes some inconsistency issues
- Bring back
start_at
forrun_every
scheduling ofhsdp_function
- Documentation fixes
- Fix ferrite backend support
- Documentation fixes
- Refactor and announce
hsdp_function
beta status - Filter out sensitive fields from debug logs
- Add support for
ferrite
backend forhsdp_function
- DICOM Object stores are soft deleted by default, with option to
force_delete
- Extra validation for
hsdp_iam_service
- Format generated IAM Service PEM key to be more parser friendly (#72)
- [NEW] Implement
private_key
andexpires_on
configurable fields for IAM Services - Fix
hsdp_function
start time issue
- Prevent container host cleanup for colliding hosts (#69)
- Add additional security group validation (#68)
- Fix potential hsdp_function code collision
- Increase
volume_size
to 16000 (16T) forhsdp_container_host
resources - Bugfix: clean up container host instance in case of failed commands
- Documentation fixes
- [NEW]
cron
support forhsdp_function.schedule
configuration - [NEW]
timeout
supportfor hsdp_function.schedule
configuration - Fix duplicate debug logging output
- Support CDR Org delete with optional support for $purge
- Add support for
image
field forhsdp_container_host
- Description fields for IAM groups and roles are now optional
- Fix some DICOM optional fields
- Improve endpoint auto-discovery
- Work on guides
- Update S3Policy actions list
- [NEW] hsdp_function resource
- Fix state issue in DICOM repository
- Improve DICOM repository onboarding
- [NEW] Support for setting permissions, owner and group for CH files
- Detect copy errors for SSH copy files
- Fix clear_on_destroy state
- Documentation fix
- Support
ensure_tcp
andensure_udp
in STL firewall exception config - Documentation fixes
- Workaround for IAM profile update issue
- Documentation fixes
- Fix hsdp_iam_user.mobile field updating
- Fix corner case where IAM generates error 104 on profile update
- [NEW] optional
password
argument for immediate activation ofhsdp_iam_user
- Support
hsdp_iam_user
field updates (first_name, last_name, login, email)
- Suppress global_reference_id diffs changes when generated
- Better error reporting and fix root cause of crashing bug
- Make global_reference_id optional for Application and Proposition
- Fix crashing bug in create IAM application
- Add retry code to overcome IAM race condition in certain situations
- Fix DICOM onboarding when provisioning IAM groups during the same run
- Add missing fields for DICOM
- Minor documentation fixes
- Fix STL cert update issue
- Remove last_update fields as it produced inconsistent state
- Improve Proposition and Application resource lifecycle and error handling
- Sync STL resources by default now. Users can choose to batch this using
hsdp_stl_sync
- [NEW] Secure Transport Layer (STL) support to manage Edge devices
- Fix default IAM OAuth2 client TTLs
- Fix documentation
- NEW: HSDP PKI initial support
- NEW: DICOM config support
- Better cleanup logic for failed container host provisions
- Recovery code for Cartel HTTP 500 error during create
- Improve error handling for Cartel
- Add support for file sources
- Improve error handling
- [NEW] Use SSH file and commands directies for Container Host
- [NEW] Add hsdp_container_host_exec as replacement for null_resource
- Add proxy support for Cartel connections
- [NEW] Added hsdp_iam_email_template to manage IAM custom email templates
- Validate Container Host tags
- Support for setting subnet for Container Hosts
- Fix Container Host import support
- Update Terraform to 0.14.4
- Wrap more error conditions
- Use UTC timezone for FHIR parsing
- Add additional error messages
- Fix documentation
- Refactor CDR resource naming after some trial use
- Add
part_of
attribute tohsdp_cdr_org
- NEW: Add hsdp_cdr_subscription
- NEW: Clinical Data Repository (CDR) onboarding support
- Handle missing Role delete capability of IAM gracefully
- Fix crashing bug
- go-hsdp-api bugfix in the console API client
- Improve autoscaler support
- Fix documentation
- NEW: Add data source hsdp_container_host_subnet_types
- Container Host: add subnet_type configuration (public, private)
- Add validation checks and update documentatin for Container Host
- Implement data.hsdp_iam_service
- Use legacy fallback for data.hsdp_user
- Use Go 1.15.5
- Fix linting errors
- Upgrade to Terraform v2 SDKs
- Update to latest v1 SDKs
- Increase default timeouts for Container Host
- Fix documentationt
- NEW: Support for tagging Container Host instances
- Improve error handling for Container Host provisioning
- Fix Dockerfile for local development
- NEW: hsdp_iam_password_policy
- Add domain to hsdp config data source
- Documentation fixes
- NEW: hsdp_iam_application data source
- Fix data ID for hsdp_iam_proposition
- NEW: hsdp_iam_proposition data source
- Updated hsdp_iam_org resource to include additional fields
- Implement hsdp_iam_org deletion
- Bugfix release
- NEW: hsdp_metrics_autoscaler resource
- Migrate Terraform PLugin SDK
- Upgrade to Terraform 0.13.1
- NEW: hsdp_container_host
- Migrate to Terraform Plugin SDK
- Handle externally deleted resources
- Upgrade to Terraform 0.12.25
- Switch user API to v2 (breaking change!)
- New user login field
- Support user deletion
- Shared key and secret and now optional
- Upgrade to Terraform 0.12.24
- Support adding service identities to groups
- Upgrade to Terraform 0.12.23
- Upgrade to Terraform 0.12.x
- Initial implementation
- Application (CRUD)
- Client (CRUD)
- Group (CRUD)
- Organization (CRU)
- Permission (CRUD)
- Proposition (CRUD)
- Role (CRUD)
- User (CR)