16264: Merge branch 'master' into 16264-add-r-dependencies
authorWard Vandewege <ward@curii.com>
Thu, 24 Sep 2020 21:00:25 +0000 (17:00 -0400)
committerWard Vandewege <ward@curii.com>
Thu, 24 Sep 2020 21:00:45 +0000 (17:00 -0400)
Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

18 files changed:
sdk/R/DESCRIPTION
sdk/R/R/Arvados.R
sdk/R/R/ArvadosFile.R
sdk/R/R/Collection.R
sdk/R/R/CollectionTree.R
sdk/R/R/HttpParser.R
sdk/R/R/HttpRequest.R
sdk/R/R/RESTService.R
sdk/R/R/Subcollection.R
sdk/R/R/autoGenAPI.R
sdk/R/tests/testthat/test-ArvadosFile.R
sdk/R/tests/testthat/test-Collection.R
sdk/R/tests/testthat/test-CollectionTree.R
sdk/R/tests/testthat/test-HttpParser.R
sdk/R/tests/testthat/test-HttpRequest.R
sdk/R/tests/testthat/test-RESTService.R
sdk/R/tests/testthat/test-Subcollection.R
services/api/test/fixtures/links.yml

index 878a70901452b47e2710a52be85504179767ea38..75ac892b4ba6680a7af4c91e47f1e770fcd7020c 100644 (file)
@@ -1,9 +1,9 @@
 Package: ArvadosR
 Type: Package
 Title: Arvados R SDK
-Version: 0.0.5
-Authors@R: person("Fuad", "Muhic", role = c("aut", "cre"), email = "fmuhic@capeannenterprises.com")
-Maintainer: Ward Vandewege <wvandewege@veritasgenetics.com>
+Version: 0.0.6
+Authors@R: c(person("Fuad", "Muhic", role = c("aut", "ctr"), email = "fmuhic@capeannenterprises.com"),
+             person("Peter", "Amstutz", role = c("cre"), email = "peter.amstutz@curii.com"))
 Description: This is the Arvados R SDK
 URL: http://doc.arvados.org
 License: Apache-2.0
index 744cb3c296163906be8be5858e0713e8d43aa44e..528a60665043d90cba5c785c45fd20615538499c 100644 (file)
-#' users.get
-#' 
-#' users.get is a method defined in Arvados class.
-#' 
-#' @usage arv$users.get(uuid)
-#' @param uuid The UUID of the User in question.
-#' @return User object.
-#' @name users.get
-NULL
-
-#' users.create
-#' 
-#' users.create is a method defined in Arvados class.
-#' 
-#' @usage arv$users.create(user, ensure_unique_name = "false")
-#' @param user User object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return User object.
-#' @name users.create
-NULL
-
-#' users.update
-#' 
-#' users.update is a method defined in Arvados class.
-#' 
-#' @usage arv$users.update(user, uuid)
-#' @param user User object.
-#' @param uuid The UUID of the User in question.
-#' @return User object.
-#' @name users.update
-NULL
-
-#' users.delete
-#' 
-#' users.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$users.delete(uuid)
-#' @param uuid The UUID of the User in question.
-#' @return User object.
-#' @name users.delete
-NULL
-
-#' users.current
-#' 
-#' users.current is a method defined in Arvados class.
-#' 
-#' @usage arv$users.current(NULL)
-#' @return User object.
-#' @name users.current
-NULL
-
-#' users.system
-#' 
-#' users.system is a method defined in Arvados class.
-#' 
-#' @usage arv$users.system(NULL)
-#' @return User object.
-#' @name users.system
-NULL
-
-#' users.activate
-#' 
-#' users.activate is a method defined in Arvados class.
-#' 
-#' @usage arv$users.activate(uuid)
-#' @param uuid 
-#' @return User object.
-#' @name users.activate
-NULL
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
 
-#' users.setup
+#' api_clients.get
 #' 
-#' users.setup is a method defined in Arvados class.
+#' api_clients.get is a method defined in Arvados class.
 #' 
-#' @usage arv$users.setup(user = NULL, openid_prefix = NULL,
-#'     repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
-#' @param user 
-#' @param openid_prefix 
-#' @param repo_name 
-#' @param vm_uuid 
-#' @param send_notification_email 
-#' @return User object.
-#' @name users.setup
+#' @usage arv$api_clients.get(uuid)
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.get
 NULL
 
-#' users.unsetup
+#' api_clients.create
 #' 
-#' users.unsetup is a method defined in Arvados class.
+#' api_clients.create is a method defined in Arvados class.
 #' 
-#' @usage arv$users.unsetup(uuid)
-#' @param uuid 
-#' @return User object.
-#' @name users.unsetup
+#' @usage arv$api_clients.create(apiclient,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param apiClient ApiClient object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return ApiClient object.
+#' @name api_clients.create
 NULL
 
-#' users.update_uuid
+#' api_clients.update
 #' 
-#' users.update_uuid is a method defined in Arvados class.
+#' api_clients.update is a method defined in Arvados class.
 #' 
-#' @usage arv$users.update_uuid(uuid, new_uuid)
-#' @param uuid 
-#' @param new_uuid 
-#' @return User object.
-#' @name users.update_uuid
+#' @usage arv$api_clients.update(apiclient,
+#'     uuid)
+#' @param apiClient ApiClient object.
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.update
 NULL
 
-#' users.merge
+#' api_clients.delete
 #' 
-#' users.merge is a method defined in Arvados class.
+#' api_clients.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$users.merge(new_owner_uuid,
-#'     new_user_token, redirect_to_new_user = NULL)
-#' @param new_owner_uuid 
-#' @param new_user_token 
-#' @param redirect_to_new_user 
-#' @return User object.
-#' @name users.merge
+#' @usage arv$api_clients.delete(uuid)
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.delete
 NULL
 
-#' users.list
+#' api_clients.list
 #' 
-#' users.list is a method defined in Arvados class.
+#' api_clients.list is a method defined in Arvados class.
 #' 
-#' @usage arv$users.list(filters = NULL,
+#' @usage arv$api_clients.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -133,8 +63,10 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return UserList object.
-#' @name users.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return ApiClientList object.
+#' @name api_clients.list
 NULL
 
 #' api_client_authorizations.get
@@ -152,9 +84,10 @@ NULL
 #' api_client_authorizations.create is a method defined in Arvados class.
 #' 
 #' @usage arv$api_client_authorizations.create(apiclientauthorization,
-#'     ensure_unique_name = "false")
+#'     ensure_unique_name = "false", cluster_id = NULL)
 #' @param apiClientAuthorization ApiClientAuthorization object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
 #' @return ApiClientAuthorization object.
 #' @name api_client_authorizations.create
 NULL
@@ -209,7 +142,7 @@ NULL
 #' @usage arv$api_client_authorizations.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -218,111 +151,173 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
 #' @return ApiClientAuthorizationList object.
 #' @name api_client_authorizations.list
 NULL
 
-#' containers.get
+#' authorized_keys.get
 #' 
-#' containers.get is a method defined in Arvados class.
+#' authorized_keys.get is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.get(uuid)
-#' @param uuid The UUID of the Container in question.
-#' @return Container object.
-#' @name containers.get
+#' @usage arv$authorized_keys.get(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.get
 NULL
 
-#' containers.create
+#' authorized_keys.create
 #' 
-#' containers.create is a method defined in Arvados class.
+#' authorized_keys.create is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.create(container,
-#'     ensure_unique_name = "false")
-#' @param container Container object.
+#' @usage arv$authorized_keys.create(authorizedkey,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param authorizedKey AuthorizedKey object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Container object.
-#' @name containers.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.create
 NULL
 
-#' containers.update
+#' authorized_keys.update
 #' 
-#' containers.update is a method defined in Arvados class.
+#' authorized_keys.update is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.update(container,
+#' @usage arv$authorized_keys.update(authorizedkey,
 #'     uuid)
-#' @param container Container object.
-#' @param uuid The UUID of the Container in question.
-#' @return Container object.
-#' @name containers.update
+#' @param authorizedKey AuthorizedKey object.
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.update
 NULL
 
-#' containers.delete
+#' authorized_keys.delete
 #' 
-#' containers.delete is a method defined in Arvados class.
+#' authorized_keys.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.delete(uuid)
-#' @param uuid The UUID of the Container in question.
-#' @return Container object.
-#' @name containers.delete
+#' @usage arv$authorized_keys.delete(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.delete
 NULL
 
-#' containers.auth
+#' authorized_keys.list
 #' 
-#' containers.auth is a method defined in Arvados class.
+#' authorized_keys.list is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.auth(uuid)
-#' @param uuid 
-#' @return Container object.
-#' @name containers.auth
+#' @usage arv$authorized_keys.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return AuthorizedKeyList object.
+#' @name authorized_keys.list
 NULL
 
-#' containers.lock
+#' collections.get
 #' 
-#' containers.lock is a method defined in Arvados class.
+#' collections.get is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.lock(uuid)
-#' @param uuid 
-#' @return Container object.
-#' @name containers.lock
+#' @usage arv$collections.get(uuid)
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.get
 NULL
 
-#' containers.unlock
+#' collections.create
 #' 
-#' containers.unlock is a method defined in Arvados class.
+#' collections.create is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.unlock(uuid)
-#' @param uuid 
-#' @return Container object.
-#' @name containers.unlock
+#' @usage arv$collections.create(collection,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param collection Collection object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Collection object.
+#' @name collections.create
 NULL
 
-#' containers.secret_mounts
+#' collections.update
 #' 
-#' containers.secret_mounts is a method defined in Arvados class.
+#' collections.update is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.secret_mounts(uuid)
-#' @param uuid 
-#' @return Container object.
-#' @name containers.secret_mounts
+#' @usage arv$collections.update(collection,
+#'     uuid)
+#' @param collection Collection object.
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.update
 NULL
 
-#' containers.current
+#' collections.delete
 #' 
-#' containers.current is a method defined in Arvados class.
+#' collections.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.current(NULL)
-#' @return Container object.
-#' @name containers.current
+#' @usage arv$collections.delete(uuid)
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.delete
 NULL
 
-#' containers.list
+#' collections.provenance
 #' 
-#' containers.list is a method defined in Arvados class.
+#' collections.provenance is a method defined in Arvados class.
 #' 
-#' @usage arv$containers.list(filters = NULL,
+#' @usage arv$collections.provenance(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.provenance
+NULL
+
+#' collections.used_by
+#' 
+#' collections.used_by is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.used_by(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.used_by
+NULL
+
+#' collections.trash
+#' 
+#' collections.trash is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.trash(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.trash
+NULL
+
+#' collections.untrash
+#' 
+#' collections.untrash is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.untrash(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.untrash
+NULL
+
+#' collections.list
+#' 
+#' collections.list is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL,
+#'     include_trash = NULL, include_old_versions = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -331,62 +326,116 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return ContainerList object.
-#' @name containers.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @param include_trash Include collections whose is_trashed attribute is true.
+#' @param include_old_versions Include past collection versions.
+#' @return CollectionList object.
+#' @name collections.list
 NULL
 
-#' api_clients.get
+#' containers.get
 #' 
-#' api_clients.get is a method defined in Arvados class.
+#' containers.get is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.get(uuid)
-#' @param uuid The UUID of the ApiClient in question.
-#' @return ApiClient object.
-#' @name api_clients.get
+#' @usage arv$containers.get(uuid)
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.get
 NULL
 
-#' api_clients.create
+#' containers.create
 #' 
-#' api_clients.create is a method defined in Arvados class.
+#' containers.create is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.create(apiclient,
-#'     ensure_unique_name = "false")
-#' @param apiClient ApiClient object.
+#' @usage arv$containers.create(container,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param container Container object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return ApiClient object.
-#' @name api_clients.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Container object.
+#' @name containers.create
 NULL
 
-#' api_clients.update
+#' containers.update
 #' 
-#' api_clients.update is a method defined in Arvados class.
+#' containers.update is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.update(apiclient,
+#' @usage arv$containers.update(container,
 #'     uuid)
-#' @param apiClient ApiClient object.
-#' @param uuid The UUID of the ApiClient in question.
-#' @return ApiClient object.
-#' @name api_clients.update
+#' @param container Container object.
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.update
 NULL
 
-#' api_clients.delete
+#' containers.delete
 #' 
-#' api_clients.delete is a method defined in Arvados class.
+#' containers.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.delete(uuid)
-#' @param uuid The UUID of the ApiClient in question.
-#' @return ApiClient object.
-#' @name api_clients.delete
+#' @usage arv$containers.delete(uuid)
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.delete
 NULL
 
-#' api_clients.list
+#' containers.auth
 #' 
-#' api_clients.list is a method defined in Arvados class.
+#' containers.auth is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.list(filters = NULL,
+#' @usage arv$containers.auth(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.auth
+NULL
+
+#' containers.lock
+#' 
+#' containers.lock is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.lock(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.lock
+NULL
+
+#' containers.unlock
+#' 
+#' containers.unlock is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.unlock(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.unlock
+NULL
+
+#' containers.secret_mounts
+#' 
+#' containers.secret_mounts is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.secret_mounts(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.secret_mounts
+NULL
+
+#' containers.current
+#' 
+#' containers.current is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.current(NULL)
+#' @return Container object.
+#' @name containers.current
+NULL
+
+#' containers.list
+#' 
+#' containers.list is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -395,8 +444,10 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return ApiClientList object.
-#' @name api_clients.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return ContainerList object.
+#' @name containers.list
 NULL
 
 #' container_requests.get
@@ -414,9 +465,10 @@ NULL
 #' container_requests.create is a method defined in Arvados class.
 #' 
 #' @usage arv$container_requests.create(containerrequest,
-#'     ensure_unique_name = "false")
+#'     ensure_unique_name = "false", cluster_id = NULL)
 #' @param containerRequest ContainerRequest object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
 #' @return ContainerRequest object.
 #' @name container_requests.create
 NULL
@@ -450,7 +502,8 @@ NULL
 #' @usage arv$container_requests.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL,
+#'     include_trash = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -459,62 +512,96 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @param include_trash Include container requests whose owner project is trashed.
 #' @return ContainerRequestList object.
 #' @name container_requests.list
 NULL
 
-#' authorized_keys.get
+#' groups.get
 #' 
-#' authorized_keys.get is a method defined in Arvados class.
+#' groups.get is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.get(uuid)
-#' @param uuid The UUID of the AuthorizedKey in question.
-#' @return AuthorizedKey object.
-#' @name authorized_keys.get
+#' @usage arv$groups.get(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name groups.get
 NULL
 
-#' authorized_keys.create
+#' groups.create
 #' 
-#' authorized_keys.create is a method defined in Arvados class.
+#' groups.create is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.create(authorizedkey,
-#'     ensure_unique_name = "false")
-#' @param authorizedKey AuthorizedKey object.
+#' @usage arv$groups.create(group, ensure_unique_name = "false",
+#'     cluster_id = NULL, async = "false")
+#' @param group Group object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return AuthorizedKey object.
-#' @name authorized_keys.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @param async defer permissions update
+#' @return Group object.
+#' @name groups.create
 NULL
 
-#' authorized_keys.update
+#' groups.update
 #' 
-#' authorized_keys.update is a method defined in Arvados class.
+#' groups.update is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.update(authorizedkey,
-#'     uuid)
-#' @param authorizedKey AuthorizedKey object.
-#' @param uuid The UUID of the AuthorizedKey in question.
-#' @return AuthorizedKey object.
-#' @name authorized_keys.update
+#' @usage arv$groups.update(group, uuid,
+#'     async = "false")
+#' @param group Group object.
+#' @param uuid The UUID of the Group in question.
+#' @param async defer permissions update
+#' @return Group object.
+#' @name groups.update
 NULL
 
-#' authorized_keys.delete
+#' groups.delete
 #' 
-#' authorized_keys.delete is a method defined in Arvados class.
+#' groups.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.delete(uuid)
-#' @param uuid The UUID of the AuthorizedKey in question.
-#' @return AuthorizedKey object.
-#' @name authorized_keys.delete
+#' @usage arv$groups.delete(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name groups.delete
 NULL
 
-#' authorized_keys.list
+#' groups.contents
 #' 
-#' authorized_keys.list is a method defined in Arvados class.
+#' groups.contents is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.list(filters = NULL,
+#' @usage arv$groups.contents(filters = NULL,
+#'     where = NULL, order = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact",
+#'     cluster_id = NULL, bypass_federation = NULL,
+#'     include_trash = NULL, uuid = NULL, recursive = NULL,
+#'     include = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @param uuid 
+#' @param recursive Include contents from child groups recursively.
+#' @param include Include objects referred to by listed field in "included" (only owner_uuid)
+#' @return Group object.
+#' @name groups.contents
+NULL
+
+#' groups.shared
+#' 
+#' groups.shared is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.shared(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL,
+#'     include_trash = NULL, include = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -523,102 +610,120 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return AuthorizedKeyList object.
-#' @name authorized_keys.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @param include 
+#' @return Group object.
+#' @name groups.shared
 NULL
 
-#' collections.get
+#' groups.trash
 #' 
-#' collections.get is a method defined in Arvados class.
+#' groups.trash is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.get(uuid)
-#' @param uuid The UUID of the Collection in question.
-#' @return Collection object.
-#' @name collections.get
+#' @usage arv$groups.trash(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.trash
 NULL
 
-#' collections.create
+#' groups.untrash
 #' 
-#' collections.create is a method defined in Arvados class.
+#' groups.untrash is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.create(collection,
-#'     ensure_unique_name = "false")
-#' @param collection Collection object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Collection object.
-#' @name collections.create
+#' @usage arv$groups.untrash(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.untrash
 NULL
 
-#' collections.update
+#' groups.list
 #' 
-#' collections.update is a method defined in Arvados class.
+#' groups.list is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.update(collection,
-#'     uuid)
-#' @param collection Collection object.
-#' @param uuid The UUID of the Collection in question.
-#' @return Collection object.
-#' @name collections.update
+#' @usage arv$groups.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL,
+#'     include_trash = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @return GroupList object.
+#' @name groups.list
 NULL
 
-#' collections.delete
+#' keep_services.get
 #' 
-#' collections.delete is a method defined in Arvados class.
+#' keep_services.get is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.delete(uuid)
-#' @param uuid The UUID of the Collection in question.
-#' @return Collection object.
-#' @name collections.delete
+#' @usage arv$keep_services.get(uuid)
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.get
 NULL
 
-#' collections.provenance
+#' keep_services.create
 #' 
-#' collections.provenance is a method defined in Arvados class.
+#' keep_services.create is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.provenance(uuid)
-#' @param uuid 
-#' @return Collection object.
-#' @name collections.provenance
+#' @usage arv$keep_services.create(keepservice,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param keepService KeepService object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return KeepService object.
+#' @name keep_services.create
 NULL
 
-#' collections.used_by
+#' keep_services.update
 #' 
-#' collections.used_by is a method defined in Arvados class.
+#' keep_services.update is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.used_by(uuid)
-#' @param uuid 
-#' @return Collection object.
-#' @name collections.used_by
+#' @usage arv$keep_services.update(keepservice,
+#'     uuid)
+#' @param keepService KeepService object.
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.update
 NULL
 
-#' collections.trash
+#' keep_services.delete
 #' 
-#' collections.trash is a method defined in Arvados class.
+#' keep_services.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.trash(uuid)
-#' @param uuid 
-#' @return Collection object.
-#' @name collections.trash
+#' @usage arv$keep_services.delete(uuid)
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.delete
 NULL
 
-#' collections.untrash
+#' keep_services.accessible
 #' 
-#' collections.untrash is a method defined in Arvados class.
+#' keep_services.accessible is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.untrash(uuid)
-#' @param uuid 
-#' @return Collection object.
-#' @name collections.untrash
+#' @usage arv$keep_services.accessible(NULL)
+#' @return KeepService object.
+#' @name keep_services.accessible
 NULL
 
-#' collections.list
+#' keep_services.list
 #' 
-#' collections.list is a method defined in Arvados class.
+#' keep_services.list is a method defined in Arvados class.
 #' 
-#' @usage arv$collections.list(filters = NULL,
+#' @usage arv$keep_services.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact", include_trash = NULL)
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -627,61 +732,64 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @param include_trash Include collections whose is_trashed attribute is true.
-#' @return CollectionList object.
-#' @name collections.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return KeepServiceList object.
+#' @name keep_services.list
 NULL
 
-#' humans.get
+#' links.get
 #' 
-#' humans.get is a method defined in Arvados class.
+#' links.get is a method defined in Arvados class.
 #' 
-#' @usage arv$humans.get(uuid)
-#' @param uuid The UUID of the Human in question.
-#' @return Human object.
-#' @name humans.get
+#' @usage arv$links.get(uuid)
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.get
 NULL
 
-#' humans.create
+#' links.create
 #' 
-#' humans.create is a method defined in Arvados class.
+#' links.create is a method defined in Arvados class.
 #' 
-#' @usage arv$humans.create(human, ensure_unique_name = "false")
-#' @param human Human object.
+#' @usage arv$links.create(link, ensure_unique_name = "false",
+#'     cluster_id = NULL)
+#' @param link Link object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Human object.
-#' @name humans.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Link object.
+#' @name links.create
 NULL
 
-#' humans.update
+#' links.update
 #' 
-#' humans.update is a method defined in Arvados class.
+#' links.update is a method defined in Arvados class.
 #' 
-#' @usage arv$humans.update(human, uuid)
-#' @param human Human object.
-#' @param uuid The UUID of the Human in question.
-#' @return Human object.
-#' @name humans.update
+#' @usage arv$links.update(link, uuid)
+#' @param link Link object.
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.update
 NULL
 
-#' humans.delete
+#' links.delete
 #' 
-#' humans.delete is a method defined in Arvados class.
+#' links.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$humans.delete(uuid)
-#' @param uuid The UUID of the Human in question.
-#' @return Human object.
-#' @name humans.delete
+#' @usage arv$links.delete(uuid)
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.delete
 NULL
 
-#' humans.list
+#' links.list
 #' 
-#' humans.list is a method defined in Arvados class.
+#' links.list is a method defined in Arvados class.
 #' 
-#' @usage arv$humans.list(filters = NULL,
+#' @usage arv$links.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -690,60 +798,74 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return HumanList object.
-#' @name humans.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return LinkList object.
+#' @name links.list
+NULL
+
+#' links.get_permissions
+#' 
+#' links.get_permissions is a method defined in Arvados class.
+#' 
+#' @usage arv$links.get_permissions(uuid)
+#' @param uuid 
+#' @return Link object.
+#' @name links.get_permissions
 NULL
 
-#' job_tasks.get
+#' logs.get
 #' 
-#' job_tasks.get is a method defined in Arvados class.
+#' logs.get is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.get(uuid)
-#' @param uuid The UUID of the JobTask in question.
-#' @return JobTask object.
-#' @name job_tasks.get
+#' @usage arv$logs.get(uuid)
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.get
 NULL
 
-#' job_tasks.create
+#' logs.create
 #' 
-#' job_tasks.create is a method defined in Arvados class.
+#' logs.create is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.create(jobtask, ensure_unique_name = "false")
-#' @param jobTask JobTask object.
+#' @usage arv$logs.create(log, ensure_unique_name = "false",
+#'     cluster_id = NULL)
+#' @param log Log object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return JobTask object.
-#' @name job_tasks.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Log object.
+#' @name logs.create
 NULL
 
-#' job_tasks.update
+#' logs.update
 #' 
-#' job_tasks.update is a method defined in Arvados class.
+#' logs.update is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.update(jobtask, uuid)
-#' @param jobTask JobTask object.
-#' @param uuid The UUID of the JobTask in question.
-#' @return JobTask object.
-#' @name job_tasks.update
+#' @usage arv$logs.update(log, uuid)
+#' @param log Log object.
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.update
 NULL
 
-#' job_tasks.delete
+#' logs.delete
 #' 
-#' job_tasks.delete is a method defined in Arvados class.
+#' logs.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.delete(uuid)
-#' @param uuid The UUID of the JobTask in question.
-#' @return JobTask object.
-#' @name job_tasks.delete
+#' @usage arv$logs.delete(uuid)
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.delete
 NULL
 
-#' job_tasks.list
+#' logs.list
 #' 
-#' job_tasks.list is a method defined in Arvados class.
+#' logs.list is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#' @usage arv$logs.list(filters = NULL, where = NULL,
+#'     order = NULL, select = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact",
+#'     cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -752,196 +874,145 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return JobTaskList object.
-#' @name job_tasks.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return LogList object.
+#' @name logs.list
 NULL
 
-#' jobs.get
+#' users.get
 #' 
-#' jobs.get is a method defined in Arvados class.
+#' users.get is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.get(uuid)
-#' @param uuid The UUID of the Job in question.
-#' @return Job object.
-#' @name jobs.get
+#' @usage arv$users.get(uuid)
+#' @param uuid The UUID of the User in question.
+#' @return User object.
+#' @name users.get
 NULL
 
-#' jobs.create
+#' users.create
 #' 
-#' jobs.create is a method defined in Arvados class.
+#' users.create is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.create(job, ensure_unique_name = "false",
-#'     find_or_create = "false", filters = NULL,
-#'     minimum_script_version = NULL, exclude_script_versions = NULL)
-#' @param job Job object.
+#' @usage arv$users.create(user, ensure_unique_name = "false",
+#'     cluster_id = NULL)
+#' @param user User object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @param find_or_create 
-#' @param filters 
-#' @param minimum_script_version 
-#' @param exclude_script_versions 
-#' @return Job object.
-#' @name jobs.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return User object.
+#' @name users.create
 NULL
 
-#' jobs.update
+#' users.update
 #' 
-#' jobs.update is a method defined in Arvados class.
+#' users.update is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.update(job, uuid)
-#' @param job Job object.
-#' @param uuid The UUID of the Job in question.
-#' @return Job object.
-#' @name jobs.update
+#' @usage arv$users.update(user, uuid, bypass_federation = NULL)
+#' @param user User object.
+#' @param uuid The UUID of the User in question.
+#' @param bypass_federation 
+#' @return User object.
+#' @name users.update
 NULL
 
-#' jobs.delete
+#' users.delete
 #' 
-#' jobs.delete is a method defined in Arvados class.
+#' users.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.delete(uuid)
-#' @param uuid The UUID of the Job in question.
-#' @return Job object.
-#' @name jobs.delete
+#' @usage arv$users.delete(uuid)
+#' @param uuid The UUID of the User in question.
+#' @return User object.
+#' @name users.delete
 NULL
 
-#' jobs.queue
+#' users.current
 #' 
-#' jobs.queue is a method defined in Arvados class.
+#' users.current is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.queue(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return Job object.
-#' @name jobs.queue
+#' @usage arv$users.current(NULL)
+#' @return User object.
+#' @name users.current
 NULL
 
-#' jobs.queue_size
+#' users.system
 #' 
-#' jobs.queue_size is a method defined in Arvados class.
+#' users.system is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.queue_size(NULL)
-#' @return Job object.
-#' @name jobs.queue_size
+#' @usage arv$users.system(NULL)
+#' @return User object.
+#' @name users.system
 NULL
 
-#' jobs.cancel
+#' users.activate
 #' 
-#' jobs.cancel is a method defined in Arvados class.
+#' users.activate is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.cancel(uuid)
+#' @usage arv$users.activate(uuid)
 #' @param uuid 
-#' @return Job object.
-#' @name jobs.cancel
+#' @return User object.
+#' @name users.activate
 NULL
 
-#' jobs.lock
+#' users.setup
 #' 
-#' jobs.lock is a method defined in Arvados class.
+#' users.setup is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.lock(uuid)
+#' @usage arv$users.setup(uuid = NULL, user = NULL,
+#'     repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
 #' @param uuid 
-#' @return Job object.
-#' @name jobs.lock
+#' @param user 
+#' @param repo_name 
+#' @param vm_uuid 
+#' @param send_notification_email 
+#' @return User object.
+#' @name users.setup
 NULL
 
-#' jobs.list
+#' users.unsetup
 #' 
-#' jobs.list is a method defined in Arvados class.
+#' users.unsetup is a method defined in Arvados class.
 #' 
-#' @usage arv$jobs.list(filters = NULL, where = NULL,
-#'     order = NULL, select = NULL, distinct = NULL,
-#'     limit = "100", offset = "0", count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return JobList object.
-#' @name jobs.list
+#' @usage arv$users.unsetup(uuid)
+#' @param uuid 
+#' @return User object.
+#' @name users.unsetup
 NULL
 
-#' keep_disks.get
+#' users.update_uuid
 #' 
-#' keep_disks.get is a method defined in Arvados class.
+#' users.update_uuid is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_disks.get(uuid)
-#' @param uuid The UUID of the KeepDisk in question.
-#' @return KeepDisk object.
-#' @name keep_disks.get
+#' @usage arv$users.update_uuid(uuid, new_uuid)
+#' @param uuid 
+#' @param new_uuid 
+#' @return User object.
+#' @name users.update_uuid
 NULL
 
-#' keep_disks.create
+#' users.merge
 #' 
-#' keep_disks.create is a method defined in Arvados class.
+#' users.merge is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_disks.create(keepdisk,
-#'     ensure_unique_name = "false")
-#' @param keepDisk KeepDisk object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return KeepDisk object.
-#' @name keep_disks.create
-NULL
-
-#' keep_disks.update
-#' 
-#' keep_disks.update is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_disks.update(keepdisk,
-#'     uuid)
-#' @param keepDisk KeepDisk object.
-#' @param uuid The UUID of the KeepDisk in question.
-#' @return KeepDisk object.
-#' @name keep_disks.update
-NULL
-
-#' keep_disks.delete
-#' 
-#' keep_disks.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_disks.delete(uuid)
-#' @param uuid The UUID of the KeepDisk in question.
-#' @return KeepDisk object.
-#' @name keep_disks.delete
-NULL
-
-#' keep_disks.ping
-#' 
-#' keep_disks.ping is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_disks.ping(uuid = NULL,
-#'     ping_secret, node_uuid = NULL, filesystem_uuid = NULL,
-#'     service_host = NULL, service_port, service_ssl_flag)
-#' @param uuid 
-#' @param ping_secret 
-#' @param node_uuid 
-#' @param filesystem_uuid 
-#' @param service_host 
-#' @param service_port 
-#' @param service_ssl_flag 
-#' @return KeepDisk object.
-#' @name keep_disks.ping
+#' @usage arv$users.merge(new_owner_uuid,
+#'     new_user_token = NULL, redirect_to_new_user = NULL,
+#'     old_user_uuid = NULL, new_user_uuid = NULL)
+#' @param new_owner_uuid 
+#' @param new_user_token 
+#' @param redirect_to_new_user 
+#' @param old_user_uuid 
+#' @param new_user_uuid 
+#' @return User object.
+#' @name users.merge
 NULL
 
-#' keep_disks.list
+#' users.list
 #' 
-#' keep_disks.list is a method defined in Arvados class.
+#' users.list is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_disks.list(filters = NULL,
+#' @usage arv$users.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -950,74 +1021,74 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return KeepDiskList object.
-#' @name keep_disks.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return UserList object.
+#' @name users.list
 NULL
 
-#' nodes.get
+#' repositories.get
 #' 
-#' nodes.get is a method defined in Arvados class.
+#' repositories.get is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.get(uuid)
-#' @param uuid The UUID of the Node in question.
-#' @return Node object.
-#' @name nodes.get
+#' @usage arv$repositories.get(uuid)
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.get
 NULL
 
-#' nodes.create
+#' repositories.create
 #' 
-#' nodes.create is a method defined in Arvados class.
+#' repositories.create is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.create(node, ensure_unique_name = "false",
-#'     assign_slot = NULL)
-#' @param node Node object.
+#' @usage arv$repositories.create(repository,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param repository Repository object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @param assign_slot assign slot and hostname
-#' @return Node object.
-#' @name nodes.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Repository object.
+#' @name repositories.create
 NULL
 
-#' nodes.update
+#' repositories.update
 #' 
-#' nodes.update is a method defined in Arvados class.
+#' repositories.update is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.update(node, uuid, assign_slot = NULL)
-#' @param node Node object.
-#' @param uuid The UUID of the Node in question.
-#' @param assign_slot assign slot and hostname
-#' @return Node object.
-#' @name nodes.update
+#' @usage arv$repositories.update(repository,
+#'     uuid)
+#' @param repository Repository object.
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.update
 NULL
 
-#' nodes.delete
+#' repositories.delete
 #' 
-#' nodes.delete is a method defined in Arvados class.
+#' repositories.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.delete(uuid)
-#' @param uuid The UUID of the Node in question.
-#' @return Node object.
-#' @name nodes.delete
+#' @usage arv$repositories.delete(uuid)
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.delete
 NULL
 
-#' nodes.ping
+#' repositories.get_all_permissions
 #' 
-#' nodes.ping is a method defined in Arvados class.
+#' repositories.get_all_permissions is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.ping(uuid, ping_secret)
-#' @param uuid 
-#' @param ping_secret 
-#' @return Node object.
-#' @name nodes.ping
+#' @usage arv$repositories.get_all_permissions(NULL)
+#' @return Repository object.
+#' @name repositories.get_all_permissions
 NULL
 
-#' nodes.list
+#' repositories.list
 #' 
-#' nodes.list is a method defined in Arvados class.
+#' repositories.list is a method defined in Arvados class.
 #' 
-#' @usage arv$nodes.list(filters = NULL,
+#' @usage arv$repositories.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -1026,143 +1097,84 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return NodeList object.
-#' @name nodes.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return RepositoryList object.
+#' @name repositories.list
 NULL
 
-#' links.get
+#' virtual_machines.get
 #' 
-#' links.get is a method defined in Arvados class.
+#' virtual_machines.get is a method defined in Arvados class.
 #' 
-#' @usage arv$links.get(uuid)
-#' @param uuid The UUID of the Link in question.
-#' @return Link object.
-#' @name links.get
+#' @usage arv$virtual_machines.get(uuid)
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.get
 NULL
 
-#' links.create
+#' virtual_machines.create
 #' 
-#' links.create is a method defined in Arvados class.
+#' virtual_machines.create is a method defined in Arvados class.
 #' 
-#' @usage arv$links.create(link, ensure_unique_name = "false")
-#' @param link Link object.
+#' @usage arv$virtual_machines.create(virtualmachine,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param virtualMachine VirtualMachine object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Link object.
-#' @name links.create
-NULL
-
-#' links.update
-#' 
-#' links.update is a method defined in Arvados class.
-#' 
-#' @usage arv$links.update(link, uuid)
-#' @param link Link object.
-#' @param uuid The UUID of the Link in question.
-#' @return Link object.
-#' @name links.update
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return VirtualMachine object.
+#' @name virtual_machines.create
 NULL
 
-#' links.delete
+#' virtual_machines.update
 #' 
-#' links.delete is a method defined in Arvados class.
+#' virtual_machines.update is a method defined in Arvados class.
 #' 
-#' @usage arv$links.delete(uuid)
-#' @param uuid The UUID of the Link in question.
-#' @return Link object.
-#' @name links.delete
+#' @usage arv$virtual_machines.update(virtualmachine,
+#'     uuid)
+#' @param virtualMachine VirtualMachine object.
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.update
 NULL
 
-#' links.list
+#' virtual_machines.delete
 #' 
-#' links.list is a method defined in Arvados class.
+#' virtual_machines.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$links.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return LinkList object.
-#' @name links.list
+#' @usage arv$virtual_machines.delete(uuid)
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.delete
 NULL
 
-#' links.get_permissions
+#' virtual_machines.logins
 #' 
-#' links.get_permissions is a method defined in Arvados class.
+#' virtual_machines.logins is a method defined in Arvados class.
 #' 
-#' @usage arv$links.get_permissions(uuid)
+#' @usage arv$virtual_machines.logins(uuid)
 #' @param uuid 
