Repository navigation
Conversation
Add azure_rm_searchdatasource and azure_rm_searchdatasource_info to manage data source connections in an Azure AI Search service (data plane), built on the azure-search-documents SDK via the shared AzureRMSearchDataPlaneMixin (SearchIndexerClient), mirroring the merged azure_rm_searchindex pattern. Idempotent and check-mode aware. Azure redacts credentials.connectionString on read, so it is dropped from the drift comparison; on a full-replace PUT update the module merges user-supplied keys onto the existing data source to preserve unsupplied settings, and sends the <unchanged> sentinel when the connection string is not resupplied. type and connection_string are required only on create. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Stands up a search service (AAD data-plane auth + Search Service Contributor) and a storage account, then exercises create/idempotent/info/update/delete. The update changes only the description (omitting type, connection_string and container) to verify the PUT merge preserves the other fields and the connection string. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SUMMARY
Adds two new modules to manage data source connections in an Azure AI Search
service (data plane), the next piece of the Azure AI Search module set after
azure_rm_searchindex(#2377):azure_rm_searchdatasource— create, update, and delete a data sourceconnection (Blob, Azure SQL, Cosmos DB, ADLS Gen2, Table). Idempotent and
check-mode aware.
azure_rm_searchdatasource_info— get a specific data source or list all datasources in a service.
Built on the
azure-search-documentsSDK via the sharedAzureRMSearchDataPlaneMixin(SearchIndexerClient), mirroring the mergedazure_rm_searchindex.Implementation notes:
create_or_update_data_source_connectionis a full-replace PUT, so an updatemerges the user-supplied keys onto the existing data source to preserve settings
that were not resupplied.
credentials.connectionStringon read, so it is excluded from thedrift comparison, and the
<unchanged>sentinel is sent when the connectionstring is omitted on update (so other fields can be changed without resupplying
the secret).
typeandconnection_stringare required only when creating.Validated with
ansible-test sanity --dockerand a live integration run in eastus(
ok=31 failed=0): create / idempotent re-create / info get+list / description-onlyupdate (which asserts the PUT preserves
typeandcontainer) / idempotent update/ delete / idempotent delete.
ISSUE TYPE
New Module Pull Request
COMPONENT NAME
azure_rm_searchdatasource
azure_rm_searchdatasource_info
ADDITIONAL INFORMATION
The CI service principal needs
Microsoft.Authorization/roleAssignments/write; theintegration test grants the test principal the Search Service Contributor role
to manage data-plane object definitions.
Assisted-by: Claude Opus 4.8 (Anthropic)