Ejemplo n.º 1
0
def show_vmss_encryption_status(cmd, resource_group_name, vmss_name):
    encryption_ext_names = [v['name'] for v in vmss_extension_info.values()]
    views = get_vmss_instance_view(cmd, resource_group_name, vmss_name)
    if not views.extensions or not [
            e for e in views.extensions if e.name in encryption_ext_names
    ]:
        from knack.util import CLIError
        raise CLIError("'{}' is not encrypted yet".format(vmss_name))

    views = get_vmss_instance_view(cmd,
                                   resource_group_name,
                                   vmss_name,
                                   instance_id='*')
    result = [{'disks': v.disks, 'extensions': v.extensions} for v in views]
    # get rid of unrelaed disk status
    for r in result:
        for d in r['disks']:
            d.statuses = [
                s for s in d.statuses if s.code.startswith('EncryptionState')
            ]
        r['encryption-extension'] = next((e for e in (r['extensions'] or [])
                                          if e.name in encryption_ext_names),
                                         None)
        r.pop('extensions')  # we don't need this array any more
    return result
Ejemplo n.º 2
0
    def test_show_vmss_instance_view(self, factory_mock):
        vm_client = mock.MagicMock()
        factory_mock.return_value = vm_client

        # execute
        get_vmss_instance_view('rg1', 'vmss1', '*')
        # assert
        vm_client.virtual_machine_scale_set_vms.list.assert_called_once_with(
            'rg1', 'vmss1', expand='instanceView', select='instanceView')
Ejemplo n.º 3
0
    def test_show_vmss_instance_view(self, factory_mock):
        vm_client = mock.MagicMock()
        factory_mock.return_value = vm_client

        # execute
        get_vmss_instance_view('rg1', 'vmss1', '*')
        # assert
        vm_client.virtual_machine_scale_set_vms.list.assert_called_once_with('rg1', 'vmss1', expand='instanceView',
                                                                             select='instanceView')