-#' @return Link object.
-#' @name links.get_permissions
-NULL
-
-#' keep_services.get
-#' 
-#' keep_services.get is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_services.get(uuid)
-#' @param uuid The UUID of the KeepService in question.
-#' @return KeepService object.
-#' @name keep_services.get
-NULL
-
-#' keep_services.create
-#' 
-#' keep_services.create is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_services.create(keepservice,
-#'     ensure_unique_name = "false")
-#' @param keepService KeepService object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return KeepService object.
-#' @name keep_services.create
-NULL
-
-#' keep_services.update
-#' 
-#' keep_services.update is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_services.update(keepservice,
-#'     uuid)
-#' @param keepService KeepService object.
-#' @param uuid The UUID of the KeepService in question.
-#' @return KeepService object.
-#' @name keep_services.update
-NULL
-
-#' keep_services.delete
-#' 
-#' keep_services.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$keep_services.delete(uuid)
-#' @param uuid The UUID of the KeepService in question.
-#' @return KeepService object.
-#' @name keep_services.delete
+#' @return VirtualMachine object.
+#' @name virtual_machines.logins
 NULL
 
-#' keep_services.accessible
+#' virtual_machines.get_all_logins
 #' 
-#' keep_services.accessible is a method defined in Arvados class.
+#' virtual_machines.get_all_logins is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_services.accessible(NULL)
-#' @return KeepService object.
-#' @name keep_services.accessible
+#' @usage arv$virtual_machines.get_all_logins(NULL)
+#' @return VirtualMachine object.
+#' @name virtual_machines.get_all_logins
 NULL
 
-#' keep_services.list
+#' virtual_machines.list
 #' 
-#' keep_services.list is a method defined in Arvados class.
+#' virtual_machines.list is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_services.list(filters = NULL,
+#' @usage arv$virtual_machines.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -1171,62 +1183,65 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return KeepServiceList object.
-#' @name keep_services.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return VirtualMachineList object.
+#' @name virtual_machines.list
 NULL
 
-#' pipeline_templates.get
+#' workflows.get
 #' 
-#' pipeline_templates.get is a method defined in Arvados class.
+#' workflows.get is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.get(uuid)
-#' @param uuid The UUID of the PipelineTemplate in question.
-#' @return PipelineTemplate object.
-#' @name pipeline_templates.get
+#' @usage arv$workflows.get(uuid)
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.get
 NULL
 
-#' pipeline_templates.create
+#' workflows.create
 #' 
-#' pipeline_templates.create is a method defined in Arvados class.
+#' workflows.create is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.create(pipelinetemplate,
-#'     ensure_unique_name = "false")
-#' @param pipelineTemplate PipelineTemplate object.
+#' @usage arv$workflows.create(workflow,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param workflow Workflow object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return PipelineTemplate object.
-#' @name pipeline_templates.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return Workflow object.
+#' @name workflows.create
 NULL
 
-#' pipeline_templates.update
+#' workflows.update
 #' 
-#' pipeline_templates.update is a method defined in Arvados class.
+#' workflows.update is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.update(pipelinetemplate,
+#' @usage arv$workflows.update(workflow,
 #'     uuid)
-#' @param pipelineTemplate PipelineTemplate object.
-#' @param uuid The UUID of the PipelineTemplate in question.
-#' @return PipelineTemplate object.
-#' @name pipeline_templates.update
+#' @param workflow Workflow object.
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.update
 NULL
 
-#' pipeline_templates.delete
+#' workflows.delete
 #' 
-#' pipeline_templates.delete is a method defined in Arvados class.
+#' workflows.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.delete(uuid)
-#' @param uuid The UUID of the PipelineTemplate in question.
-#' @return PipelineTemplate object.
-#' @name pipeline_templates.delete
+#' @usage arv$workflows.delete(uuid)
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.delete
 NULL
 
-#' pipeline_templates.list
+#' workflows.list
 #' 
-#' pipeline_templates.list is a method defined in Arvados class.
+#' workflows.list is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.list(filters = NULL,
+#' @usage arv$workflows.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -1235,209 +1250,83 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return PipelineTemplateList object.
-#' @name pipeline_templates.list
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return WorkflowList object.
+#' @name workflows.list
 NULL
 
-#' pipeline_instances.get
+#' user_agreements.get
 #' 
-#' pipeline_instances.get is a method defined in Arvados class.
+#' user_agreements.get is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.get(uuid)
-#' @param uuid The UUID of the PipelineInstance in question.
-#' @return PipelineInstance object.
-#' @name pipeline_instances.get
+#' @usage arv$user_agreements.get(uuid)
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.get
 NULL
 
-#' pipeline_instances.create
+#' user_agreements.create
 #' 
-#' pipeline_instances.create is a method defined in Arvados class.
+#' user_agreements.create is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.create(pipelineinstance,
-#'     ensure_unique_name = "false")
-#' @param pipelineInstance PipelineInstance object.
+#' @usage arv$user_agreements.create(useragreement,
+#'     ensure_unique_name = "false", cluster_id = NULL)
+#' @param userAgreement UserAgreement object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return PipelineInstance object.
-#' @name pipeline_instances.create
+#' @param cluster_id Create object on a remote federated cluster instead of the current one.
+#' @return UserAgreement object.
+#' @name user_agreements.create
 NULL
 
-#' pipeline_instances.update
+#' user_agreements.update
 #' 
-#' pipeline_instances.update is a method defined in Arvados class.
+#' user_agreements.update is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.update(pipelineinstance,
+#' @usage arv$user_agreements.update(useragreement,
 #'     uuid)
-#' @param pipelineInstance PipelineInstance object.
-#' @param uuid The UUID of the PipelineInstance in question.
-#' @return PipelineInstance object.
-#' @name pipeline_instances.update
+#' @param userAgreement UserAgreement object.
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.update
 NULL
 
-#' pipeline_instances.delete
+#' user_agreements.delete
 #' 
-#' pipeline_instances.delete is a method defined in Arvados class.
+#' user_agreements.delete is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.delete(uuid)
-#' @param uuid The UUID of the PipelineInstance in question.
-#' @return PipelineInstance object.
-#' @name pipeline_instances.delete
-NULL
-
-#' pipeline_instances.cancel
-#' 
-#' pipeline_instances.cancel is a method defined in Arvados class.
-#' 
-#' @usage arv$pipeline_instances.cancel(uuid)
-#' @param uuid 
-#' @return PipelineInstance object.
-#' @name pipeline_instances.cancel
-NULL
-
-#' pipeline_instances.list
-#' 
-#' pipeline_instances.list is a method defined in Arvados class.
-#' 
-#' @usage arv$pipeline_instances.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return PipelineInstanceList object.
-#' @name pipeline_instances.list
-NULL
-
-#' repositories.get
-#' 
-#' repositories.get is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.get(uuid)
-#' @param uuid The UUID of the Repository in question.
-#' @return Repository object.
-#' @name repositories.get
-NULL
-
-#' repositories.create
-#' 
-#' repositories.create is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.create(repository,
-#'     ensure_unique_name = "false")
-#' @param repository Repository object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Repository object.
-#' @name repositories.create
-NULL
-
-#' repositories.update
-#' 
-#' repositories.update is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.update(repository,
-#'     uuid)
-#' @param repository Repository object.
-#' @param uuid The UUID of the Repository in question.
-#' @return Repository object.
-#' @name repositories.update
-NULL
-
-#' repositories.delete
-#' 
-#' repositories.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.delete(uuid)
-#' @param uuid The UUID of the Repository in question.
-#' @return Repository object.
-#' @name repositories.delete
-NULL
-
-#' repositories.get_all_permissions
-#' 
-#' repositories.get_all_permissions is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.get_all_permissions(NULL)
-#' @return Repository object.
-#' @name repositories.get_all_permissions
-NULL
-
-#' repositories.list
-#' 
-#' repositories.list is a method defined in Arvados class.
-#' 
-#' @usage arv$repositories.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return RepositoryList object.
-#' @name repositories.list
-NULL
-
-#' specimens.get
-#' 
-#' specimens.get is a method defined in Arvados class.
-#' 
-#' @usage arv$specimens.get(uuid)
-#' @param uuid The UUID of the Specimen in question.
-#' @return Specimen object.
-#' @name specimens.get
-NULL
-
-#' specimens.create
-#' 
-#' specimens.create is a method defined in Arvados class.
-#' 
-#' @usage arv$specimens.create(specimen,
-#'     ensure_unique_name = "false")
-#' @param specimen Specimen object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Specimen object.
-#' @name specimens.create
+#' @usage arv$user_agreements.delete(uuid)
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.delete
 NULL
 
-#' specimens.update
+#' user_agreements.signatures
 #' 
-#' specimens.update is a method defined in Arvados class.
+#' user_agreements.signatures is a method defined in Arvados class.
 #' 
-#' @usage arv$specimens.update(specimen,
-#'     uuid)
-#' @param specimen Specimen object.
-#' @param uuid The UUID of the Specimen in question.
-#' @return Specimen object.
-#' @name specimens.update
+#' @usage arv$user_agreements.signatures(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.signatures
 NULL
 
-#' specimens.delete
+#' user_agreements.sign
 #' 
-#' specimens.delete is a method defined in Arvados class.
+#' user_agreements.sign is a method defined in Arvados class.
 #' 
-#' @usage arv$specimens.delete(uuid)
-#' @param uuid The UUID of the Specimen in question.
-#' @return Specimen object.
-#' @name specimens.delete
+#' @usage arv$user_agreements.sign(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.sign
 NULL
 
-#' specimens.list
+#' user_agreements.list
 #' 
-#' specimens.list is a method defined in Arvados class.
+#' user_agreements.list is a method defined in Arvados class.
 #' 
-#' @usage arv$specimens.list(filters = NULL,
+#' @usage arv$user_agreements.list(filters = NULL,
 #'     where = NULL, order = NULL, select = NULL,
 #'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#'     count = "exact", cluster_id = NULL, bypass_federation = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
@@ -1446,1774 +1335,312 @@ NULL
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return SpecimenList object.
-#' @name specimens.list
-NULL
-
-#' logs.get
-#' 
-#' logs.get is a method defined in Arvados class.
-#' 
-#' @usage arv$logs.get(uuid)
-#' @param uuid The UUID of the Log in question.
-#' @return Log object.
-#' @name logs.get
-NULL
-
-#' logs.create
-#' 
-#' logs.create is a method defined in Arvados class.
-#' 
-#' @usage arv$logs.create(log, ensure_unique_name = "false")
-#' @param log Log object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Log object.
-#' @name logs.create
-NULL
-
-#' logs.update
-#' 
-#' logs.update is a method defined in Arvados class.
-#' 
-#' @usage arv$logs.update(log, uuid)
-#' @param log Log object.
-#' @param uuid The UUID of the Log in question.
-#' @return Log object.
-#' @name logs.update
+#' @param cluster_id List objects on a remote federated cluster instead of the current one.
+#' @param bypass_federation bypass federation behavior, list items from local instance database only
+#' @return UserAgreementList object.
+#' @name user_agreements.list
 NULL
 
-#' logs.delete
+#' user_agreements.new
 #' 
-#' logs.delete is a method defined in Arvados class.
+#' user_agreements.new is a method defined in Arvados class.
 #' 
-#' @usage arv$logs.delete(uuid)
-#' @param uuid The UUID of the Log in question.
-#' @return Log object.
-#' @name logs.delete
+#' @usage arv$user_agreements.new(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.new
 NULL
 
-#' logs.list
+#' configs.get
 #' 
-#' logs.list is a method defined in Arvados class.
+#' configs.get is a method defined in Arvados class.
 #' 
-#' @usage arv$logs.list(filters = NULL, where = NULL,
-#'     order = NULL, select = NULL, distinct = NULL,
-#'     limit = "100", offset = "0", count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return LogList object.
-#' @name logs.list
+#' @usage arv$configs.get(NULL)
+#' @return  object.
+#' @name configs.get
 NULL
 
-#' traits.get
+#' project.get
 #' 
-#' traits.get is a method defined in Arvados class.
+#' projects.get is equivalent to groups.get method.
 #' 
-#' @usage arv$traits.get(uuid)
-#' @param uuid The UUID of the Trait in question.
-#' @return Trait object.
-#' @name traits.get
+#' @usage arv$projects.get(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name projects.get
 NULL
 
-#' traits.create
+#' project.create
 #' 
-#' traits.create is a method defined in Arvados class.
+#' projects.create wrapps groups.create method by setting group_class attribute to "project".
 #' 
-#' @usage arv$traits.create(trait, ensure_unique_name = "false")
-#' @param trait Trait object.
+#' @usage arv$projects.create(group, ensure_unique_name = "false")
+#' @param group Group object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Trait object.
-#' @name traits.create
+#' @return Group object.
+#' @name projects.create
 NULL
 
-#' traits.update
+#' project.update
 #' 
-#' traits.update is a method defined in Arvados class.
+#' projects.update wrapps groups.update method by setting group_class attribute to "project".
 #' 
-#' @usage arv$traits.update(trait, uuid)
-#' @param trait Trait object.
-#' @param uuid The UUID of the Trait in question.
-#' @return Trait object.
-#' @name traits.update
+#' @usage arv$projects.update(group, uuid)
+#' @param group Group object.
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name projects.update
 NULL
 
-#' traits.delete
+#' project.delete
 #' 
-#' traits.delete is a method defined in Arvados class.
+#' projects.delete is equivalent to groups.delete method.
 #' 
-#' @usage arv$traits.delete(uuid)
-#' @param uuid The UUID of the Trait in question.
-#' @return Trait object.
-#' @name traits.delete
+#' @usage arv$project.delete(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name projects.delete
 NULL
 
-#' traits.list
+#' project.list
 #' 
-#' traits.list is a method defined in Arvados class.
+#' projects.list wrapps groups.list method by setting group_class attribute to "project".
 #' 
-#' @usage arv$traits.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
+#' @usage arv$projects.list(filters = NULL,
+#'     where = NULL, order = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact",
+#'     include_trash = NULL, uuid = NULL, recursive = NULL)
 #' @param filters 
 #' @param where 
 #' @param order 
-#' @param select 
 #' @param distinct 
 #' @param limit 
 #' @param offset 
 #' @param count 
-#' @return TraitList object.
-#' @name traits.list
-NULL
-
-#' virtual_machines.get
-#' 
-#' virtual_machines.get is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.get(uuid)
-#' @param uuid The UUID of the VirtualMachine in question.
-#' @return VirtualMachine object.
-#' @name virtual_machines.get
-NULL
-
-#' virtual_machines.create
-#' 
-#' virtual_machines.create is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.create(virtualmachine,
-#'     ensure_unique_name = "false")
-#' @param virtualMachine VirtualMachine object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return VirtualMachine object.
-#' @name virtual_machines.create
-NULL
-
-#' virtual_machines.update
-#' 
-#' virtual_machines.update is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.update(virtualmachine,
-#'     uuid)
-#' @param virtualMachine VirtualMachine object.
-#' @param uuid The UUID of the VirtualMachine in question.
-#' @return VirtualMachine object.
-#' @name virtual_machines.update
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @param uuid 
+#' @param recursive Include contents from child groups recursively.
+#' @return Group object.
+#' @name projects.list
 NULL
 
-#' virtual_machines.delete
-#' 
-#' virtual_machines.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.delete(uuid)
-#' @param uuid The UUID of the VirtualMachine in question.
-#' @return VirtualMachine object.
-#' @name virtual_machines.delete
-NULL
-
-#' virtual_machines.logins
-#' 
-#' virtual_machines.logins is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.logins(uuid)
-#' @param uuid 
-#' @return VirtualMachine object.
-#' @name virtual_machines.logins
-NULL
-
-#' virtual_machines.get_all_logins
-#' 
-#' virtual_machines.get_all_logins is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.get_all_logins(NULL)
-#' @return VirtualMachine object.
-#' @name virtual_machines.get_all_logins
-NULL
-
-#' virtual_machines.list
-#' 
-#' virtual_machines.list is a method defined in Arvados class.
-#' 
-#' @usage arv$virtual_machines.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return VirtualMachineList object.
-#' @name virtual_machines.list
-NULL
-
-#' workflows.get
-#' 
-#' workflows.get is a method defined in Arvados class.
-#' 
-#' @usage arv$workflows.get(uuid)
-#' @param uuid The UUID of the Workflow in question.
-#' @return Workflow object.
-#' @name workflows.get
-NULL
-
-#' workflows.create
-#' 
-#' workflows.create is a method defined in Arvados class.
-#' 
-#' @usage arv$workflows.create(workflow,
-#'     ensure_unique_name = "false")
-#' @param workflow Workflow object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Workflow object.
-#' @name workflows.create
-NULL
-
-#' workflows.update
-#' 
-#' workflows.update is a method defined in Arvados class.
-#' 
-#' @usage arv$workflows.update(workflow,
-#'     uuid)
-#' @param workflow Workflow object.
-#' @param uuid The UUID of the Workflow in question.
-#' @return Workflow object.
-#' @name workflows.update
-NULL
-
-#' workflows.delete
-#' 
-#' workflows.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$workflows.delete(uuid)
-#' @param uuid The UUID of the Workflow in question.
-#' @return Workflow object.
-#' @name workflows.delete
-NULL
-
-#' workflows.list
-#' 
-#' workflows.list is a method defined in Arvados class.
-#' 
-#' @usage arv$workflows.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return WorkflowList object.
-#' @name workflows.list
-NULL
-
-#' groups.get
-#' 
-#' groups.get is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.get(uuid)
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name groups.get
-NULL
-
-#' groups.create
-#' 
-#' groups.create is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.create(group, ensure_unique_name = "false")
-#' @param group Group object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Group object.
-#' @name groups.create
-NULL
-
-#' groups.update
-#' 
-#' groups.update is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.update(group, uuid)
-#' @param group Group object.
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name groups.update
-NULL
-
-#' groups.delete
-#' 
-#' groups.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.delete(uuid)
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name groups.delete
-NULL
-
-#' groups.contents
-#' 
-#' groups.contents is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.contents(filters = NULL,
-#'     where = NULL, order = NULL, distinct = NULL,
-#'     limit = "100", offset = "0", count = "exact",
-#'     include_trash = NULL, uuid = NULL, recursive = NULL)
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @param include_trash Include items whose is_trashed attribute is true.
-#' @param uuid 
-#' @param recursive Include contents from child groups recursively.
-#' @return Group object.
-#' @name groups.contents
-NULL
-
-#' groups.trash
-#' 
-#' groups.trash is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.trash(uuid)
-#' @param uuid 
-#' @return Group object.
-#' @name groups.trash
-NULL
-
-#' groups.untrash
-#' 
-#' groups.untrash is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.untrash(uuid)
-#' @param uuid 
-#' @return Group object.
-#' @name groups.untrash
-NULL
-
-#' groups.list
-#' 
-#' groups.list is a method defined in Arvados class.
-#' 
-#' @usage arv$groups.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact", include_trash = NULL)
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @param include_trash Include items whose is_trashed attribute is true.
-#' @return GroupList object.
-#' @name groups.list
-NULL
-
-#' user_agreements.get
-#' 
-#' user_agreements.get is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.get(uuid)
-#' @param uuid The UUID of the UserAgreement in question.
-#' @return UserAgreement object.
-#' @name user_agreements.get
-NULL
-
-#' user_agreements.create
-#' 
-#' user_agreements.create is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.create(useragreement,
-#'     ensure_unique_name = "false")
-#' @param userAgreement UserAgreement object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return UserAgreement object.
-#' @name user_agreements.create
-NULL
-
-#' user_agreements.update
-#' 
-#' user_agreements.update is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.update(useragreement,
-#'     uuid)
-#' @param userAgreement UserAgreement object.
-#' @param uuid The UUID of the UserAgreement in question.
-#' @return UserAgreement object.
-#' @name user_agreements.update
-NULL
-
-#' user_agreements.delete
-#' 
-#' user_agreements.delete is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.delete(uuid)
-#' @param uuid The UUID of the UserAgreement in question.
-#' @return UserAgreement object.
-#' @name user_agreements.delete
-NULL
-
-#' user_agreements.signatures
-#' 
-#' user_agreements.signatures is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.signatures(NULL)
-#' @return UserAgreement object.
-#' @name user_agreements.signatures
-NULL
-
-#' user_agreements.sign
-#' 
-#' user_agreements.sign is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.sign(NULL)
-#' @return UserAgreement object.
-#' @name user_agreements.sign
-NULL
-
-#' user_agreements.list
-#' 
-#' user_agreements.list is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.list(filters = NULL,
-#'     where = NULL, order = NULL, select = NULL,
-#'     distinct = NULL, limit = "100", offset = "0",
-#'     count = "exact")
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param select 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @return UserAgreementList object.
-#' @name user_agreements.list
-NULL
-
-#' user_agreements.new
-#' 
-#' user_agreements.new is a method defined in Arvados class.
-#' 
-#' @usage arv$user_agreements.new(NULL)
-#' @return UserAgreement object.
-#' @name user_agreements.new
-NULL
-
-#' project.get
-#' 
-#' projects.get is equivalent to groups.get method.
-#' 
-#' @usage arv$projects.get(uuid)
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name projects.get
-NULL
-
-#' project.create
-#' 
-#' projects.create wrapps groups.create method by setting group_class attribute to "project".
-#' 
-#' @usage arv$projects.create(group, ensure_unique_name = "false")
-#' @param group Group object.
-#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return Group object.
-#' @name projects.create
-NULL
-
-#' project.update
-#' 
-#' projects.update wrapps groups.update method by setting group_class attribute to "project".
-#' 
-#' @usage arv$projects.update(group, uuid)
-#' @param group Group object.
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name projects.update
-NULL
-
-#' project.delete
-#' 
-#' projects.delete is equivalent to groups.delete method.
-#' 
-#' @usage arv$project.delete(uuid)
-#' @param uuid The UUID of the Group in question.
-#' @return Group object.
-#' @name projects.delete
-NULL
-
-#' project.list
-#' 
-#' projects.list wrapps groups.list method by setting group_class attribute to "project".
-#' 
-#' @usage arv$projects.list(filters = NULL,
-#'     where = NULL, order = NULL, distinct = NULL,
-#'     limit = "100", offset = "0", count = "exact",
-#'     include_trash = NULL, uuid = NULL, recursive = NULL)
-#' @param filters 
-#' @param where 
-#' @param order 
-#' @param distinct 
-#' @param limit 
-#' @param offset 
-#' @param count 
-#' @param include_trash Include items whose is_trashed attribute is true.
-#' @param uuid 
-#' @param recursive Include contents from child groups recursively.
-#' @return Group object.
-#' @name projects.list
-NULL
-
-#' Arvados
-#'
-#' Arvados class gives users ability to access Arvados REST API.
-#'
-#' @section Usage:
-#' \preformatted{arv = Arvados$new(authToken = NULL, hostName = NULL, numRetries = 0)}
-#'
-#' @section Arguments:
-#' \describe{
-#'     \item{authToken}{Authentification token. If not specified ARVADOS_API_TOKEN environment variable will be used.}
-#'     \item{hostName}{Host name. If not specified ARVADOS_API_HOST environment variable will be used.}
-#'     \item{numRetries}{Number which specifies how many times to retry failed service requests.}
-#' }
-#'
-#' @section Methods:
-#' \describe{
-#'     \item{}{\code{\link{api_client_authorizations.create}}}
-#'     \item{}{\code{\link{api_client_authorizations.create_system_auth}}}
-#'     \item{}{\code{\link{api_client_authorizations.current}}}
-#'     \item{}{\code{\link{api_client_authorizations.delete}}}
-#'     \item{}{\code{\link{api_client_authorizations.get}}}
-#'     \item{}{\code{\link{api_client_authorizations.list}}}
-#'     \item{}{\code{\link{api_client_authorizations.update}}}
-#'     \item{}{\code{\link{api_clients.create}}}
-#'     \item{}{\code{\link{api_clients.delete}}}
-#'     \item{}{\code{\link{api_clients.get}}}
-#'     \item{}{\code{\link{api_clients.list}}}
-#'     \item{}{\code{\link{api_clients.update}}}
-#'     \item{}{\code{\link{authorized_keys.create}}}
-#'     \item{}{\code{\link{authorized_keys.delete}}}
-#'     \item{}{\code{\link{authorized_keys.get}}}
-#'     \item{}{\code{\link{authorized_keys.list}}}
-#'     \item{}{\code{\link{authorized_keys.update}}}
-#'     \item{}{\code{\link{collections.create}}}
-#'     \item{}{\code{\link{collections.delete}}}
-#'     \item{}{\code{\link{collections.get}}}
-#'     \item{}{\code{\link{collections.list}}}
-#'     \item{}{\code{\link{collections.provenance}}}
-#'     \item{}{\code{\link{collections.trash}}}
-#'     \item{}{\code{\link{collections.untrash}}}
-#'     \item{}{\code{\link{collections.update}}}
-#'     \item{}{\code{\link{collections.used_by}}}
-#'     \item{}{\code{\link{container_requests.create}}}
-#'     \item{}{\code{\link{container_requests.delete}}}
-#'     \item{}{\code{\link{container_requests.get}}}
-#'     \item{}{\code{\link{container_requests.list}}}
-#'     \item{}{\code{\link{container_requests.update}}}
-#'     \item{}{\code{\link{containers.auth}}}
-#'     \item{}{\code{\link{containers.create}}}
-#'     \item{}{\code{\link{containers.current}}}
-#'     \item{}{\code{\link{containers.delete}}}
-#'     \item{}{\code{\link{containers.get}}}
-#'     \item{}{\code{\link{containers.list}}}
-#'     \item{}{\code{\link{containers.lock}}}
-#'     \item{}{\code{\link{containers.secret_mounts}}}
-#'     \item{}{\code{\link{containers.unlock}}}
-#'     \item{}{\code{\link{containers.update}}}
-#'     \item{}{\code{\link{groups.contents}}}
-#'     \item{}{\code{\link{groups.create}}}
-#'     \item{}{\code{\link{groups.delete}}}
-#'     \item{}{\code{\link{groups.get}}}
-#'     \item{}{\code{\link{groups.list}}}
-#'     \item{}{\code{\link{groups.trash}}}
-#'     \item{}{\code{\link{groups.untrash}}}
-#'     \item{}{\code{\link{groups.update}}}
-#'     \item{}{\code{\link{humans.create}}}
-#'     \item{}{\code{\link{humans.delete}}}
-#'     \item{}{\code{\link{humans.get}}}
-#'     \item{}{\code{\link{humans.list}}}
-#'     \item{}{\code{\link{humans.update}}}
-#'     \item{}{\code{\link{jobs.cancel}}}
-#'     \item{}{\code{\link{jobs.create}}}
-#'     \item{}{\code{\link{jobs.delete}}}
-#'     \item{}{\code{\link{jobs.get}}}
-#'     \item{}{\code{\link{jobs.list}}}
-#'     \item{}{\code{\link{jobs.lock}}}
-#'     \item{}{\code{\link{jobs.queue}}}
-#'     \item{}{\code{\link{jobs.queue_size}}}
-#'     \item{}{\code{\link{jobs.update}}}
-#'     \item{}{\code{\link{job_tasks.create}}}
-#'     \item{}{\code{\link{job_tasks.delete}}}
-#'     \item{}{\code{\link{job_tasks.get}}}
-#'     \item{}{\code{\link{job_tasks.list}}}
-#'     \item{}{\code{\link{job_tasks.update}}}
-#'     \item{}{\code{\link{keep_disks.create}}}
-#'     \item{}{\code{\link{keep_disks.delete}}}
-#'     \item{}{\code{\link{keep_disks.get}}}
-#'     \item{}{\code{\link{keep_disks.list}}}
-#'     \item{}{\code{\link{keep_disks.ping}}}
-#'     \item{}{\code{\link{keep_disks.update}}}
-#'     \item{}{\code{\link{keep_services.accessible}}}
-#'     \item{}{\code{\link{keep_services.create}}}
-#'     \item{}{\code{\link{keep_services.delete}}}
-#'     \item{}{\code{\link{keep_services.get}}}
-#'     \item{}{\code{\link{keep_services.list}}}
-#'     \item{}{\code{\link{keep_services.update}}}
-#'     \item{}{\code{\link{links.create}}}
-#'     \item{}{\code{\link{links.delete}}}
-#'     \item{}{\code{\link{links.get}}}
-#'     \item{}{\code{\link{links.get_permissions}}}
-#'     \item{}{\code{\link{links.list}}}
-#'     \item{}{\code{\link{links.update}}}
-#'     \item{}{\code{\link{logs.create}}}
-#'     \item{}{\code{\link{logs.delete}}}
-#'     \item{}{\code{\link{logs.get}}}
-#'     \item{}{\code{\link{logs.list}}}
-#'     \item{}{\code{\link{logs.update}}}
-#'     \item{}{\code{\link{nodes.create}}}
-#'     \item{}{\code{\link{nodes.delete}}}
-#'     \item{}{\code{\link{nodes.get}}}
-#'     \item{}{\code{\link{nodes.list}}}
-#'     \item{}{\code{\link{nodes.ping}}}
-#'     \item{}{\code{\link{nodes.update}}}
-#'     \item{}{\code{\link{pipeline_instances.cancel}}}
-#'     \item{}{\code{\link{pipeline_instances.create}}}
-#'     \item{}{\code{\link{pipeline_instances.delete}}}
-#'     \item{}{\code{\link{pipeline_instances.get}}}
-#'     \item{}{\code{\link{pipeline_instances.list}}}
-#'     \item{}{\code{\link{pipeline_instances.update}}}
-#'     \item{}{\code{\link{pipeline_templates.create}}}
-#'     \item{}{\code{\link{pipeline_templates.delete}}}
-#'     \item{}{\code{\link{pipeline_templates.get}}}
-#'     \item{}{\code{\link{pipeline_templates.list}}}
-#'     \item{}{\code{\link{pipeline_templates.update}}}
-#'     \item{}{\code{\link{projects.create}}}
-#'     \item{}{\code{\link{projects.delete}}}
-#'     \item{}{\code{\link{projects.get}}}
-#'     \item{}{\code{\link{projects.list}}}
-#'     \item{}{\code{\link{projects.update}}}
-#'     \item{}{\code{\link{repositories.create}}}
-#'     \item{}{\code{\link{repositories.delete}}}
-#'     \item{}{\code{\link{repositories.get}}}
-#'     \item{}{\code{\link{repositories.get_all_permissions}}}
-#'     \item{}{\code{\link{repositories.list}}}
-#'     \item{}{\code{\link{repositories.update}}}
-#'     \item{}{\code{\link{specimens.create}}}
-#'     \item{}{\code{\link{specimens.delete}}}
-#'     \item{}{\code{\link{specimens.get}}}
-#'     \item{}{\code{\link{specimens.list}}}
-#'     \item{}{\code{\link{specimens.update}}}
-#'     \item{}{\code{\link{traits.create}}}
-#'     \item{}{\code{\link{traits.delete}}}
-#'     \item{}{\code{\link{traits.get}}}
-#'     \item{}{\code{\link{traits.list}}}
-#'     \item{}{\code{\link{traits.update}}}
-#'     \item{}{\code{\link{user_agreements.create}}}
-#'     \item{}{\code{\link{user_agreements.delete}}}
-#'     \item{}{\code{\link{user_agreements.get}}}
-#'     \item{}{\code{\link{user_agreements.list}}}
-#'     \item{}{\code{\link{user_agreements.new}}}
-#'     \item{}{\code{\link{user_agreements.sign}}}
-#'     \item{}{\code{\link{user_agreements.signatures}}}
-#'     \item{}{\code{\link{user_agreements.update}}}
-#'     \item{}{\code{\link{users.activate}}}
-#'     \item{}{\code{\link{users.create}}}
-#'     \item{}{\code{\link{users.current}}}
-#'     \item{}{\code{\link{users.delete}}}
-#'     \item{}{\code{\link{users.get}}}
-#'     \item{}{\code{\link{users.list}}}
-#'     \item{}{\code{\link{users.merge}}}
-#'     \item{}{\code{\link{users.setup}}}
-#'     \item{}{\code{\link{users.system}}}
-#'     \item{}{\code{\link{users.unsetup}}}
-#'     \item{}{\code{\link{users.update}}}
-#'     \item{}{\code{\link{users.update_uuid}}}
-#'     \item{}{\code{\link{virtual_machines.create}}}
-#'     \item{}{\code{\link{virtual_machines.delete}}}
-#'     \item{}{\code{\link{virtual_machines.get}}}
-#'     \item{}{\code{\link{virtual_machines.get_all_logins}}}
-#'     \item{}{\code{\link{virtual_machines.list}}}
-#'     \item{}{\code{\link{virtual_machines.logins}}}
-#'     \item{}{\code{\link{virtual_machines.update}}}
-#'     \item{}{\code{\link{workflows.create}}}
-#'     \item{}{\code{\link{workflows.delete}}}
-#'     \item{}{\code{\link{workflows.get}}}
-#'     \item{}{\code{\link{workflows.list}}}
-#'     \item{}{\code{\link{workflows.update}}}
-#' }
-#'
-#' @name Arvados
-#' @examples
-#' \dontrun{
-#' arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")
-#'
-#' collection <- arv$collections.get("uuid")
-#'
-#' collectionList <- arv$collections.list(list(list("name", "like", "Test%")))
-#' collectionList <- listAll(arv$collections.list, list(list("name", "like", "Test%")))
-#'
-#' deletedCollection <- arv$collections.delete("uuid")
-#'
-#' updatedCollection <- arv$collections.update(list(name = "New name", description = "New description"),
-#'                                             "uuid")
-#'
-#' createdCollection <- arv$collections.create(list(name = "Example",
-#'                                                  description = "This is a test collection"))
-#' }
-NULL
-
-#' @export
-Arvados <- R6::R6Class(
-
-       "Arvados",
-
-       public = list(
-
-               initialize = function(authToken = NULL, hostName = NULL, numRetries = 0)
-               {
-                       if(!is.null(hostName))
-                               Sys.setenv(ARVADOS_API_HOST = hostName)
-
-                       if(!is.null(authToken))
-                               Sys.setenv(ARVADOS_API_TOKEN = authToken)
-
-                       hostName <- Sys.getenv("ARVADOS_API_HOST")
-                       token    <- Sys.getenv("ARVADOS_API_TOKEN")
-
-                       if(hostName == "" | token == "")
-                               stop(paste("Please provide host name and authentification token",
-                                                  "or set ARVADOS_API_HOST and ARVADOS_API_TOKEN",
-                                                  "environment variables."))
-
-                       private$token <- token
-                       private$host  <- paste0("https://", hostName, "/arvados/v1/")
-                       private$numRetries <- numRetries
-                       private$REST <- RESTService$new(token, hostName,
-                                                       HttpRequest$new(), HttpParser$new(),
-                                                       numRetries)
-
-               },
-
-               projects.get = function(uuid)
-               {
-                       self$groups.get(uuid)
-               },
-
-               projects.create = function(group, ensure_unique_name = "false")
-               {
-                       group <- c("group_class" = "project", group)
-                       self$groups.create(group, ensure_unique_name)
-               },
-
-               projects.update = function(group, uuid)
-               {
-                       group <- c("group_class" = "project", group)
-                       self$groups.update(group, uuid)
-               },
-
-               projects.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact",
-                       include_trash = NULL)
-               {
-                       filters[[length(filters) + 1]] <- list("group_class", "=", "project")
-                       self$groups.list(filters, where, order, select, distinct,
-                                        limit, offset, count, include_trash)
-               },
-
-               projects.delete = function(uuid)
-               {
-                       self$groups.delete(uuid)
-               },
-
-               users.get = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.create = function(user, ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("users")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(user) > 0)
-                               body <- jsonlite::toJSON(list(user = user), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.update = function(user, uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(user) > 0)
-                               body <- jsonlite::toJSON(list(user = user), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.delete = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.current = function()
-               {
-                       endPoint <- stringr::str_interp("users/current")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.system = function()
-               {
-                       endPoint <- stringr::str_interp("users/system")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.activate = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}/activate")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.setup = function(user = NULL, openid_prefix = NULL,
-                       repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
-               {
-                       endPoint <- stringr::str_interp("users/setup")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(user = user, openid_prefix = openid_prefix,
-                                                         repo_name = repo_name, vm_uuid = vm_uuid,
-                                                         send_notification_email = send_notification_email)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.unsetup = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}/unsetup")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.update_uuid = function(uuid, new_uuid)
-               {
-                       endPoint <- stringr::str_interp("users/${uuid}/update_uuid")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(new_uuid = new_uuid)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.merge = function(new_owner_uuid, new_user_token,
-                       redirect_to_new_user = NULL)
-               {
-                       endPoint <- stringr::str_interp("users/merge")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(new_owner_uuid = new_owner_uuid,
-                                                         new_user_token = new_user_token, redirect_to_new_user = redirect_to_new_user)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               users.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
-               {
-                       endPoint <- stringr::str_interp("users")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.get = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.create = function(apiclientauthorization,
-                       ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(apiclientauthorization) > 0)
-                               body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.update = function(apiclientauthorization, uuid)
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(apiclientauthorization) > 0)
-                               body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.delete = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.create_system_auth = function(api_client_id = NULL, scopes = NULL)
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations/create_system_auth")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(api_client_id = api_client_id,
-                                                         scopes = scopes)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.current = function()
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations/current")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_client_authorizations.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
-               {
-                       endPoint <- stringr::str_interp("api_client_authorizations")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.get = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.create = function(container, ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("containers")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(container) > 0)
-                               body <- jsonlite::toJSON(list(container = container), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.update = function(container, uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(container) > 0)
-                               body <- jsonlite::toJSON(list(container = container), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.delete = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.auth = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}/auth")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.lock = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}/lock")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.unlock = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}/unlock")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.secret_mounts = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("containers/${uuid}/secret_mounts")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.current = function()
-               {
-                       endPoint <- stringr::str_interp("containers/current")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               containers.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
-               {
-                       endPoint <- stringr::str_interp("containers")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_clients.get = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_clients.create = function(apiclient, ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("api_clients")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(apiclient) > 0)
-                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_clients.update = function(apiclient, uuid)
-               {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(apiclient) > 0)
-                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               api_clients.delete = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+#' Arvados
+#'
+#' Arvados class gives users ability to access Arvados REST API.
+#'
+#' @section Usage:
+#' \preformatted{arv = Arvados$new(authToken = NULL, hostName = NULL, numRetries = 0)}
+#'
+#' @section Arguments:
+#' \describe{
+#'     \item{authToken}{Authentification token. If not specified ARVADOS_API_TOKEN environment variable will be used.}
+#'     \item{hostName}{Host name. If not specified ARVADOS_API_HOST environment variable will be used.}
+#'     \item{numRetries}{Number which specifies how many times to retry failed service requests.}
+#' }
+#'
+#' @section Methods:
+#' \describe{
+#'     \item{}{\code{\link{api_client_authorizations.create}}}
+#'     \item{}{\code{\link{api_client_authorizations.create_system_auth}}}
+#'     \item{}{\code{\link{api_client_authorizations.current}}}
+#'     \item{}{\code{\link{api_client_authorizations.delete}}}
+#'     \item{}{\code{\link{api_client_authorizations.get}}}
+#'     \item{}{\code{\link{api_client_authorizations.list}}}
+#'     \item{}{\code{\link{api_client_authorizations.update}}}
+#'     \item{}{\code{\link{api_clients.create}}}
+#'     \item{}{\code{\link{api_clients.delete}}}
+#'     \item{}{\code{\link{api_clients.get}}}
+#'     \item{}{\code{\link{api_clients.list}}}
+#'     \item{}{\code{\link{api_clients.update}}}
+#'     \item{}{\code{\link{authorized_keys.create}}}
+#'     \item{}{\code{\link{authorized_keys.delete}}}
+#'     \item{}{\code{\link{authorized_keys.get}}}
+#'     \item{}{\code{\link{authorized_keys.list}}}
+#'     \item{}{\code{\link{authorized_keys.update}}}
+#'     \item{}{\code{\link{collections.create}}}
+#'     \item{}{\code{\link{collections.delete}}}
+#'     \item{}{\code{\link{collections.get}}}
+#'     \item{}{\code{\link{collections.list}}}
+#'     \item{}{\code{\link{collections.provenance}}}
+#'     \item{}{\code{\link{collections.trash}}}
+#'     \item{}{\code{\link{collections.untrash}}}
+#'     \item{}{\code{\link{collections.update}}}
+#'     \item{}{\code{\link{collections.used_by}}}
+#'     \item{}{\code{\link{configs.get}}}
+#'     \item{}{\code{\link{container_requests.create}}}
+#'     \item{}{\code{\link{container_requests.delete}}}
+#'     \item{}{\code{\link{container_requests.get}}}
+#'     \item{}{\code{\link{container_requests.list}}}
+#'     \item{}{\code{\link{container_requests.update}}}
+#'     \item{}{\code{\link{containers.auth}}}
+#'     \item{}{\code{\link{containers.create}}}
+#'     \item{}{\code{\link{containers.current}}}
+#'     \item{}{\code{\link{containers.delete}}}
+#'     \item{}{\code{\link{containers.get}}}
+#'     \item{}{\code{\link{containers.list}}}
+#'     \item{}{\code{\link{containers.lock}}}
+#'     \item{}{\code{\link{containers.secret_mounts}}}
+#'     \item{}{\code{\link{containers.unlock}}}
+#'     \item{}{\code{\link{containers.update}}}
+#'     \item{}{\code{\link{groups.contents}}}
+#'     \item{}{\code{\link{groups.create}}}
+#'     \item{}{\code{\link{groups.delete}}}
+#'     \item{}{\code{\link{groups.get}}}
+#'     \item{}{\code{\link{groups.list}}}
+#'     \item{}{\code{\link{groups.shared}}}
+#'     \item{}{\code{\link{groups.trash}}}
+#'     \item{}{\code{\link{groups.untrash}}}
+#'     \item{}{\code{\link{groups.update}}}
+#'     \item{}{\code{\link{keep_services.accessible}}}
+#'     \item{}{\code{\link{keep_services.create}}}
+#'     \item{}{\code{\link{keep_services.delete}}}
+#'     \item{}{\code{\link{keep_services.get}}}
+#'     \item{}{\code{\link{keep_services.list}}}
+#'     \item{}{\code{\link{keep_services.update}}}
+#'     \item{}{\code{\link{links.create}}}
+#'     \item{}{\code{\link{links.delete}}}
+#'     \item{}{\code{\link{links.get}}}
+#'     \item{}{\code{\link{links.get_permissions}}}
+#'     \item{}{\code{\link{links.list}}}
+#'     \item{}{\code{\link{links.update}}}
+#'     \item{}{\code{\link{logs.create}}}
+#'     \item{}{\code{\link{logs.delete}}}
+#'     \item{}{\code{\link{logs.get}}}
+#'     \item{}{\code{\link{logs.list}}}
+#'     \item{}{\code{\link{logs.update}}}
+#'     \item{}{\code{\link{projects.create}}}
+#'     \item{}{\code{\link{projects.delete}}}
+#'     \item{}{\code{\link{projects.get}}}
+#'     \item{}{\code{\link{projects.list}}}
+#'     \item{}{\code{\link{projects.update}}}
+#'     \item{}{\code{\link{repositories.create}}}
+#'     \item{}{\code{\link{repositories.delete}}}
+#'     \item{}{\code{\link{repositories.get}}}
+#'     \item{}{\code{\link{repositories.get_all_permissions}}}
+#'     \item{}{\code{\link{repositories.list}}}
+#'     \item{}{\code{\link{repositories.update}}}
+#'     \item{}{\code{\link{user_agreements.create}}}
+#'     \item{}{\code{\link{user_agreements.delete}}}
+#'     \item{}{\code{\link{user_agreements.get}}}
+#'     \item{}{\code{\link{user_agreements.list}}}
+#'     \item{}{\code{\link{user_agreements.new}}}
+#'     \item{}{\code{\link{user_agreements.sign}}}
+#'     \item{}{\code{\link{user_agreements.signatures}}}
+#'     \item{}{\code{\link{user_agreements.update}}}
+#'     \item{}{\code{\link{users.activate}}}
+#'     \item{}{\code{\link{users.create}}}
+#'     \item{}{\code{\link{users.current}}}
+#'     \item{}{\code{\link{users.delete}}}
+#'     \item{}{\code{\link{users.get}}}
+#'     \item{}{\code{\link{users.list}}}
+#'     \item{}{\code{\link{users.merge}}}
+#'     \item{}{\code{\link{users.setup}}}
+#'     \item{}{\code{\link{users.system}}}
+#'     \item{}{\code{\link{users.unsetup}}}
+#'     \item{}{\code{\link{users.update}}}
+#'     \item{}{\code{\link{users.update_uuid}}}
+#'     \item{}{\code{\link{virtual_machines.create}}}
+#'     \item{}{\code{\link{virtual_machines.delete}}}
+#'     \item{}{\code{\link{virtual_machines.get}}}
+#'     \item{}{\code{\link{virtual_machines.get_all_logins}}}
+#'     \item{}{\code{\link{virtual_machines.list}}}
+#'     \item{}{\code{\link{virtual_machines.logins}}}
+#'     \item{}{\code{\link{virtual_machines.update}}}
+#'     \item{}{\code{\link{workflows.create}}}
+#'     \item{}{\code{\link{workflows.delete}}}
+#'     \item{}{\code{\link{workflows.get}}}
+#'     \item{}{\code{\link{workflows.list}}}
+#'     \item{}{\code{\link{workflows.update}}}
+#' }
+#'
+#' @name Arvados
+#' @examples
+#' \dontrun{
+#' arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")
+#'
+#' collection <- arv$collections.get("uuid")
+#'
+#' collectionList <- arv$collections.list(list(list("name", "like", "Test%")))
+#' collectionList <- listAll(arv$collections.list, list(list("name", "like", "Test%")))
+#'
+#' deletedCollection <- arv$collections.delete("uuid")
+#'
+#' updatedCollection <- arv$collections.update(list(name = "New name", description = "New description"),
+#'                                             "uuid")
+#'
+#' createdCollection <- arv$collections.create(list(name = "Example",
+#'                                                  description = "This is a test collection"))
+#' }
+NULL
 
-               api_clients.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
-               {
-                       endPoint <- stringr::str_interp("api_clients")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+#' @export
+Arvados <- R6::R6Class(
 
-               container_requests.get = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+       "Arvados",
 
-               container_requests.create = function(containerrequest,
-                       ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("container_requests")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(containerrequest) > 0)
-                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+       public = list(
 
-               container_requests.update = function(containerrequest, uuid)
+               initialize = function(authToken = NULL, hostName = NULL, numRetries = 0)
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(containerrequest) > 0)
-                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+                       if(!is.null(hostName))
+                               Sys.setenv(ARVADOS_API_HOST = hostName)
 
-               container_requests.delete = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
+                       if(!is.null(authToken))
+                               Sys.setenv(ARVADOS_API_TOKEN = authToken)
+
+                       hostName <- Sys.getenv("ARVADOS_API_HOST")
+                       token    <- Sys.getenv("ARVADOS_API_TOKEN")
+
+                       if(hostName == "" | token == "")
+                               stop(paste("Please provide host name and authentification token",
+                                                  "or set ARVADOS_API_HOST and ARVADOS_API_TOKEN",
+                                                  "environment variables."))
+
+                       private$token <- token
+                       private$host  <- paste0("https://", hostName, "/arvados/v1/")
+                       private$numRetries <- numRetries
+                       private$REST <- RESTService$new(token, hostName,
+                                                       HttpRequest$new(), HttpParser$new(),
+                                                       numRetries)
 
-               container_requests.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
-               {
-                       endPoint <- stringr::str_interp("container_requests")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
                },
 
-               authorized_keys.get = function(uuid)
+               projects.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
+                       self$groups.get(uuid)
                },
 
-               authorized_keys.create = function(authorizedkey,
-                       ensure_unique_name = "false")
+               projects.create = function(group, ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("authorized_keys")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(authorizedkey) > 0)
-                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
+                       group <- c("group_class" = "project", group)
+                       self$groups.create(group, ensure_unique_name)
                },
 
-               authorized_keys.update = function(authorizedkey, uuid)
+               projects.update = function(group, uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(authorizedkey) > 0)
-                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
+                       group <- c("group_class" = "project", group)
+                       self$groups.update(group, uuid)
                },
 
-               authorized_keys.delete = function(uuid)
+               projects.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       include_trash = NULL)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
+                       filters[[length(filters) + 1]] <- list("group_class", "=", "project")
+                       self$groups.list(filters, where, order, select, distinct,
+                                        limit, offset, count, include_trash)
                },
 
-               authorized_keys.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
-               {
-                       endPoint <- stringr::str_interp("authorized_keys")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
+               projects.delete = function(uuid)
+               {
+                       self$groups.delete(uuid)
                },
 
-               collections.get = function(uuid)
+               api_clients.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}")
+                       endPoint <- stringr::str_interp("api_clients/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3229,16 +1656,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.create = function(collection, ensure_unique_name = "false")
+               api_clients.create = function(apiclient,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("collections")
+                       endPoint <- stringr::str_interp("api_clients")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(collection) > 0)
-                               body <- jsonlite::toJSON(list(collection = collection), 
+                       if(length(apiclient) > 0)
+                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3253,16 +1682,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.update = function(collection, uuid)
+               api_clients.update = function(apiclient, uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}")
+                       endPoint <- stringr::str_interp("api_clients/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(collection) > 0)
-                               body <- jsonlite::toJSON(list(collection = collection), 
+                       if(length(apiclient) > 0)
+                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3277,11 +1706,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.delete = function(uuid)
+               api_clients.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}")
+                       endPoint <- stringr::str_interp("api_clients/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3297,13 +1726,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.provenance = function(uuid)
+               api_clients.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/provenance")
+                       endPoint <- stringr::str_interp("api_clients")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -3317,11 +1752,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.used_by = function(uuid)
+               api_client_authorizations.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/used_by")
+                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3337,15 +1772,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.trash = function(uuid)
+               api_client_authorizations.create = function(apiclientauthorization,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/trash")
+                       endPoint <- stringr::str_interp("api_client_authorizations")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       body <- NULL
+                       if(length(apiclientauthorization) > 0)
+                               body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -3357,43 +1798,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               collections.untrash = function(uuid)
+               api_client_authorizations.update = function(apiclientauthorization, uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/untrash")
+                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               collections.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact", include_trash = NULL)
-               {
-                       endPoint <- stringr::str_interp("collections")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count,
-                                                         include_trash = include_trash)
-                       
-                       body <- NULL
+                       if(length(apiclientauthorization) > 0)
+                               body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("PUT", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -3403,17 +1822,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               humans.get = function(uuid)
+               api_client_authorizations.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("humans/${uuid}")
+                       endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -3423,19 +1842,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               humans.create = function(human, ensure_unique_name = "false")
+               api_client_authorizations.create_system_auth = function(api_client_id = NULL, scopes = NULL)
                {
-                       endPoint <- stringr::str_interp("humans")
+                       endPoint <- stringr::str_interp("api_client_authorizations/create_system_auth")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(api_client_id = api_client_id,
+                                                         scopes = scopes)
                        
-                       if(length(human) > 0)
-                               body <- jsonlite::toJSON(list(human = human), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -3447,41 +1863,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               humans.update = function(human, uuid)
-               {
-                       endPoint <- stringr::str_interp("humans/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(human) > 0)
-                               body <- jsonlite::toJSON(list(human = human), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               humans.delete = function(uuid)
+               api_client_authorizations.current = function()
                {
-                       endPoint <- stringr::str_interp("humans/${uuid}")
+                       endPoint <- stringr::str_interp("api_client_authorizations/current")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -3491,17 +1883,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               humans.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               api_client_authorizations.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("humans")
+                       endPoint <- stringr::str_interp("api_client_authorizations")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -3515,11 +1909,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               job_tasks.get = function(uuid)
+               authorized_keys.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("job_tasks/${uuid}")
+                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3535,16 +1929,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               job_tasks.create = function(jobtask, ensure_unique_name = "false")
+               authorized_keys.create = function(authorizedkey,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("job_tasks")
+                       endPoint <- stringr::str_interp("authorized_keys")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(jobtask) > 0)
-                               body <- jsonlite::toJSON(list(jobtask = jobtask), 
+                       if(length(authorizedkey) > 0)
+                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3559,16 +1955,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               job_tasks.update = function(jobtask, uuid)
+               authorized_keys.update = function(authorizedkey, uuid)
                {
-                       endPoint <- stringr::str_interp("job_tasks/${uuid}")
+                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(jobtask) > 0)
-                               body <- jsonlite::toJSON(list(jobtask = jobtask), 
+                       if(length(authorizedkey) > 0)
+                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3583,11 +1979,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               job_tasks.delete = function(uuid)
+               authorized_keys.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("job_tasks/${uuid}")
+                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3603,18 +1999,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               job_tasks.list = function(filters = NULL,
+               authorized_keys.list = function(filters = NULL,
                        where = NULL, order = NULL, select = NULL,
                        distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("job_tasks")
+                       endPoint <- stringr::str_interp("authorized_keys")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -3628,11 +2025,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.get = function(uuid)
+               collections.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3648,21 +2045,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.create = function(job, ensure_unique_name = "false",
-                       find_or_create = "false", filters = NULL,
-                       minimum_script_version = NULL, exclude_script_versions = NULL)
+               collections.create = function(collection,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("jobs")
+                       endPoint <- stringr::str_interp("collections")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name,
-                                                         find_or_create = find_or_create, filters = filters,
-                                                         minimum_script_version = minimum_script_version,
-                                                         exclude_script_versions = exclude_script_versions)
+                                                         cluster_id = cluster_id)
                        
-                       if(length(job) > 0)
-                               body <- jsonlite::toJSON(list(job = job), 
+                       if(length(collection) > 0)
+                               body <- jsonlite::toJSON(list(collection = collection), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3677,16 +2071,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.update = function(job, uuid)
+               collections.update = function(collection, uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(job) > 0)
-                               body <- jsonlite::toJSON(list(job = job), 
+                       if(length(collection) > 0)
+                               body <- jsonlite::toJSON(list(collection = collection), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3701,11 +2095,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.delete = function(uuid)
+               collections.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3721,17 +2115,13 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.queue = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               collections.provenance = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/queue")
+                       endPoint <- stringr::str_interp("collections/${uuid}/provenance")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
@@ -3745,11 +2135,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.queue_size = function()
+               collections.used_by = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/queue_size")
+                       endPoint <- stringr::str_interp("collections/${uuid}/used_by")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3765,11 +2155,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.cancel = function(uuid)
+               collections.trash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/${uuid}/cancel")
+                       endPoint <- stringr::str_interp("collections/${uuid}/trash")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3785,11 +2175,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.lock = function(uuid)
+               collections.untrash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("jobs/${uuid}/lock")
+                       endPoint <- stringr::str_interp("collections/${uuid}/untrash")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3805,17 +2195,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               jobs.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               collections.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL,
+                       include_trash = NULL, include_old_versions = NULL)
                {
-                       endPoint <- stringr::str_interp("jobs")
+                       endPoint <- stringr::str_interp("collections")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation,
+                                                         include_trash = include_trash, include_old_versions = include_old_versions)
                        
                        body <- NULL
                        
@@ -3829,11 +2223,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_disks.get = function(uuid)
+               containers.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("keep_disks/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3849,16 +2243,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_disks.create = function(keepdisk, ensure_unique_name = "false")
+               containers.create = function(container, ensure_unique_name = "false",
+                       cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("keep_disks")
+                       endPoint <- stringr::str_interp("containers")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(keepdisk) > 0)
-                               body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
+                       if(length(container) > 0)
+                               body <- jsonlite::toJSON(list(container = container), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3873,16 +2269,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_disks.update = function(keepdisk, uuid)
+               containers.update = function(container, uuid)
                {
-                       endPoint <- stringr::str_interp("keep_disks/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(keepdisk) > 0)
-                               body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
+                       if(length(container) > 0)
+                               body <- jsonlite::toJSON(list(container = container), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -3897,11 +2293,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_disks.delete = function(uuid)
+               containers.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("keep_disks/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -3917,43 +2313,13 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_disks.ping = function(uuid = NULL, ping_secret,
-                       node_uuid = NULL, filesystem_uuid = NULL,
-                       service_host = NULL, service_port, service_ssl_flag)
-               {
-                       endPoint <- stringr::str_interp("keep_disks/ping")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid, ping_secret = ping_secret,
-                                                         node_uuid = node_uuid, filesystem_uuid = filesystem_uuid,
-                                                         service_host = service_host, service_port = service_port,
-                                                         service_ssl_flag = service_ssl_flag)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               keep_disks.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+               containers.auth = function(uuid)
                {
-                       endPoint <- stringr::str_interp("keep_disks")
+                       endPoint <- stringr::str_interp("containers/${uuid}/auth")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
@@ -3967,42 +2333,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               nodes.get = function(uuid)
+               containers.lock = function(uuid)
                {
-                       endPoint <- stringr::str_interp("nodes/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/lock")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               nodes.create = function(node, ensure_unique_name = "false",
-                       assign_slot = NULL)
-               {
-                       endPoint <- stringr::str_interp("nodes")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
-                                                         assign_slot = assign_slot)
-                       
-                       if(length(node) > 0)
-                               body <- jsonlite::toJSON(list(node = node), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
@@ -4013,21 +2353,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               nodes.update = function(node, uuid, assign_slot = NULL)
+               containers.unlock = function(uuid)
                {
-                       endPoint <- stringr::str_interp("nodes/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/unlock")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(assign_slot = assign_slot)
+                       queryArgs <- NULL
                        
-                       if(length(node) > 0)
-                               body <- jsonlite::toJSON(list(node = node), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4037,17 +2373,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               nodes.delete = function(uuid)
+               containers.secret_mounts = function(uuid)
                {
-                       endPoint <- stringr::str_interp("nodes/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/secret_mounts")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4057,17 +2393,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               nodes.ping = function(uuid, ping_secret)
+               containers.current = function()
                {
-                       endPoint <- stringr::str_interp("nodes/${uuid}/ping")
+                       endPoint <- stringr::str_interp("containers/current")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ping_secret = ping_secret)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4077,17 +2413,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               nodes.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               containers.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("nodes")
+                       endPoint <- stringr::str_interp("containers")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -4101,11 +2439,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               links.get = function(uuid)
+               container_requests.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("links/${uuid}")
+                       endPoint <- stringr::str_interp("container_requests/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4121,16 +2459,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               links.create = function(link, ensure_unique_name = "false")
+               container_requests.create = function(containerrequest,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("links")
+                       endPoint <- stringr::str_interp("container_requests")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(link) > 0)
-                               body <- jsonlite::toJSON(list(link = link), 
+                       if(length(containerrequest) > 0)
+                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4145,16 +2485,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               links.update = function(link, uuid)
+               container_requests.update = function(containerrequest, uuid)
                {
-                       endPoint <- stringr::str_interp("links/${uuid}")
+                       endPoint <- stringr::str_interp("container_requests/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(link) > 0)
-                               body <- jsonlite::toJSON(list(link = link), 
+                       if(length(containerrequest) > 0)
+                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4169,11 +2509,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               links.delete = function(uuid)
+               container_requests.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("links/${uuid}")
+                       endPoint <- stringr::str_interp("container_requests/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4189,37 +2529,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               links.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               container_requests.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL,
+                       include_trash = NULL)
                {
-                       endPoint <- stringr::str_interp("links")
+                       endPoint <- stringr::str_interp("container_requests")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
-                       
-                       body <- NULL
-                       
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               links.get_permissions = function(uuid)
-               {
-                       endPoint <- stringr::str_interp("permissions/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation,
+                                                         include_trash = include_trash)
                        
                        body <- NULL
                        
@@ -4233,11 +2557,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.get = function(uuid)
+               groups.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("keep_services/${uuid}")
+                       endPoint <- stringr::str_interp("groups/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4253,17 +2577,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.create = function(keepservice,
-                       ensure_unique_name = "false")
+               groups.create = function(group, ensure_unique_name = "false",
+                       cluster_id = NULL, async = "false")
                {
-                       endPoint <- stringr::str_interp("keep_services")
+                       endPoint <- stringr::str_interp("groups")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id, async = async)
                        
-                       if(length(keepservice) > 0)
-                               body <- jsonlite::toJSON(list(keepservice = keepservice), 
+                       if(length(group) > 0)
+                               body <- jsonlite::toJSON(list(group = group), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4278,16 +2603,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.update = function(keepservice, uuid)
+               groups.update = function(group, uuid, async = "false")
                {
-                       endPoint <- stringr::str_interp("keep_services/${uuid}")
+                       endPoint <- stringr::str_interp("groups/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(async = async)
                        
-                       if(length(keepservice) > 0)
-                               body <- jsonlite::toJSON(list(keepservice = keepservice), 
+                       if(length(group) > 0)
+                               body <- jsonlite::toJSON(list(group = group), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4302,11 +2627,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.delete = function(uuid)
+               groups.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("keep_services/${uuid}")
+                       endPoint <- stringr::str_interp("groups/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4322,13 +2647,22 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.accessible = function()
+               groups.contents = function(filters = NULL,
+                       where = NULL, order = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       cluster_id = NULL, bypass_federation = NULL,
+                       include_trash = NULL, uuid = NULL, recursive = NULL,
+                       include = NULL)
                {
-                       endPoint <- stringr::str_interp("keep_services/accessible")
+                       endPoint <- stringr::str_interp("groups/contents")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, distinct = distinct, limit = limit,
+                                                         offset = offset, count = count, cluster_id = cluster_id,
+                                                         bypass_federation = bypass_federation, include_trash = include_trash,
+                                                         uuid = uuid, recursive = recursive, include = include)
                        
                        body <- NULL
                        
@@ -4342,18 +2676,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               keep_services.list = function(filters = NULL,
+               groups.shared = function(filters = NULL,
                        where = NULL, order = NULL, select = NULL,
                        distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL,
+                       include_trash = NULL, include = NULL)
                {
-                       endPoint <- stringr::str_interp("keep_services")
+                       endPoint <- stringr::str_interp("groups/shared")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation,
+                                                         include_trash = include_trash, include = include)
                        
                        body <- NULL
                        
@@ -4367,41 +2704,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_templates.get = function(uuid)
+               groups.trash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
+                       endPoint <- stringr::str_interp("groups/${uuid}/trash")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               pipeline_templates.create = function(pipelinetemplate,
-                       ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("pipeline_templates")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(pipelinetemplate) > 0)
-                               body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
@@ -4412,41 +2724,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_templates.update = function(pipelinetemplate, uuid)
-               {
-                       endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- NULL
-                       
-                       if(length(pipelinetemplate) > 0)
-                               body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("PUT", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               pipeline_templates.delete = function(uuid)
+               groups.untrash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
+                       endPoint <- stringr::str_interp("groups/${uuid}/untrash")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4456,18 +2744,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_templates.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+               groups.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       cluster_id = NULL, bypass_federation = NULL,
+                       include_trash = NULL)
                {
-                       endPoint <- stringr::str_interp("pipeline_templates")
+                       endPoint <- stringr::str_interp("groups")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation,
+                                                         include_trash = include_trash)
                        
                        body <- NULL
                        
@@ -4481,11 +2772,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.get = function(uuid)
+               keep_services.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
+                       endPoint <- stringr::str_interp("keep_services/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4501,17 +2792,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.create = function(pipelineinstance,
-                       ensure_unique_name = "false")
+               keep_services.create = function(keepservice,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("pipeline_instances")
+                       endPoint <- stringr::str_interp("keep_services")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(pipelineinstance) > 0)
-                               body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
+                       if(length(keepservice) > 0)
+                               body <- jsonlite::toJSON(list(keepservice = keepservice), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4526,16 +2818,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.update = function(pipelineinstance, uuid)
+               keep_services.update = function(keepservice, uuid)
                {
-                       endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
+                       endPoint <- stringr::str_interp("keep_services/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(pipelineinstance) > 0)
-                               body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
+                       if(length(keepservice) > 0)
+                               body <- jsonlite::toJSON(list(keepservice = keepservice), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4550,11 +2842,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.delete = function(uuid)
+               keep_services.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
+                       endPoint <- stringr::str_interp("keep_services/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4570,17 +2862,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.cancel = function(uuid)
+               keep_services.accessible = function()
                {
-                       endPoint <- stringr::str_interp("pipeline_instances/${uuid}/cancel")
+                       endPoint <- stringr::str_interp("keep_services/accessible")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4590,18 +2882,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               pipeline_instances.list = function(filters = NULL,
+               keep_services.list = function(filters = NULL,
                        where = NULL, order = NULL, select = NULL,
                        distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("pipeline_instances")
+                       endPoint <- stringr::str_interp("keep_services")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -4615,11 +2908,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.get = function(uuid)
+               links.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("repositories/${uuid}")
+                       endPoint <- stringr::str_interp("links/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4635,16 +2928,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.create = function(repository, ensure_unique_name = "false")
+               links.create = function(link, ensure_unique_name = "false",
+                       cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("repositories")
+                       endPoint <- stringr::str_interp("links")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(repository) > 0)
-                               body <- jsonlite::toJSON(list(repository = repository), 
+                       if(length(link) > 0)
+                               body <- jsonlite::toJSON(list(link = link), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4659,16 +2954,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.update = function(repository, uuid)
+               links.update = function(link, uuid)
                {
-                       endPoint <- stringr::str_interp("repositories/${uuid}")
+                       endPoint <- stringr::str_interp("links/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(repository) > 0)
-                               body <- jsonlite::toJSON(list(repository = repository), 
+                       if(length(link) > 0)
+                               body <- jsonlite::toJSON(list(link = link), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4683,11 +2978,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.delete = function(uuid)
+               links.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("repositories/${uuid}")
+                       endPoint <- stringr::str_interp("links/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4703,13 +2998,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.get_all_permissions = function()
+               links.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("repositories/get_all_permissions")
+                       endPoint <- stringr::str_interp("links")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -4723,18 +3024,13 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               repositories.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+               links.get_permissions = function(uuid)
                {
-                       endPoint <- stringr::str_interp("repositories")
+                       endPoint <- stringr::str_interp("permissions/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
@@ -4748,11 +3044,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               specimens.get = function(uuid)
+               logs.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("specimens/${uuid}")
+                       endPoint <- stringr::str_interp("logs/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4768,16 +3064,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               specimens.create = function(specimen, ensure_unique_name = "false")
+               logs.create = function(log, ensure_unique_name = "false",
+                       cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("specimens")
+                       endPoint <- stringr::str_interp("logs")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(specimen) > 0)
-                               body <- jsonlite::toJSON(list(specimen = specimen), 
+                       if(length(log) > 0)
+                               body <- jsonlite::toJSON(list(log = log), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4792,16 +3090,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               specimens.update = function(specimen, uuid)
+               logs.update = function(log, uuid)
                {
-                       endPoint <- stringr::str_interp("specimens/${uuid}")
+                       endPoint <- stringr::str_interp("logs/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(specimen) > 0)
-                               body <- jsonlite::toJSON(list(specimen = specimen), 
+                       if(length(log) > 0)
+                               body <- jsonlite::toJSON(list(log = log), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4816,11 +3114,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               specimens.delete = function(uuid)
+               logs.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("specimens/${uuid}")
+                       endPoint <- stringr::str_interp("logs/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4836,18 +3134,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               specimens.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+               logs.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("specimens")
+                       endPoint <- stringr::str_interp("logs")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -4861,11 +3160,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               logs.get = function(uuid)
+               users.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("logs/${uuid}")
+                       endPoint <- stringr::str_interp("users/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -4881,16 +3180,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               logs.create = function(log, ensure_unique_name = "false")
+               users.create = function(user, ensure_unique_name = "false",
+                       cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("logs")
+                       endPoint <- stringr::str_interp("users")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(log) > 0)
-                               body <- jsonlite::toJSON(list(log = log), 
+                       if(length(user) > 0)
+                               body <- jsonlite::toJSON(list(user = user), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -4905,21 +3206,41 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               logs.update = function(log, uuid)
+               users.update = function(user, uuid, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("logs/${uuid}")
+                       endPoint <- stringr::str_interp("users/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(bypass_federation = bypass_federation)
                        
-                       if(length(log) > 0)
-                               body <- jsonlite::toJSON(list(log = log), 
+                       if(length(user) > 0)
+                               body <- jsonlite::toJSON(list(user = user), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       response <- private$REST$http$exec("PUT", url, headers, body,
+                                                          queryArgs, private$numRetries)
+                       resource <- private$REST$httpParser$parseJSONResponse(response)
+                       
+                       if(!is.null(resource$errors))
+                               stop(resource$errors)
+                       
+                       resource
+               },
+
+               users.delete = function(uuid)
+               {
+                       endPoint <- stringr::str_interp("users/${uuid}")
+                       url <- paste0(private$host, endPoint)
+                       headers <- list(Authorization = paste("Bearer", private$token), 
+                                       "Content-Type" = "application/json")
+                       queryArgs <- NULL
+                       
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4929,17 +3250,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               logs.delete = function(uuid)
+               users.current = function()
                {
-                       endPoint <- stringr::str_interp("logs/${uuid}")
+                       endPoint <- stringr::str_interp("users/current")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4949,17 +3270,13 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               logs.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               users.system = function()
                {
-                       endPoint <- stringr::str_interp("logs")
+                       endPoint <- stringr::str_interp("users/system")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
@@ -4973,17 +3290,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               traits.get = function(uuid)
+               users.activate = function(uuid)
                {
-                       endPoint <- stringr::str_interp("traits/${uuid}")
+                       endPoint <- stringr::str_interp("users/${uuid}/activate")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -4993,19 +3310,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               traits.create = function(trait, ensure_unique_name = "false")
+               users.setup = function(uuid = NULL, user = NULL,
+                       repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
                {
-                       endPoint <- stringr::str_interp("traits")
+                       endPoint <- stringr::str_interp("users/setup")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(uuid = uuid, user = user,
+                                                         repo_name = repo_name, vm_uuid = vm_uuid,
+                                                         send_notification_email = send_notification_email)
                        
-                       if(length(trait) > 0)
-                               body <- jsonlite::toJSON(list(trait = trait), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -5017,21 +3333,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               traits.update = function(trait, uuid)
+               users.unsetup = function(uuid)
                {
-                       endPoint <- stringr::str_interp("traits/${uuid}")
+                       endPoint <- stringr::str_interp("users/${uuid}/unsetup")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(trait) > 0)
-                               body <- jsonlite::toJSON(list(trait = trait), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5041,17 +3353,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               traits.delete = function(uuid)
+               users.update_uuid = function(uuid, new_uuid)
                {
-                       endPoint <- stringr::str_interp("traits/${uuid}")
+                       endPoint <- stringr::str_interp("users/${uuid}/update_uuid")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(new_uuid = new_uuid)
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5061,21 +3373,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               traits.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact")
+               users.merge = function(new_owner_uuid, new_user_token = NULL,
+                       redirect_to_new_user = NULL, old_user_uuid = NULL,
+                       new_user_uuid = NULL)
                {
-                       endPoint <- stringr::str_interp("traits")
+                       endPoint <- stringr::str_interp("users/merge")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- list(new_owner_uuid = new_owner_uuid,
+                                                         new_user_token = new_user_token, redirect_to_new_user = redirect_to_new_user,
+                                                         old_user_uuid = old_user_uuid, new_user_uuid = new_user_uuid)
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5085,13 +3397,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.get = function(uuid)
+               users.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
+                       endPoint <- stringr::str_interp("users")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -5105,22 +3423,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.create = function(virtualmachine,
-                       ensure_unique_name = "false")
+               repositories.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("virtual_machines")
+                       endPoint <- stringr::str_interp("repositories/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- NULL
                        
-                       if(length(virtualmachine) > 0)
-                               body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5130,21 +3443,23 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.update = function(virtualmachine, uuid)
+               repositories.create = function(repository,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
+                       endPoint <- stringr::str_interp("repositories")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(virtualmachine) > 0)
-                               body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
+                       if(length(repository) > 0)
+                               body <- jsonlite::toJSON(list(repository = repository), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5154,17 +3469,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.delete = function(uuid)
+               repositories.update = function(repository, uuid)
                {
-                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
+                       endPoint <- stringr::str_interp("repositories/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       body <- NULL
+                       if(length(repository) > 0)
+                               body <- jsonlite::toJSON(list(repository = repository), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("PUT", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5174,17 +3493,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.logins = function(uuid)
+               repositories.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("virtual_machines/${uuid}/logins")
+                       endPoint <- stringr::str_interp("repositories/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5194,11 +3513,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.get_all_logins = function()
+               repositories.get_all_permissions = function()
                {
-                       endPoint <- stringr::str_interp("virtual_machines/get_all_logins")
+                       endPoint <- stringr::str_interp("repositories/get_all_permissions")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5214,18 +3533,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               virtual_machines.list = function(filters = NULL,
+               repositories.list = function(filters = NULL,
                        where = NULL, order = NULL, select = NULL,
                        distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("virtual_machines")
+                       endPoint <- stringr::str_interp("repositories")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -5239,11 +3559,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               workflows.get = function(uuid)
+               virtual_machines.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("workflows/${uuid}")
+                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5259,16 +3579,18 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               workflows.create = function(workflow, ensure_unique_name = "false")
+               virtual_machines.create = function(virtualmachine,
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("workflows")
+                       endPoint <- stringr::str_interp("virtual_machines")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       if(length(workflow) > 0)
-                               body <- jsonlite::toJSON(list(workflow = workflow), 
+                       if(length(virtualmachine) > 0)
+                               body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -5283,16 +3605,16 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               workflows.update = function(workflow, uuid)
+               virtual_machines.update = function(virtualmachine, uuid)
                {
-                       endPoint <- stringr::str_interp("workflows/${uuid}")
+                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       if(length(workflow) > 0)
-                               body <- jsonlite::toJSON(list(workflow = workflow), 
+                       if(length(virtualmachine) > 0)
+                               body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
                                                         auto_unbox = TRUE)
                        else
                                body <- NULL
@@ -5307,11 +3629,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               workflows.delete = function(uuid)
+               virtual_machines.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("workflows/${uuid}")
+                       endPoint <- stringr::str_interp("virtual_machines/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5327,18 +3649,13 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               workflows.list = function(filters = NULL,
-                       where = NULL, order = NULL, select = NULL,
-                       distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+               virtual_machines.logins = function(uuid)
                {
-                       endPoint <- stringr::str_interp("workflows")
+                       endPoint <- stringr::str_interp("virtual_machines/${uuid}/logins")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                       queryArgs <- NULL
                        
                        body <- NULL
                        
@@ -5352,11 +3669,11 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.get = function(uuid)
+               virtual_machines.get_all_logins = function()
                {
-                       endPoint <- stringr::str_interp("groups/${uuid}")
+                       endPoint <- stringr::str_interp("virtual_machines/get_all_logins")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5372,45 +3689,23 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.create = function(group, ensure_unique_name = "false")
-               {
-                       endPoint <- stringr::str_interp("groups")
-                       url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
-                                       "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       
-                       if(length(group) > 0)
-                               body <- jsonlite::toJSON(list(group = group), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
-                       
-                       response <- private$REST$http$exec("POST", url, headers, body,
-                                                          queryArgs, private$numRetries)
-                       resource <- private$REST$httpParser$parseJSONResponse(response)
-                       
-                       if(!is.null(resource$errors))
-                               stop(resource$errors)
-                       
-                       resource
-               },
-
-               groups.update = function(group, uuid)
+               virtual_machines.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("groups/${uuid}")
+                       endPoint <- stringr::str_interp("virtual_machines")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- NULL
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
-                       if(length(group) > 0)
-                               body <- jsonlite::toJSON(list(group = group), 
-                                                        auto_unbox = TRUE)
-                       else
-                               body <- NULL
+                       body <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5420,17 +3715,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.delete = function(uuid)
+               workflows.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("groups/${uuid}")
+                       endPoint <- stringr::str_interp("workflows/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5440,23 +3735,23 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.contents = function(filters = NULL,
-                       where = NULL, order = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact",
-                       include_trash = NULL, uuid = NULL, recursive = NULL)
+               workflows.create = function(workflow, ensure_unique_name = "false",
+                       cluster_id = NULL)
                {
-                       endPoint <- stringr::str_interp("groups/contents")
+                       endPoint <- stringr::str_interp("workflows")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(filters = filters, where = where,
-                                                         order = order, distinct = distinct, limit = limit,
-                                                         offset = offset, count = count, include_trash = include_trash,
-                                                         uuid = uuid, recursive = recursive)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
-                       body <- NULL
+                       if(length(workflow) > 0)
+                               body <- jsonlite::toJSON(list(workflow = workflow), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5466,17 +3761,21 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.trash = function(uuid)
+               workflows.update = function(workflow, uuid)
                {
-                       endPoint <- stringr::str_interp("groups/${uuid}/trash")
+                       endPoint <- stringr::str_interp("workflows/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
-                       body <- NULL
+                       if(length(workflow) > 0)
+                               body <- jsonlite::toJSON(list(workflow = workflow), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("PUT", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5486,17 +3785,17 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.untrash = function(uuid)
+               workflows.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("groups/${uuid}/untrash")
+                       endPoint <- stringr::str_interp("workflows/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
                        body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
@@ -5506,19 +3805,19 @@ Arvados <- R6::R6Class(
                        resource
                },
 
-               groups.list = function(filters = NULL, where = NULL,
-                       order = NULL, select = NULL, distinct = NULL,
-                       limit = "100", offset = "0", count = "exact",
-                       include_trash = NULL)
+               workflows.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
-                       endPoint <- stringr::str_interp("groups")
+                       endPoint <- stringr::str_interp("workflows")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
                                                          limit = limit, offset = offset, count = count,
-                                                         include_trash = include_trash)
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -5536,7 +3835,7 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5553,13 +3852,14 @@ Arvados <- R6::R6Class(
                },
 
                user_agreements.create = function(useragreement,
-                       ensure_unique_name = "false")
+                       ensure_unique_name = "false", cluster_id = NULL)
                {
                        endPoint <- stringr::str_interp("user_agreements")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         cluster_id = cluster_id)
                        
                        if(length(useragreement) > 0)
                                body <- jsonlite::toJSON(list(useragreement = useragreement), 
@@ -5581,7 +3881,7 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5605,7 +3905,7 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/${uuid}")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5625,7 +3925,7 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/signatures")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5645,7 +3945,7 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/sign")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
@@ -5664,15 +3964,16 @@ Arvados <- R6::R6Class(
                user_agreements.list = function(filters = NULL,
                        where = NULL, order = NULL, select = NULL,
                        distinct = NULL, limit = "100", offset = "0",
-                       count = "exact")
+                       count = "exact", cluster_id = NULL, bypass_federation = NULL)
                {
                        endPoint <- stringr::str_interp("user_agreements")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(filters = filters, where = where,
                                                          order = order, select = select, distinct = distinct,
-                                                         limit = limit, offset = offset, count = count)
+                                                         limit = limit, offset = offset, count = count,
+                                                         cluster_id = cluster_id, bypass_federation = bypass_federation)
                        
                        body <- NULL
                        
@@ -5690,7 +3991,27 @@ Arvados <- R6::R6Class(
                {
                        endPoint <- stringr::str_interp("user_agreements/new")
                        url <- paste0(private$host, endPoint)
-                       headers <- list(Authorization = paste("OAuth2", private$token), 
+                       headers <- list(Authorization = paste("Bearer", private$token), 
+                                       "Content-Type" = "application/json")
+                       queryArgs <- NULL
+                       
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
+                                                          queryArgs, private$numRetries)
+                       resource <- private$REST$httpParser$parseJSONResponse(response)
+                       
+                       if(!is.null(resource$errors))
+                               stop(resource$errors)
+                       
+                       resource
+               },
+
+               configs.get = function()
+               {
+                       endPoint <- stringr::str_interp("config")
+                       url <- paste0(private$host, endPoint)
+                       headers <- list(Authorization = paste("Bearer", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
                        
index 70bb4450eccca6efd453002dc7a0962c904fb0d0..fb1d3b335cba00df4db898de20b917334b7e4610 100644 (file)
@@ -2,8 +2,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-source("./R/util.R")
-
 #' ArvadosFile
 #'
 #' ArvadosFile class represents a file inside Arvados collection.
index 8869d7be67846b449200fe2c675936dd1c4133db..1440836547253bc96871c651e666ec8608af243a 100644 (file)
@@ -2,11 +2,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-source("./R/Subcollection.R")
-source("./R/ArvadosFile.R")
-source("./R/RESTService.R")
-source("./R/util.R")
-
 #' Collection
 #'
 #' Collection class provides interface for working with Arvados collections.
index 5f7a29455ae4a58aaae6792f6dd1eb26ae30ae4e..e01e7e8de9dc1f36ac462a0c3730c525926a1555 100644 (file)
@@ -2,10 +2,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-source("./R/Subcollection.R")
-source("./R/ArvadosFile.R")
-source("./R/util.R")
-
 CollectionTree <- R6::R6Class(
     "CollectionTree",
     public = list(
index cd492166a139bf56dccebf732f2533c443440cf7..60bf7828278859e14fefaacebbcb5d762f1dbe99 100644 (file)
@@ -31,14 +31,13 @@ HttpParser <- R6::R6Class(
         {
             text <- rawToChar(response$content)
             doc <- XML::xmlParse(text, asText=TRUE)
-            base <- paste(paste("/", strsplit(uri, "/")[[1]][-1:-3], sep="", collapse=""), "/", sep="")
+            base <- paste("/", strsplit(uri, "/")[[1]][4], "/", sep="")
             result <- unlist(
                 XML::xpathApply(doc, "//D:response/D:href", function(node) {
                     sub(base, "", URLdecode(XML::xmlValue(node)), fixed=TRUE)
                 })
             )
-            result <- result[result != ""]
-            result[-1]
+            result[result != ""]
         },
 
         getFileSizesFromResponse = function(response, uri)
index 07defca90f4c99e8be9f8a73f7412f398ab1a701..18b36f96898c2fa1be1d2e512a2fb158ac94294a 100644 (file)
@@ -2,8 +2,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-source("./R/util.R")
-
 HttpRequest <- R6::R6Class(
 
     "HttrRequest",
@@ -54,7 +52,7 @@ HttpRequest <- R6::R6Class(
             {
                 query <- paste0(names(query), "=", query, collapse = "&")
 
-                return(paste0("/?", query))
+                return(paste0("?", query))
             }
 
             return("")
index 78b2c35e32fa117190f033075e1ea5ee2a3805e3..9c65e72861f41513936e431afda50f6ab443f983 100644 (file)
@@ -36,16 +36,13 @@ RESTService <- R6::R6Class(
         {
             if(is.null(private$webDavHostName))
             {
-                discoveryDocumentURL <- paste0("https://", private$rawHostName,
-                                               "/discovery/v1/apis/arvados/v1/rest")
+                publicConfigURL <- paste0("https://", private$rawHostName,
+                                               "/arvados/v1/config")
 
-                headers <- list(Authorization = paste("OAuth2", self$token))
-
-                serverResponse <- self$http$exec("GET", discoveryDocumentURL, headers,
-                                                 retryTimes = self$numRetries)
+                serverResponse <- self$http$exec("GET", publicConfigURL, retryTimes = self$numRetries)
 
-                discoveryDocument <- self$httpParser$parseJSONResponse(serverResponse)
-                private$webDavHostName <- discoveryDocument$keepWebServiceUrl
+                configDocument <- self$httpParser$parseJSONResponse(serverResponse)
+                private$webDavHostName <- configDocument$Services$WebDAVDownload$ExternalURL
 
                 if(is.null(private$webDavHostName))
                     stop("Unable to find WebDAV server.")
@@ -118,7 +115,7 @@ RESTService <- R6::R6Class(
             collectionURL <- URLencode(paste0(self$getWebDavHostName(),
                                               "c=", uuid))
 
-            headers <- list("Authorization" = paste("OAuth2", self$token))
+            headers <- list("Authorization" = paste("Bearer", self$token))
 
             response <- self$http$exec("PROPFIND", collectionURL, headers,
                                        retryTimes = self$numRetries)
index 17a9ef3ee3ba6180546763da637a8824905d66dc..981bd687a2fbcb68f8eb0deafa7caed619dd3628 100644 (file)
@@ -2,8 +2,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-source("./R/util.R")
-
 #' Subcollection
 #'
 #' Subcollection class represents a folder inside Arvados collection.
index 1aef20b6cb90fe11d7440219bbe24d464af988c2..c86684f8b0a13ab62f53eddc23884a16e2504ffc 100644 (file)
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 getAPIDocument <- function(){
-    url <- "https://4xphq.arvadosapi.com/discovery/v1/apis/arvados/v1/rest"
+    url <- "https://jutro.arvadosapi.com/discovery/v1/apis/arvados/v1/rest"
     serverResponse <- httr::RETRY("GET", url = url)
 
     httr::content(serverResponse, as = "parsed", type = "application/json")
@@ -17,6 +17,10 @@ generateAPI <- function()
     discoveryDocument <- getAPIDocument()
 
     methodResources <- discoveryDocument$resources
+
+    # Don't emit deprecated APIs
+    methodResources <- methodResources[!(names(methodResources) %in% c("jobs", "job_tasks", "pipeline_templates", "pipeline_instances",
+                           "keep_disks", "nodes", "humans", "traits", "specimens"))]
     resourceNames   <- names(methodResources)
 
     methodDoc <- genMethodsDoc(methodResources, resourceNames)
@@ -34,6 +38,10 @@ generateAPI <- function()
                       arvadosAPIFooter)
 
     fileConn <- file("./R/Arvados.R", "w")
+    writeLines(c(
+    "# Copyright (C) The Arvados Authors. All rights reserved.",
+    "#",
+    "# SPDX-License-Identifier: Apache-2.0", ""), fileConn)
     writeLines(unlist(arvadosClass), fileConn)
     close(fileConn)
     NULL
@@ -252,7 +260,7 @@ getRequestURL <- function(methodMetaData)
 
 getRequestHeaders <- function()
 {
-    c("headers <- list(Authorization = paste(\"OAuth2\", private$token), ",
+    c("headers <- list(Authorization = paste(\"Bearer\", private$token), ",
       "                \"Content-Type\" = \"application/json\")")
 }
 
index e3457c993f7c88cee4a963ca7006a90c6078f478..da7d52c67d63697bc81aefbcbe16e7713add3891 100644 (file)
@@ -23,7 +23,7 @@ test_that("get always returns NULL", {
     dog <- ArvadosFile$new("dog")
 
     responseIsNull <- is.null(dog$get("something"))
-    expect_that(responseIsNull, is_true())
+    expect_true(responseIsNull)
 })
 
 test_that("getFirst always returns NULL", {
@@ -31,7 +31,7 @@ test_that("getFirst always returns NULL", {
     dog <- ArvadosFile$new("dog")
 
     responseIsNull <- is.null(dog$getFirst())
-    expect_that(responseIsNull, is_true())
+    expect_true(responseIsNull)
 })
 
 test_that(paste("getSizeInBytes returns zero if arvadosFile",
@@ -266,8 +266,8 @@ test_that("move moves arvados file inside collection tree", {
     dogIsNullOnOldLocation <- is.null(collection$get("animal/dog"))
     dogExistsOnNewLocation <- !is.null(collection$get("dog"))
 
-    expect_that(dogIsNullOnOldLocation, is_true())
-    expect_that(dogExistsOnNewLocation, is_true())
+    expect_true(dogIsNullOnOldLocation)
+    expect_true(dogExistsOnNewLocation)
 })
 
 test_that(paste("copy raises exception if arvados file",
@@ -339,8 +339,8 @@ test_that("copy copies arvados file inside collection tree", {
     dogExistsOnOldLocation <- !is.null(collection$get("animal/dog"))
     dogExistsOnNewLocation <- !is.null(collection$get("dog"))
 
-    expect_that(dogExistsOnOldLocation, is_true())
-    expect_that(dogExistsOnNewLocation, is_true())
+    expect_true(dogExistsOnOldLocation)
+    expect_true(dogExistsOnNewLocation)
 })
 
 test_that("duplicate performs deep cloning of Arvados file", {
index 636359ae21a7b196d406ec2b16ee8839e0921f9e..20a2ecf05b120bb769d7f0b8d01c007099638516 100644 (file)
@@ -86,7 +86,7 @@ test_that(paste("add adds ArvadosFile or Subcollection",
     dog <- collection$get("animal/dog")
     dogExistsInCollection <- !is.null(dog) && dog$getName() == "dog"
 
-    expect_that(dogExistsInCollection, is_true())
+    expect_true(dogExistsInCollection)
     expect_that(fakeREST$createCallCount, equals(1))
 })
 
@@ -119,8 +119,8 @@ test_that(paste("create adds files specified by fileNames",
     dogExistsInCollection <- !is.null(dog) && dog$getName() == "dog"
     catExistsInCollection <- !is.null(cat) && cat$getName() == "cat"
 
-    expect_that(dogExistsInCollection, is_true())
-    expect_that(catExistsInCollection, is_true())
+    expect_true(dogExistsInCollection)
+    expect_true(catExistsInCollection)
     expect_that(fakeREST$createCallCount, equals(2))
 })
 
@@ -168,8 +168,8 @@ test_that(paste("remove removes files specified by paths",
     dogExistsInCollection <- !is.null(dog) && dog$getName() == "dog"
     catExistsInCollection <- !is.null(cat) && cat$getName() == "cat"
 
-    expect_that(dogExistsInCollection, is_false())
-    expect_that(catExistsInCollection, is_false())
+    expect_false(dogExistsInCollection)
+    expect_false(catExistsInCollection)
     expect_that(fakeREST$deleteCallCount, equals(2))
 })
 
@@ -188,8 +188,8 @@ test_that(paste("move moves content to a new location inside file tree",
     dogIsNullOnOldLocation <- is.null(collection$get("animal/dog"))
     dogExistsOnNewLocation <- !is.null(collection$get("dog"))
 
-    expect_that(dogIsNullOnOldLocation, is_true())
-    expect_that(dogExistsOnNewLocation, is_true())
+    expect_true(dogIsNullOnOldLocation)
+    expect_true(dogExistsOnNewLocation)
     expect_that(fakeREST$moveCallCount, equals(1))
 })
 
@@ -219,7 +219,7 @@ test_that("getFileListing returns sorted collection content received from REST s
     contentMatchExpected <- all(collection$getFileListing() ==
                                 c("animal", "animal/fish", "ball"))
 
-    expect_that(contentMatchExpected, is_true())
+    expect_true(contentMatchExpected)
     #2 calls because Collection$new calls getFileListing once
     expect_that(fakeREST$getCollectionContentCallCount, equals(2))
 
@@ -237,7 +237,7 @@ test_that("get returns arvados file or subcollection from internal tree structur
     fish <- collection$get("animal/fish")
     fishIsNotNull <- !is.null(fish)
 
-    expect_that(fishIsNotNull, is_true())
+    expect_true(fishIsNotNull)
     expect_that(fish$getName(), equals("fish"))
 })
 
@@ -256,8 +256,8 @@ test_that(paste("copy copies content to a new location inside file tree",
     dogExistsOnOldLocation <- !is.null(collection$get("animal/dog"))
     dogExistsOnNewLocation <- !is.null(collection$get("dog"))
 
-    expect_that(dogExistsOnOldLocation, is_true())
-    expect_that(dogExistsOnNewLocation, is_true())
+    expect_true(dogExistsOnOldLocation)
+    expect_true(dogExistsOnNewLocation)
     expect_that(fakeREST$copyCallCount, equals(1))
 })
 
index 1a3aefecd012325658ad408ee2a699682907dbaf..c4bf9a1da7ff639d62c1bbb135ea77f4326ed4d6 100644 (file)
@@ -34,16 +34,16 @@ test_that("constructor creates file tree from character array properly", {
                                          boat$getCollection()   == "myCollection"
 
     expect_that(root$getName(), equals(""))
-    expect_that(rootIsOfTypeSubcollection, is_true())
-    expect_that(rootHasNoParent, is_true())
-    expect_that(animalIsOfTypeSubcollection, is_true())
-    expect_that(animalsParentIsRoot, is_true())
-    expect_that(animalContainsDog, is_true())
-    expect_that(dogIsOfTypeArvadosFile, is_true())
-    expect_that(dogsParentIsAnimal, is_true())
-    expect_that(boatIsOfTypeArvadosFile, is_true())
-    expect_that(boatsParentIsRoot, is_true())
-    expect_that(allElementsBelongToSameCollection, is_true())
+    expect_true(rootIsOfTypeSubcollection)
+    expect_true(rootHasNoParent)
+    expect_true(animalIsOfTypeSubcollection)
+    expect_true(animalsParentIsRoot)
+    expect_true(animalContainsDog)
+    expect_true(dogIsOfTypeArvadosFile)
+    expect_true(dogsParentIsAnimal)
+    expect_true(boatIsOfTypeArvadosFile)
+    expect_true(boatsParentIsRoot)
+    expect_true(allElementsBelongToSameCollection)
 })
 
 test_that("getElement returns element from tree if element exists on specified path", {
@@ -72,7 +72,7 @@ test_that("getElement returns NULL from tree if element doesn't exists on specif
     fish <- collectionTree$getElement("animal/fish")
     fishIsNULL <- is.null(fish)
 
-    expect_that(fishIsNULL, is_true())
+    expect_true(fishIsNULL)
 })
 
 test_that("getElement trims ./ from start of relativePath", {
index 82c0fb0dd2fed88598e8fd14a8dd88a11d065b71..fb9f379b3623099b1171456b4f4a2b849713773b 100644 (file)
@@ -18,7 +18,7 @@ test_that("parseJSONResponse generates and returns JSON object from server respo
     result <- parser$parseJSONResponse(serverResponse)
     barExists <- !is.null(result$bar)
 
-    expect_that(barExists, is_true())
+    expect_true(barExists)
     expect_that(unlist(result$bar$foo), equals(10))
 })
 
@@ -40,7 +40,7 @@ test_that(paste("parseResponse generates and returns character vector",
 
 webDAVResponseSample =
     paste0("<?xml version=\"1.0\" encoding=\"UTF-8\"?><D:multistatus xmlns:",
-           "D=\"DAV:\"><D:response><D:href>/c=aaaaa-bbbbb-ccccccccccccccc</D",
+           "D=\"DAV:\"><D:response><D:href>/c=aaaaa-bbbbb-ccccccccccccccc/</D",
            ":href><D:propstat><D:prop><D:resourcetype><D:collection xmlns:D=",
            "\"DAV:\"/></D:resourcetype><D:getlastmodified>Fri, 11 Jan 2018 1",
            "1:11:11 GMT</D:getlastmodified><D:displayname></D:displayname><D",
@@ -75,7 +75,7 @@ test_that(paste("getFileNamesFromResponse returns file names belonging to specif
     expectedResult <- "myFile.exe"
     resultMatchExpected <- all.equal(result, expectedResult)
 
-    expect_that(resultMatchExpected, is_true())
+    expect_true(resultMatchExpected)
 })
 
 test_that(paste("getFileSizesFromResponse returns file sizes",
@@ -92,5 +92,5 @@ test_that(paste("getFileSizesFromResponse returns file sizes",
     result <- parser$getFileSizesFromResponse(serverResponse, url)
     resultMatchExpected <- result == expectedResult
 
-    expect_that(resultMatchExpected, is_true())
+    expect_true(resultMatchExpected)
 })
index f12463c805dda10e67325adb2a892d5223600932..c1b6f1039cfc28e0e7b4f62087f3919acaa7c0b3 100644 (file)
@@ -20,7 +20,7 @@ test_that("createQuery generates and encodes query portion of http", {
     queryParams$limit <- 20
     queryParams$offset <- 50
     expect_that(http$createQuery(queryParams),
-                equals(paste0("/?filters=%5B%5B%22color%22%2C%22%3D%22%2C%22red",
+                equals(paste0("?filters=%5B%5B%22color%22%2C%22%3D%22%2C%22red",
                               "%22%5D%5D&limit=20&offset=50")))
 })
 
@@ -59,8 +59,8 @@ test_that("exec calls httr functions correctly", {
     http <- HttpRequest$new()
     http$exec("GET", "url")
 
-    expect_that(add_headersCalled, is_true())
-    expect_that(retryCalled, is_true())
+    expect_true(add_headersCalled)
+    expect_true(retryCalled)
     expect_that(expectedConfig$options, equals(list(ssl_verifypeer = 0L)))
 })
 
@@ -101,8 +101,8 @@ test_that("getConnection calls curl functions correctly", {
     http <- HttpRequest$new()
     http$getConnection("location", list(), "r")
 
-    expect_that(new_handleCalled, is_true())
-    expect_that(handle_setheadersCalled, is_true())
-    expect_that(handle_setoptCalled, is_true())
-    expect_that(curlCalled, is_true())
+    expect_true(new_handleCalled)
+    expect_true(handle_setheadersCalled)
+    expect_true(handle_setoptCalled)
+    expect_true(curlCalled)
 })
index 64988e33db2c3c4614112d2eb993687d6e169199..8885ed3de2f5caa906b9d5223878b2fe5d52ccb3 100644 (file)
@@ -10,8 +10,8 @@ context("REST service")
 
 test_that("getWebDavHostName calls REST service properly", {
 
-    expectedURL <- "https://host/discovery/v1/apis/arvados/v1/rest"
-    serverResponse <- list(keepWebServiceUrl = "https://myWebDavServer.com")
+    expectedURL <- "https://host/arvados/v1/config"
+    serverResponse <- list(Services = list(WebDAVDownload = list(ExternalURL = "https://myWebDavServer.com")))
     httpRequest <- FakeHttpRequest$new(expectedURL, serverResponse)
 
     REST <- RESTService$new("token", "host",
@@ -19,14 +19,14 @@ test_that("getWebDavHostName calls REST service properly", {
 
     REST$getWebDavHostName()
 
-    expect_that(httpRequest$URLIsProperlyConfigured, is_true())
-    expect_that(httpRequest$requestHeaderContainsAuthorizationField, is_true())
+    expect_true(httpRequest$URLIsProperlyConfigured)
+    expect_false(httpRequest$requestHeaderContainsAuthorizationField)
     expect_that(httpRequest$numberOfGETRequests, equals(1))
 })
 
 test_that("getWebDavHostName returns webDAV host name properly", {
 
-    serverResponse <- list(keepWebServiceUrl = "https://myWebDavServer.com")
+    serverResponse <- list(Services = list(WebDAVDownload = list(ExternalURL = "https://myWebDavServer.com")))
     httpRequest <- FakeHttpRequest$new(expectedURL = NULL, serverResponse)
 
     REST <- RESTService$new("token", "host",
@@ -48,8 +48,8 @@ test_that("create calls REST service properly", {
 
     REST$create("file", uuid)
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
     expect_that(fakeHttp$numberOfPUTRequests, equals(1))
 })
 
@@ -81,8 +81,8 @@ test_that("delete calls REST service properly", {
 
     REST$delete("file", uuid)
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
     expect_that(fakeHttp$numberOfDELETERequests, equals(1))
 })
 
@@ -114,9 +114,9 @@ test_that("move calls REST service properly", {
 
     REST$move("file", "newDestination/file", uuid)
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
-    expect_that(fakeHttp$requestHeaderContainsDestinationField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
+    expect_true(fakeHttp$requestHeaderContainsDestinationField)
     expect_that(fakeHttp$numberOfMOVERequests, equals(1))
 })
 
@@ -148,9 +148,9 @@ test_that("copy calls REST service properly", {
 
     REST$copy("file", "newDestination/file", uuid)
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
-    expect_that(fakeHttp$requestHeaderContainsDestinationField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
+    expect_true(fakeHttp$requestHeaderContainsDestinationField)
     expect_that(fakeHttp$numberOfCOPYRequests, equals(1))
 })
 
@@ -187,8 +187,8 @@ test_that("getCollectionContent retreives correct content from WebDAV server", {
     returnedContentMatchExpected <- all.equal(returnResult,
                                               c("animal", "animal/dog", "ball"))
 
-    expect_that(returnedContentMatchExpected, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
+    expect_true(returnedContentMatchExpected)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
 })
 
 test_that("getCollectionContent raises exception if server returns empty response", {
@@ -266,9 +266,9 @@ test_that("getResourceSize calls REST service properly", {
     returnedContentMatchExpected <- all.equal(returnResult,
                                               c(6, 2, 931, 12003))
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
-    expect_that(returnedContentMatchExpected, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
+    expect_true(returnedContentMatchExpected)
 })
 
 test_that("getResourceSize raises exception if server returns empty response", {
@@ -330,9 +330,9 @@ test_that("read calls REST service properly", {
 
     returnResult <- REST$read("file", uuid, "text", 1024, 512)
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
-    expect_that(fakeHttp$requestHeaderContainsRangeField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
+    expect_true(fakeHttp$requestHeaderContainsRangeField)
     expect_that(returnResult, equals("file content"))
 })
 
@@ -390,10 +390,10 @@ test_that("write calls REST service properly", {
 
     REST$write("file", uuid, fileContent, "text/html")
 
-    expect_that(fakeHttp$URLIsProperlyConfigured, is_true())
-    expect_that(fakeHttp$requestBodyIsProvided, is_true())
-    expect_that(fakeHttp$requestHeaderContainsAuthorizationField, is_true())
-    expect_that(fakeHttp$requestHeaderContainsContentTypeField, is_true())
+    expect_true(fakeHttp$URLIsProperlyConfigured)
+    expect_true(fakeHttp$requestBodyIsProvided)
+    expect_true(fakeHttp$requestHeaderContainsAuthorizationField)
+    expect_true(fakeHttp$requestHeaderContainsContentTypeField)
 })
 
 test_that("write raises exception if server response code is not between 200 and 300", {
index a6e420962bce9777d56d69c4ded58c015986b288..a95247f77c7d457d9f368ef321a027a980652e85 100644 (file)
@@ -37,7 +37,7 @@ test_that(paste("getFileListing by default returns sorted path of all files",
     resultsMatch <- length(expectedResult) == length(result) &&
                     all(expectedResult == result)
 
-    expect_that(resultsMatch, is_true())
+    expect_true(resultsMatch)
 })
 
 test_that(paste("getFileListing returns sorted names of all direct children",
@@ -58,7 +58,7 @@ test_that(paste("getFileListing returns sorted names of all direct children",
     resultsMatch <- length(expectedResult) == length(result) &&
                     all(expectedResult == result)
 
-    expect_that(resultsMatch, is_true())
+    expect_true(resultsMatch)
 })
 
 test_that("add adds content to inside collection tree", {
@@ -73,8 +73,8 @@ test_that("add adds content to inside collection tree", {
     animalContainsFish <- animal$get("fish")$getName() == fish$getName()
     animalContainsDog  <- animal$get("dog")$getName()  == dog$getName()
 
-    expect_that(animalContainsFish, is_true())
-    expect_that(animalContainsDog, is_true())
+    expect_true(animalContainsFish)
+    expect_true(animalContainsDog)
 })
 
 test_that("add raises exception if content name is empty string", {
@@ -143,7 +143,7 @@ test_that("remove removes content from subcollection", {
 
     returnValueAfterRemovalIsNull <- is.null(animal$get("fish"))
 
-    expect_that(returnValueAfterRemovalIsNull, is_true())
+    expect_true(returnValueAfterRemovalIsNull)
 })
 
 test_that(paste("remove raises exception",
@@ -198,10 +198,10 @@ test_that(paste("get returns ArvadosFile or Subcollection",
     returnedFishIsSubcollection <- "Subcollection" %in% class(returnedFish)
     returnedDogIsArvadosFile    <- "ArvadosFile"   %in% class(returnedDog)
 
-    expect_that(returnedFishIsSubcollection, is_true())
+    expect_true(returnedFishIsSubcollection)
     expect_that(returnedFish$getName(), equals("fish"))
 
-    expect_that(returnedDogIsArvadosFile, is_true())
+    expect_true(returnedDogIsArvadosFile)
     expect_that(returnedDog$getName(), equals("dog"))
 })
 
@@ -215,7 +215,7 @@ test_that(paste("get returns NULL if file or folder",
 
     returnedDogIsNull <- is.null(animal$get("dog"))
 
-    expect_that(returnedDogIsNull, is_true())
+    expect_true(returnedDogIsNull)
 })
 
 test_that("getFirst returns first child in the subcollection", {
@@ -234,7 +234,7 @@ test_that("getFirst returns NULL if subcollection contains no children", {
 
     returnedElementIsNull <- is.null(animal$getFirst())
 
-    expect_that(returnedElementIsNull, is_true())
+    expect_true(returnedElementIsNull)
 })
 
 test_that(paste("setCollection by default sets collection",
@@ -261,7 +261,7 @@ test_that(paste("setCollection sets collection filed of subcollection only",
     fishCollectionIsNull <- is.null(fish$getCollection())
 
     expect_that(animal$getCollection(), equals("myCollection"))
-    expect_that(fishCollectionIsNull, is_true())
+    expect_true(fishCollectionIsNull)
 })
 
 test_that(paste("move raises exception if subcollection",
@@ -330,8 +330,8 @@ test_that("move moves subcollection inside collection tree", {
     fishIsNullOnOldLocation <- is.null(collection$get("animal/fish"))
     fishExistsOnNewLocation <- !is.null(collection$get("fish"))
 
-    expect_that(fishIsNullOnOldLocation, is_true())
-    expect_that(fishExistsOnNewLocation, is_true())
+    expect_true(fishIsNullOnOldLocation)
+    expect_true(fishExistsOnNewLocation)
 })
 
 test_that(paste("getSizeInBytes returns zero if subcollection",
@@ -425,8 +425,8 @@ test_that("copy copies subcollection inside collection tree", {
     fishExistsOnOldLocation <- !is.null(collection$get("animal/fish"))
     fishExistsOnNewLocation <- !is.null(collection$get("fish"))
 
-    expect_that(fishExistsOnOldLocation, is_true())
-    expect_that(fishExistsOnNewLocation, is_true())
+    expect_true(fishExistsOnOldLocation)
+    expect_true(fishExistsOnNewLocation)
 })
 
 test_that("duplicate performs deep cloning of Subcollection", {
index ee5dcd3421a9a0bbfd9e2a72be03fc9304fec21f..b7f1aaa1faff4fdf6897fb964567c75407daa9d3 100644 (file)
@@ -1125,3 +1125,17 @@ active_manages_viewing_group:
   name: can_manage
   head_uuid: zzzzz-j7d0g-futrprojviewgrp
   properties: {}
+
+public_favorites_permission_link:
+  uuid: zzzzz-o0j2j-testpublicfavor
+  owner_uuid: zzzzz-tpzed-000000000000000
+  created_at: 2014-01-24 20:42:26 -0800
+  modified_by_client_uuid: zzzzz-ozdt8-brczlopd8u8d0jr
+  modified_by_user_uuid: zzzzz-tpzed-000000000000000
+  modified_at: 2014-01-24 20:42:26 -0800
+  updated_at: 2014-01-24 20:42:26 -0800
+  tail_uuid: zzzzz-j7d0g-anonymouspublic
+  link_class: permission
+  name: can_read
+  head_uuid: zzzzz-j7d0g-publicfavorites
+  properties: {}