feat(resource): define Azure observability and messaging resource types (azure-monitor-log-analytics, azure-monitor-alert, azure-service-bus-queue, azure-event-hub) #2430

Open
opened 2026-04-03 18:02:15 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: feat/v360/azure-observability-messaging-types
  • Commit Message: feat(resource): define azure-monitor-log-analytics, azure-monitor-alert, azure-service-bus-queue, and azure-event-hub resource types
  • Milestone: v3.6.0
  • Parent Epic: #1019

Background

Part of the Azure cloud resource hierarchy expansion (Epic #1019). This issue implements the Azure observability and messaging resource types following the generic cloud-* base layer pattern established by PR #669.

These types cover Azure Monitor (log analytics and alerts) and Azure messaging services (Service Bus queues and Event Hubs), all scoped to a resource group.

Expected Behavior

  • azure-monitor-log-analytics inherits from cloud-log-group, is auto-discovered as a child of azure-resource-group
  • azure-monitor-alert inherits from cloud-alarm, is auto-discovered as a child of azure-resource-group
  • azure-service-bus-queue inherits from cloud-queue, is auto-discovered as a child of azure-resource-group
  • azure-event-hub inherits from cloud-topic, is auto-discovered as a child of azure-resource-group
  • All types are non-user-addable
  • All types pass ResourceTypeSpec.from_config() validation
  • Inheritance chain depth ≤ 5 levels (ADR-042)

Acceptance Criteria

  • azure-monitor-log-analytics defined with inherits: cloud-log-group, parent azure-resource-group, user_addable: false
  • azure-monitor-alert defined with inherits: cloud-alarm, parent azure-resource-group, user_addable: false
  • azure-service-bus-queue defined with inherits: cloud-queue, parent azure-resource-group, user_addable: false
  • azure-event-hub defined with inherits: cloud-topic, parent azure-resource-group, user_addable: false
  • All four types registered in the resource type registry
  • All four types pass ResourceTypeSpec.from_config() validation
  • Inheritance chain ≤ 5 levels deep for all types
  • All nox stages pass
  • Coverage ≥ 97%

Dependencies

  • Blocked by: #2425 (azure-subscription and azure-resource-group must exist first)
  • Blocks: #1019

Subtasks

  • Define azure-monitor-log-analytics resource type config with inherits: cloud-log-group, parent azure-resource-group
  • Define azure-monitor-alert resource type config with inherits: cloud-alarm, parent azure-resource-group
  • Define azure-service-bus-queue resource type config with inherits: cloud-queue, parent azure-resource-group
  • Define azure-event-hub resource type config with inherits: cloud-topic, parent azure-resource-group
  • Register all four types in the resource type registry
  • Validate all types pass ResourceTypeSpec.from_config() validation
  • Run nox (all default sessions), fix any errors
  • Verify coverage ≥ 97% via nox -s coverage_report

Definition of Done

  • All subtasks completed and checked off
  • All four Azure observability and messaging resource types are defined, registered, and validated
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done
  • All nox stages pass
  • Coverage ≥ 97%

Automated by CleverAgents Bot
Supervisor: Unknown | Agent: ca-epic-planner

## Metadata - **Branch**: `feat/v360/azure-observability-messaging-types` - **Commit Message**: `feat(resource): define azure-monitor-log-analytics, azure-monitor-alert, azure-service-bus-queue, and azure-event-hub resource types` - **Milestone**: v3.6.0 - **Parent Epic**: #1019 ## Background Part of the Azure cloud resource hierarchy expansion (Epic #1019). This issue implements the Azure observability and messaging resource types following the generic `cloud-*` base layer pattern established by PR #669. These types cover Azure Monitor (log analytics and alerts) and Azure messaging services (Service Bus queues and Event Hubs), all scoped to a resource group. ## Expected Behavior - `azure-monitor-log-analytics` inherits from `cloud-log-group`, is auto-discovered as a child of `azure-resource-group` - `azure-monitor-alert` inherits from `cloud-alarm`, is auto-discovered as a child of `azure-resource-group` - `azure-service-bus-queue` inherits from `cloud-queue`, is auto-discovered as a child of `azure-resource-group` - `azure-event-hub` inherits from `cloud-topic`, is auto-discovered as a child of `azure-resource-group` - All types are non-user-addable - All types pass `ResourceTypeSpec.from_config()` validation - Inheritance chain depth ≤ 5 levels (ADR-042) ## Acceptance Criteria - [ ] `azure-monitor-log-analytics` defined with `inherits: cloud-log-group`, parent `azure-resource-group`, `user_addable: false` - [ ] `azure-monitor-alert` defined with `inherits: cloud-alarm`, parent `azure-resource-group`, `user_addable: false` - [ ] `azure-service-bus-queue` defined with `inherits: cloud-queue`, parent `azure-resource-group`, `user_addable: false` - [ ] `azure-event-hub` defined with `inherits: cloud-topic`, parent `azure-resource-group`, `user_addable: false` - [ ] All four types registered in the resource type registry - [ ] All four types pass `ResourceTypeSpec.from_config()` validation - [ ] Inheritance chain ≤ 5 levels deep for all types - [ ] All nox stages pass - [ ] Coverage ≥ 97% ## Dependencies - Blocked by: #2425 (azure-subscription and azure-resource-group must exist first) - Blocks: #1019 ## Subtasks - [ ] Define `azure-monitor-log-analytics` resource type config with `inherits: cloud-log-group`, parent `azure-resource-group` - [ ] Define `azure-monitor-alert` resource type config with `inherits: cloud-alarm`, parent `azure-resource-group` - [ ] Define `azure-service-bus-queue` resource type config with `inherits: cloud-queue`, parent `azure-resource-group` - [ ] Define `azure-event-hub` resource type config with `inherits: cloud-topic`, parent `azure-resource-group` - [ ] Register all four types in the resource type registry - [ ] Validate all types pass `ResourceTypeSpec.from_config()` validation - [ ] Run `nox` (all default sessions), fix any errors - [ ] Verify coverage ≥ 97% via `nox -s coverage_report` ## Definition of Done - [ ] All subtasks completed and checked off - [ ] All four Azure observability and messaging resource types are defined, registered, and validated - [ ] A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly - [ ] The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly - [ ] The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done - [ ] All nox stages pass - [ ] Coverage ≥ 97% --- **Automated by CleverAgents Bot** Supervisor: Unknown | Agent: ca-epic-planner
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#2430
No description provided.