- # create login permission for the given vm_uuid, if it does not already exist
- def create_vm_login_permission_link(vm_uuid, repo_name)
- # Look up the given virtual machine just to make sure it really exists.
- begin
- vm = (vms = VirtualMachine.where(uuid: vm_uuid)) != nil ? vms.first : nil
- if not vm
- logger.warn "Could not look up virtual machine with uuid #{vm_uuid.inspect}"
- return
- end
-
- logger.info { "vm uuid: " + vm[:uuid] }
-
- login_perm = Link.where(tail_uuid: @object[:uuid],
- head_uuid: vm[:uuid],
- head_kind: 'arvados#virtualMachine',
- link_class: 'permission',
- name: 'can_login')
- if [] == login_perm
- login_perm = Link.create(tail_kind: 'arvados#user',
- tail_uuid: @object[:uuid],
- head_kind: 'arvados#virtualMachine',
- head_uuid: vm[:uuid],
- link_class: 'permission',
- name: 'can_login',
- properties: {username: repo_name})
- logger.info { "login permission: " + login_perm[:uuid] }
- end
- end
+ # delete user agreements, vm, repository, login links; set state to inactive
+ def unsetup
+ reload_object_before_update
+ @object.unsetup
+ show