Skip to content

Add azure_rm_searchskillset and _info modules - #2385

Draft
p3ck wants to merge 3 commits into
ansible-collections:devfrom
p3ck:aca-5883-searchskillset
Draft

p3ck wants to merge 3 commits into
ansible-collections:devfrom
p3ck:aca-5883-searchskillset

Conversation

@p3ck

@p3ck p3ck commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator
SUMMARY

Adds two new modules to manage skillsets in an Azure AI Search service (data
plane), continuing the Azure AI Search module set after azure_rm_searchindex
(#2377) and azure_rm_searchdatasource (#2384):

  • azure_rm_searchskillset — create, update, and delete an enrichment skillset
    (an ordered set of skills an indexer applies during ingestion). Idempotent and
    check-mode aware.
  • azure_rm_searchskillset_info — get a specific skillset or list all skillsets.

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

Implementation notes:

  • create_or_update_skillset is a full-replace PUT, so an update merges the
    user-supplied keys onto the existing skillset to preserve settings that were not
    resupplied (skills, description, knowledgeStore).
  • Azure redacts cognitiveServices.key on read and there is no "keep" sentinel for
    it, so it is excluded from the drift comparison and the existing value is never
    echoed back; the binding is re-sent only when the user supplies a key.
  • skills is required only when creating.

Validated with ansible-test sanity --docker and a live integration run in eastus
(ok=27 failed=0): create / idempotent re-create / info get+list / description-only
update (which asserts the PUT preserves the skills) / idempotent update / delete /
idempotent delete.

ISSUE TYPE

New Module Pull Request

COMPONENT NAME

azure_rm_searchskillset
azure_rm_searchskillset_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:23
Add azure_rm_searchskillset and azure_rm_searchskillset_info to manage enrichment
skillsets 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 cognitiveServices.key 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 skillset to preserve unsupplied
settings (skills, description, knowledgeStore). Because there is no "keep"
sentinel for the key, the existing cognitiveServices is never echoed back; it is
re-sent only when the user supplies a key. skills is 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
exercises create/idempotent/info/update/delete with a self-contained text-split
skill. The update changes only the description (omitting skills) to verify the
PUT merge preserves the skills.

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:01
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