Skip to content

feat: Add AzureBlobStorage connection type support for private link s…#4366

Open
christineschen wants to merge 8 commits intomasterfrom
absprivatelink
Open

feat: Add AzureBlobStorage connection type support for private link s…#4366
christineschen wants to merge 8 commits intomasterfrom
absprivatelink

Conversation

@christineschen
Copy link
Copy Markdown
Collaborator

…tream connections

Description

Adds support for AZURE_BLOB_STORAGE as a vendor type in mongodbatlas_stream_privatelink_endpoint resource and data sources.

Link to any related issue(s): CLOUDP-383606

Type of change:

  • Bug fix (non-breaking change which fixes an issue). Please, add the "bug" label to the PR.
  • [x ] New feature (non-breaking change which adds functionality). Please, add the "enhancement" label to the PR. A migration guide must be created or updated if the new feature will go in a major version.
  • Breaking change (fix or feature that would cause existing functionality to not work as expected). Please, add the "breaking change" label to the PR. A migration guide must be created or updated.
  • This change requires a documentation update
  • Documentation fix/enhancement

Required Checklist:

  • [x ] I have signed the MongoDB CLA
  • [x ] I have read the contributing guides
  • [x ] I have checked that this change does not generate any credentials and that they are NOT accidentally logged anywhere.
  • [x ] I have added tests that prove my fix is effective or that my feature works per HashiCorp requirements
  • [x ] I have added any necessary documentation (if appropriate)
  • [x ] I have run make fix and verified my code
  • If changes include deprecations or removals I have added appropriate changelog entries.
  • If changes include removal or addition of 3rd party GitHub actions, I updated our internal document. Reach out to the APIx Integration slack channel to get access to the internal document.

Further comments

Copilot AI review requested due to automatic review settings April 6, 2026 04:08
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Azure Blob Storage (AZURE_BLOB_STORAGE) as a supported vendor for mongodbatlas_stream_privatelink_endpoint (resource + data sources), including acceptance tests and documentation updates.

Changes:

  • Added vendor constant + plan validation for Azure Blob Storage required fields (region, service endpoint ID, DNS domain).
  • Added new Azure Blob Storage acceptance test coverage (private link endpoint + stream connection via PRIVATE_LINK).
  • Updated generated schema docs and added Azure Blob Storage examples.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
internal/testutil/acc/stream_privatelink_endpoint.go Adds acceptance-test HCL config generator for Azure Blob Storage private link endpoint.
internal/testutil/acc/pre_check.go Adds Azure credential precheck helpers for acceptance tests.
internal/service/streamprivatelinkendpoint/resource_test.go Adds acceptance tests for Azure Blob Storage private link endpoint and required-field validation.
internal/service/streamprivatelinkendpoint/resource_schema.go Updates schema Markdown descriptions to include AZURE_BLOB_STORAGE requirements.
internal/service/streamprivatelinkendpoint/model.go Adds VendorAzureBlobStorage and required-field validation for Azure Blob Storage vendor.
internal/service/streamprivatelinkendpoint/model_test.go Adds unit tests covering SDK<->TF model mapping and validation for Azure Blob Storage vendor.
internal/service/streamconnection/resource_stream_connection_test.go Adds acceptance test for Azure Blob Storage stream connection using PRIVATE_LINK.
docs/resources/stream_privatelink_endpoint.md Adds Azure Blob Storage example and updates schema docs text to include AZURE_BLOB_STORAGE.
docs/data-sources/stream_privatelink_endpoint.md Adds Azure Blob Storage example and updates schema docs text to include AZURE_BLOB_STORAGE.
docs/data-sources/stream_privatelink_endpoints.md Adds Azure Blob Storage example and updates schema docs text to include AZURE_BLOB_STORAGE.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread internal/service/streamprivatelinkendpoint/model.go
Comment thread internal/service/streamprivatelinkendpoint/resource_schema.go Outdated
Comment thread internal/service/streamprivatelinkendpoint/resource_test.go Outdated
Comment thread docs/resources/stream_privatelink_endpoint.md Outdated
Comment thread docs/data-sources/stream_privatelink_endpoint.md Outdated
Comment thread docs/data-sources/stream_privatelink_endpoints.md Outdated
@christineschen christineschen marked this pull request as ready for review April 6, 2026 14:57
@christineschen christineschen requested review from a team as code owners April 6, 2026 14:57
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 6, 2026

