Conflict
ARM returns `Conflict` when the requested operation is not allowed for the resource in its current state.
Last reviewed: February 12, 2026|Editorial standard: source-backed technical guidance
What Does Conflict Mean?
The control plane rejected the action due to current resource state constraints, so the workflow must satisfy state prerequisites before retry.
Common Causes
- -Operation requires a different resource state (for example VM must be deallocated before resize).
- -Concurrent operations are modifying the same resource and create state contention.
- -Workflow triggers state-dependent action before previous transition finishes.
- -Automation retries a blocked operation without re-checking current resource state.
How to Fix Conflict
- 1Read current resource provisioning/runtime state before issuing the operation again.
- 2Complete prerequisite state transition (stop/deallocate/detach) required by the operation.
- 3Serialize conflicting operations on the same resource in orchestration.
- 4Retry only after state converges and ARM reports the resource is ready for next action.
Step-by-Step Diagnosis for Conflict
- 1Capture conflict error details and current resource state from ARM/Activity Log.
- 2Inspect recent operations targeting the same resource for overlap or sequencing errors.
- 3Validate operation prerequisites against resource state documented by provider.
- 4Replay action after prerequisite transition confirms completion.
Resource State Prerequisite Validation
- -Map failing action to required state transition (example: VM resize attempted while VM remains running instead of deallocated).
- -Inspect current provisioning and runtime state before retry (example: disk operation requested while previous attach action is still in progress).
Operation Sequencing and Concurrency Controls
- -Correlate overlapping operations in Activity Log (example: scale operation and extension update run simultaneously on same VM).
- -Enforce single-writer orchestration for stateful resources (example: multiple pipeline jobs invoke conflicting ARM actions).
How to Verify the Fix
- -Re-run blocked operation after prerequisites and verify conflict is cleared.
- -Confirm resource reaches expected end state without additional state-conflict failures.
- -Validate orchestration logs show ordered, non-overlapping state transitions.
How to Prevent Recurrence
- -Encode state-machine guards in deployment automation before invoking mutating operations.
- -Add lock/queue controls for operations that target the same ARM resource.
- -Monitor conflict frequency by resource type to detect orchestration regressions early.
Pro Tip
- -maintain per-resource operation lease tokens in your orchestrator so only one state transition can run at a time for each resource ID.
Decision Support
Compare Guide
409 Conflict vs 412 Precondition Failed: When to Use Each
Choose 412 when If-Match or If-Unmodified-Since checks fail; choose 409 for state conflicts without failed precondition headers during concurrent updates.
Playbook
Conflict and Concurrency Playbook (409 / 412 / OptimisticLock)
Use this playbook to separate true write conflicts from stale precondition failures, then apply safe re-fetch, optimistic-lock, and retry choices.
Official References
Provider Context
This guidance is specific to Azure services. Always validate implementation details against official provider documentation before deploying to production.