Skip to content

Add azure_rm_searchindexer and _info modules - #2387

Draft
p3ck wants to merge 3 commits into
ansible-collections:devfrom
p3ck:aca-5881-searchindexer
Draft

p3ck wants to merge 3 commits into
ansible-collections:devfrom
p3ck:aca-5881-searchindexer

Conversation

@p3ck

@p3ck p3ck commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator
SUMMARY

Adds two new modules to manage indexers in an Azure AI Search service (data
plane), the final piece of the Azure AI Search module set after azure_rm_searchindex
(#2377), azure_rm_searchdatasource (#2384), azure_rm_searchskillset (#2385) and
azure_rm_searchsynonymmap (#2386):

  • azure_rm_searchindexer — create, update, delete, run, and reset an indexer (the
    ingestion pipeline that reads a data source, optionally enriches through a skillset,
    and writes into a target index). Idempotent and check-mode aware; state=run and
    state=reset are on-demand actions.
  • azure_rm_searchindexer_info — get a specific indexer or list all indexers;
    include_status=true also returns the indexer's execution status.

Built on the azure-search-documents SDK via the shared
AzureRMSearchDataPlaneMixin (SearchIndexerClient), mirroring the merged
azure_rm_searchindex.

Implementation notes:

  • create_or_update_indexer is a full-replace PUT, so an update merges the
    user-supplied keys onto the existing indexer to preserve settings that were not
    resupplied (target index, data source, skillset, schedule, field mappings,
    parameters).
  • target_index_name and data_source_name are required only when creating.

Validated with ansible-test sanity --docker and a live integration run in eastus
(ok=37 failed=0): create / idempotent re-create / info + execution status / schedule
update / description-only update (which asserts the PUT preserves the target index,
data source, schedule and field mappings) / reset / run / delete / idempotent delete.

Depends on #2384 (azure_rm_searchdatasource): the integration target provisions
a data source via that module, so this PR should merge after it.

ISSUE TYPE

New Module Pull Request

COMPONENT NAME

azure_rm_searchindexer
azure_rm_searchindexer_info

ADDITIONAL INFORMATION

The CI service principal needs Microsoft.Authorization/roleAssignments/write; the
integration test grants the test principal the Search Service Contributor role
to manage data-plane object definitions.

Assisted-by: Claude Opus 4.8 (Anthropic)

p3ck and others added 3 commits October 9, 2026 09:44
Add azure_rm_searchindexer and azure_rm_searchindexer_info to manage indexers 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.

An indexer is the ingestion pipeline that reads from a data source, optionally
enriches through a skillset, and writes into a target index. Idempotent and
check-mode aware; state=run and state=reset are on-demand actions. On a full-replace
PUT update the module merges user-supplied keys onto the existing indexer to preserve
unsupplied settings (target/data source/skillset/schedule/mappings/parameters).
target_index_name and data_source_name are required only on create. The info module
can optionally return execution status via include_status.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Stands up a search service (AAD data-plane auth + Search Service Contributor), a blob
data source and a target index, then exercises create/idempotent/info+status/update/
reset/run/delete. A description-only update verifies the PUT merge preserves the
target index, data source, schedule and field mappings. Uses azure_rm_searchdatasource
(PR ansible-collections#2384) and azure_rm_searchindex, so this target depends on the data source module.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@p3ck p3ck added the ready-for-review The PR is ready to be reviewed and merged. label Oct 9, 2026
@p3ck
p3ck requested a review from zunyangc October 9, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review The PR is ready to be reviewed and merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant