Skip to content

Commit 3d0458a

Browse files
authored
Fix for user-assigned identity ARM issue on remove (#18205)
Co-authored-by: Ryan Kelly <[email protected]>
1 parent 1ca212a commit 3d0458a

File tree

3 files changed

+1280
-1025
lines changed

3 files changed

+1280
-1025
lines changed

src/azure-cli/azure/cli/command_modules/iot/custom.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,16 +711,18 @@ def iot_hub_identity_remove(cmd, client, hub_name, system_identity=None, user_id
711711
if not hub_identity.user_assigned_identities[identity]:
712712
raise ArgumentUsageError('Hub {0} is not currently using a user-assigned identity with id: {1}'.format(hub_name, identity))
713713
del hub_identity.user_assigned_identities[identity]
714+
if not hub_identity.user_assigned_identities:
715+
del hub_identity.user_assigned_identities
714716
elif isinstance(user_identities, list):
715717
del hub_identity.user_assigned_identities
716718

717719
if hub_identity.type in [
718720
IdentityType.system_assigned.value,
719721
IdentityType.system_assigned_user_assigned.value
720722
]:
721-
hub_identity.type = IdentityType.system_assigned_user_assigned.value if hub_identity.user_assigned_identities else IdentityType.system_assigned.value
723+
hub_identity.type = IdentityType.system_assigned_user_assigned.value if getattr(hub_identity, 'user_assigned_identities', None) else IdentityType.system_assigned.value
722724
else:
723-
hub_identity.type = IdentityType.user_assigned.value if hasattr(hub_identity, 'user_assigned_identities') else IdentityType.none.value
725+
hub_identity.type = IdentityType.user_assigned.value if getattr(hub_identity, 'user_assigned_identities', None) else IdentityType.none.value
724726

725727
hub.identity = hub_identity
726728
if not getattr(hub.identity, 'user_assigned_identities', None):

0 commit comments

Comments
 (0)