APIx bot: a message has been sent to Docs Slack channel
APIx bot: a message has been sent to Docs Slack channel

Copy link
Copy Markdown

@lizo-mdb lizo-mdb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a couple of small suggestions.

Comment thread examples/mongodbatlas_stream_privatelink_endpoint/azure_blob_storage/variables.tf Outdated
Comment thread examples/mongodbatlas_stream_privatelink_endpoint/azure_blob_storage/variables.tf Outdated
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 6, 2026

🤖 Augment PR Summary

Summary: Adds Azure Blob Storage ("AZURE_BLOB_STORAGE") support for Streams PrivateLink endpoints in the Atlas Terraform provider.

Changes:

  • Introduces a new vendor constant (AZURE_BLOB_STORAGE) and adds vendor-specific request validation for region, service_endpoint_id, and dns_domain.
  • Extends the Streams PrivateLink endpoint schema/docs to document the new Azure Blob Storage vendor and its required attribute formats.
  • Adds a new Azure Blob Storage PrivateLink example under examples/mongodbatlas_stream_privatelink_endpoint/azure_blob_storage.
  • Updates documentation templates to include the new example in generated resource/data source docs.
  • Adds unit tests covering SDK↔TF model conversions and validation diagnostics for the new vendor.
  • Adds acceptance-test coverage for Azure Blob Storage PrivateLink endpoints and for stream connections using PrivateLink networking.
  • Adds Azure-specific acceptance test pre-check helpers for required Azure environment variables.
  • Adds changelog entries advertising the new vendor support across the resource and data sources.

Technical Notes: Validation and examples codify the expected Azure Storage Account ARM ID and {storageAccount}.blob.core.windows.net DNS domain formats for the new vendor.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread internal/service/streamconnection/resource_stream_connection_test.go Outdated
@christineschen christineschen marked this pull request as draft April 7, 2026 15:53
@svc-apix-Bot
Copy link
Copy Markdown
Collaborator

This PR has gone 7 days without any activity and meets the project’s definition of "stale". This will be auto-closed if there is no new activity over the next 7 days. If the issue is still relevant and active, you can simply comment with a "bump" to keep it open, or add the label "not_stale". Thanks for keeping our repository healthy!

@christineschen christineschen added the not_stale Not stale issue or PR label Apr 13, 2026
@christineschen christineschen marked this pull request as ready for review April 13, 2026 06:29
Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread internal/service/streamprivatelinkendpoint/model.go
Copy link
Copy Markdown
Collaborator

@osharaf-mdb osharaf-mdb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a small formatting suggestion: if you wanted to use monospace, use backticks (`) instead of single quotes (')

* AWS provider with CONFLUENT vendor.

* AZURE provider with EVENTHUB or CONFLUENT vendor.
* AZURE provider with EVENTHUB, CONFLUENT, or AZURE_BLOB_STORAGE vendor. For AZURE_BLOB_STORAGE, this should follow the format '{storageAccount}.blob.core.windows.net'.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is meant to be monospace, use backticks (`). Same applied throughout these changes.

Suggested change
* AZURE provider with EVENTHUB, CONFLUENT, or AZURE_BLOB_STORAGE vendor. For AZURE_BLOB_STORAGE, this should follow the format '{storageAccount}.blob.core.windows.net'.
* AZURE provider with EVENTHUB, CONFLUENT, or AZURE_BLOB_STORAGE vendor. For AZURE_BLOB_STORAGE, this should follow the format `{storageAccount}.blob.core.windows.net`.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried this and it seems to get errors because the doc generator converts backticks to single quotes so it comes across as an inconsistency

Comment thread docs/data-sources/stream_privatelink_endpoint.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants