@@ -6056,17 +6056,23 @@ def test_vm_msi(self, resource_group):
60566056 })
60576057
60586058 with self.assertRaisesRegex(ArgumentUsageError, "please specify both --role and --scope"):
6059- self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest --assign-identity --admin-username admin123 '
6060- '--admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE --scope {scope}')
6059+ self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest '
6060+ '--assign-identity --admin-username admin123 --admin-password PasswordPassword1! '
6061+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE --scope {scope} '
6062+ '--size Standard_B2ms')
60616063
60626064 with self.assertRaisesRegex(ArgumentUsageError, "please specify both --role and --scope"):
6063- self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest --assign-identity --admin-username admin123 '
6064- '--admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE --role Contributor')
6065+ self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest '
6066+ '--assign-identity --admin-username admin123 --admin-password PasswordPassword1! '
6067+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE --role Contributor '
6068+ '--size Standard_B2ms')
60656069
60666070 with mock.patch('azure.cli.core.commands.arm._gen_guid', side_effect=self.create_guid):
60676071 # create a linux vm with default configuration
6068- self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest --assign-identity --admin-username admin123 '
6069- '--admin-password PasswordPassword1! --scope {scope} --role Contributor --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE', checks=[
6072+ self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest '
6073+ '--assign-identity --admin-username admin123 --admin-password PasswordPassword1! '
6074+ '--scope {scope} --role Contributor --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6075+ '--size Standard_B2ms', checks=[
60706076 self.check('identity.role', 'Contributor'),
60716077 self.check('identity.scope', '/subscriptions/{sub}/resourceGroups/{rg}'),
60726078 ])
@@ -6076,16 +6082,21 @@ def test_vm_msi(self, resource_group):
60766082 'network vnet subnet update -g {rg} --vnet-name {vnet} -n {subnet} --default-outbound-access false')
60776083
60786084 # create a windows vm with reader role on the linux vm
6079- result = self.cmd('vm create -g {rg} -n {vm2} --image Win2022Datacenter --assign-identity --scope {vm1_id} --role reader '
6080- '--admin-username admin123 --admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE', checks=[
6085+ result = self.cmd('vm create -g {rg} -n {vm2} --image Win2022Datacenter '
6086+ '--assign-identity --scope {vm1_id} --role reader '
6087+ '--admin-username admin123 --admin-password PasswordPassword1! '
6088+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6089+ '--size Standard_B2ms', checks=[
60816090 self.check('identity.role', 'reader'),
60826091 self.check('identity.scope', '{vm1_id}'),
60836092 ])
60846093 uuid.UUID(result.get_output_in_json()['identity']['systemAssignedIdentity'])
60856094
60866095 # create a linux vm w/o identity and later enable it
6087- vm3_result = self.cmd('vm create -g {rg} -n {vm3} --image Debian:debian-10:10:latest --admin-username admin123 '
6088- '--admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE').get_output_in_json()
6096+ vm3_result = self.cmd('vm create -g {rg} -n {vm3} --image Debian:debian-10:10:latest '
6097+ '--admin-username admin123 --admin-password PasswordPassword1! '
6098+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6099+ '--size Standard_B2ms').get_output_in_json()
60896100 self.assertIsNone(vm3_result.get('identity'))
60906101
60916102 with self.assertRaisesRegex(ArgumentUsageError, "please specify both --role and --scope when assigning a role to the managed identity"):
@@ -6168,8 +6179,10 @@ def test_vm_msi_no_scope(self, resource_group):
61686179 })
61696180
61706181 # create a linux vm with identity but w/o a role assignment (--scope "")
6171- self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest --assign-identity --admin-username admin123 '
6172- '--admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE', checks=[
6182+ self.cmd('vm create -g {rg} -n {vm1} --image Debian:debian-10:10:latest '
6183+ '--assign-identity --admin-username admin123 --admin-password PasswordPassword1! '
6184+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6185+ '--size Standard_B2ms', checks=[
61736186 self.check('identity.scope', None),
61746187 self.check('identity.role', None),
61756188 ])
@@ -6179,18 +6192,24 @@ def test_vm_msi_no_scope(self, resource_group):
61796192 'network vnet subnet update -g {rg} --vnet-name {vnet} -n {subnet} --default-outbound-access false')
61806193
61816194 # create a vmss with identity but w/o a role assignment (--scope "")
6182- self.cmd('vmss create -g {rg} -n {vmss1} --image Debian:debian-10:10:latest --assign-identity --admin-username admin123 --admin-password PasswordPassword1! --orchestration-mode Uniform --lb-sku Standard', checks=[
6195+ self.cmd('vmss create -g {rg} -n {vmss1} --image Debian:debian-10:10:latest '
6196+ '--assign-identity --admin-username admin123 --admin-password PasswordPassword1! '
6197+ '--orchestration-mode Uniform --lb-sku Standard --vm-sku Standard_B1ls', checks=[
61836198 self.check('vmss.identity.scope', None),
61846199 ])
61856200
61866201 # create a vm w/o identity
6187- self.cmd('vm create -g {rg} -n {vm2} --image Debian:debian-10:10:latest --admin-username admin123 --admin-password PasswordPassword1! --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE')
6202+ self.cmd('vm create -g {rg} -n {vm2} --image Debian:debian-10:10:latest '
6203+ '--admin-username admin123 --admin-password PasswordPassword1! '
6204+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE --size Standard_B2ms')
61886205 # assign identity but w/o a role assignment
61896206 self.cmd('vm identity assign -g {rg} -n {vm2}', checks=[
61906207 self.check('scope', None),
61916208 ])
61926209
6193- self.cmd('vmss create -g {rg} -n {vmss2} --image Debian:debian-10:10:latest --admin-username admin123 --admin-password PasswordPassword1! --orchestration-mode Uniform --lb-sku Standard')
6210+ self.cmd('vmss create -g {rg} -n {vmss2} --image Debian:debian-10:10:latest '
6211+ '--admin-username admin123 --admin-password PasswordPassword1! '
6212+ '--orchestration-mode Uniform --lb-sku Standard --vm-sku Standard_B1ls')
61946213 self.cmd('vmss identity assign -g {rg} -n {vmss2}', checks=[
61956214 self.check('scope', None),
61966215 ])
@@ -6217,8 +6236,10 @@ def test_vm_explicit_msi(self, resource_group):
62176236 emsi2_result = self.cmd('identity create -g {rg} -n {emsi2}').get_output_in_json()
62186237
62196238 # create a vm with only user assigned identity
6220- result = self.cmd('vm create -g {rg} -n vm2 --image Debian:debian-10:10:latest --assign-identity {emsi} '
6221- '--generate-ssh-keys --admin-username {user} --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE', checks=[
6239+ result = self.cmd('vm create -g {rg} -n vm2 --image Debian:debian-10:10:latest '
6240+ '--assign-identity {emsi} --generate-ssh-keys --admin-username {user} '
6241+ '--subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6242+ '--size Standard_B2ms', checks=[
62226243 self.check('identity.role', None),
62236244 self.check('identity.scope', None),
62246245 ]).get_output_in_json()
@@ -6232,7 +6253,10 @@ def test_vm_explicit_msi(self, resource_group):
62326253 self.assertFalse(result['identity']['systemAssignedIdentity'])
62336254
62346255 # create a vm with system + user assigned identities
6235- result = self.cmd('vm create -g {rg} -n {vm} --image Debian:debian-10:10:latest --assign-identity {emsi} [system] --role reader --scope {scope} --generate-ssh-keys --admin-username {user} --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE').get_output_in_json()
6256+ result = self.cmd('vm create -g {rg} -n {vm} --image Debian:debian-10:10:latest '
6257+ '--assign-identity {emsi} [system] --role reader --scope {scope} --generate-ssh-keys '
6258+ '--admin-username {user} --subnet {subnet} --vnet-name {vnet} --nsg-rule NONE '
6259+ '--size Standard_B2ms').get_output_in_json()
62366260 emsis = [x.lower() for x in result['identity']['userAssignedIdentities'].keys()]
62376261 self.assertEqual(emsis, [emsi_result['id'].lower()])
62386262 result = self.cmd('vm identity show -g {rg} -n {vm}', checks=[
0 commit comments