Bird
Raised Fist0
Azurecloud~5 mins

Resource locks (delete, read-only) in Azure - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Resource locks (delete, read-only)
O(n)
Understanding Time Complexity

When managing Azure resources, applying locks helps protect them from unwanted changes. Understanding how the time to apply or check these locks grows is important for smooth operations.

We want to know: how does the time to manage locks change as the number of resources grows?

Scenario Under Consideration

Analyze the time complexity of applying a delete lock to multiple resources.


// Loop through a list of resource IDs
foreach (var resourceId in resourceIds) {
  // Apply a delete lock to each resource
  azure.Locks.Define("DeleteLock")
    .WithLockedResource(resourceId)
    .WithDeleteLock()
    .Create();
}
    

This sequence applies a delete lock to each resource one by one to prevent accidental deletion.

Identify Repeating Operations

Look at what repeats as we apply locks:

  • Primary operation: API call to create a lock on a single resource.
  • How many times: Once for each resource in the list.
How Execution Grows With Input

Each resource requires one API call to apply the lock. So, if you have more resources, you make more calls.

Input Size (n)Approx. API Calls/Operations
1010 calls
100100 calls
10001000 calls

Pattern observation: The number of API calls grows directly with the number of resources.

Final Time Complexity

Time Complexity: O(n)

This means the time to apply locks grows in a straight line as you add more resources.

Common Mistake

[X] Wrong: "Applying a lock to multiple resources happens all at once, so time stays the same no matter how many resources."

[OK] Correct: Each lock requires a separate API call, so more resources mean more calls and more time.

Interview Connect

Understanding how operations scale with resource count shows you can plan and manage cloud infrastructure efficiently. This skill helps you design systems that stay reliable as they grow.

Self-Check

"What if we batch apply locks using a single API call for multiple resources? How would the time complexity change?"

Practice

(1/5)
1. What does a CanNotDelete resource lock do in Azure?
easy
A. Allows all actions without restrictions
B. Prevents all changes including reading the resource
C. Allows deletion but prevents modifications
D. Prevents deletion but allows modifications to the resource

Solution

  1. Step 1: Understand the purpose of CanNotDelete lock

    The CanNotDelete lock is designed to stop accidental deletion of a resource but still allows changes to it.
  2. Step 2: Compare with other lock types

    Unlike ReadOnly, which blocks all changes, CanNotDelete only blocks deletion but permits modifications.
  3. Final Answer:

    Prevents deletion but allows modifications to the resource -> Option D
  4. Quick Check:

    CanNotDelete = Prevent deletion, allow changes [OK]
Hint: CanNotDelete stops delete, ReadOnly stops all changes [OK]
Common Mistakes:
  • Confusing CanNotDelete with ReadOnly lock
  • Thinking CanNotDelete blocks all changes
  • Assuming CanNotDelete allows deletion
2. Which of the following is the correct JSON snippet to create a ReadOnly lock on a resource in Azure?
easy
A. { "lockLevel": "ReadOnly", "notes": "Block all changes" }
B. { "level": "CanNotDelete", "notes": "Prevent deletion" }
C. { "level": "ReadOnly", "notes": "Block all changes" }
D. { "lock": "ReadOnly", "notes": "Block all changes" }

Solution

  1. Step 1: Identify the correct property name for lock level

    The correct property to specify the lock type is "level" with values like "ReadOnly" or "CanNotDelete".
  2. Step 2: Match the correct JSON structure

    { "level": "ReadOnly", "notes": "Block all changes" } uses "level": "ReadOnly" which is the correct syntax to create a ReadOnly lock.
  3. Final Answer:

    { "level": "ReadOnly", "notes": "Block all changes" } -> Option C
  4. Quick Check:

    Lock level property = "level" with value "ReadOnly" [OK]
Hint: Use "level": "ReadOnly" to set read-only lock [OK]
Common Mistakes:
  • Using incorrect property names like lockLevel or lock
  • Confusing CanNotDelete with ReadOnly in JSON
  • Missing quotes around property names or values
3. If a resource has a ReadOnly lock applied, what will happen when you try to update its configuration via Azure Portal?
medium
A. The update will fail with a permission error
B. The update will be queued for later processing
C. The update will succeed but deletion will be blocked
D. The update will succeed without any restrictions

Solution

  1. Step 1: Understand ReadOnly lock behavior

    A ReadOnly lock blocks all changes to the resource, including updates, but allows reading.
  2. Step 2: Predict the outcome of an update attempt

    Trying to update a resource with ReadOnly lock will cause a permission error and the update will fail.
  3. Final Answer:

    The update will fail with a permission error -> Option A
  4. Quick Check:

    ReadOnly lock blocks updates = update fails [OK]
Hint: ReadOnly blocks all changes, so updates fail [OK]
Common Mistakes:
  • Assuming updates succeed with ReadOnly lock
  • Confusing ReadOnly with CanNotDelete lock
  • Thinking updates are queued instead of blocked
4. You applied a CanNotDelete lock on a storage account but still accidentally deleted it. What is the most likely reason?
medium
A. The lock was applied at the resource group level, not the storage account
B. The lock was not saved or applied correctly
C. The lock was applied as ReadOnly instead of CanNotDelete
D. The user had Owner role which bypasses locks

Solution

  1. Step 1: Understand CanNotDelete lock effect

    CanNotDelete lock prevents deletion of the resource it is applied to.
  2. Step 2: Analyze why deletion still happened

    If deletion occurred, the lock was likely not applied or saved correctly on the storage account.
  3. Final Answer:

    The lock was not saved or applied correctly -> Option B
  4. Quick Check:

    Lock must be properly applied to prevent deletion [OK]
Hint: Ensure lock is saved and applied on correct resource [OK]
Common Mistakes:
  • Assuming Owner role bypasses locks (it does not)
  • Confusing lock scope levels
  • Thinking ReadOnly lock prevents deletion
5. You want to protect a critical Azure VM from accidental deletion but allow configuration changes. You also want to prevent any changes to a storage account except reading. How should you apply resource locks?
hard
A. Apply CanNotDelete lock on VM and ReadOnly lock on storage account
B. Apply ReadOnly lock on VM and CanNotDelete lock on storage account
C. Apply CanNotDelete lock on both VM and storage account
D. Apply ReadOnly lock on both VM and storage account

Solution

  1. Step 1: Determine lock for VM to prevent deletion but allow changes

    Use CanNotDelete lock on VM to block deletion but allow configuration changes.
  2. Step 2: Determine lock for storage account to block all changes except reading

    Use ReadOnly lock on storage account to block all changes but allow reading.
  3. Final Answer:

    Apply CanNotDelete lock on VM and ReadOnly lock on storage account -> Option A
  4. Quick Check:

    CanNotDelete = block delete, ReadOnly = block all changes [OK]
Hint: Use CanNotDelete for delete protection, ReadOnly for full lock [OK]
Common Mistakes:
  • Swapping lock types between resources
  • Using ReadOnly lock where changes are needed
  • Applying same lock to both resources without need
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard