[ARVADOS] created: 1.1.4-697-g342c15f62

Git user git at public.curoverse.com
Thu Jul 26 10:12:12 EDT 2018


        at  342c15f625fda8746e7d74510a298286b3a52196 (commit)


commit 342c15f625fda8746e7d74510a298286b3a52196
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date:   Thu Jul 26 16:09:14 2018 +0200

    Improve Collections create and move methods and update documentation
    
    Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>

diff --git a/sdk/R/R/Arvados.R b/sdk/R/R/Arvados.R
index de2aade4a..744cb3c29 100644
--- a/sdk/R/R/Arvados.R
+++ b/sdk/R/R/Arvados.R
@@ -1,7 +1,7 @@
 #' 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.
@@ -9,9 +9,9 @@
 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.
@@ -20,9 +20,9 @@ NULL
 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.
@@ -31,9 +31,9 @@ NULL
 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.
@@ -41,106 +41,106 @@ NULL
 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
+#' @param uuid 
 #' @return User object.
 #' @name users.activate
 NULL
 
 #' users.setup
-#'
+#' 
 #' users.setup 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
+#' @param user 
+#' @param openid_prefix 
+#' @param repo_name 
+#' @param vm_uuid 
+#' @param send_notification_email 
 #' @return User object.
 #' @name users.setup
 NULL
 
 #' users.unsetup
-#'
+#' 
 #' users.unsetup is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$users.unsetup(uuid)
-#' @param uuid
+#' @param uuid 
 #' @return User object.
 #' @name users.unsetup
 NULL
 
 #' users.update_uuid
-#'
+#' 
 #' users.update_uuid is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$users.update_uuid(uuid, new_uuid)
-#' @param uuid
-#' @param new_uuid
+#' @param uuid 
+#' @param new_uuid 
 #' @return User object.
 #' @name users.update_uuid
 NULL
 
 #' users.merge
-#'
+#' 
 #' users.merge 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
+#' @param new_owner_uuid 
+#' @param new_user_token 
+#' @param redirect_to_new_user 
 #' @return User object.
 #' @name users.merge
 NULL
 
 #' users.list
-#'
+#' 
 #' users.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$users.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return UserList object.
 #' @name users.list
 NULL
 
 #' api_client_authorizations.get
-#'
+#' 
 #' api_client_authorizations.get is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.get(uuid)
 #' @param uuid The UUID of the ApiClientAuthorization in question.
 #' @return ApiClientAuthorization object.
@@ -148,9 +148,9 @@ NULL
 NULL
 
 #' api_client_authorizations.create
-#'
+#' 
 #' api_client_authorizations.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.create(apiclientauthorization,
 #' 	ensure_unique_name = "false")
 #' @param apiClientAuthorization ApiClientAuthorization object.
@@ -160,9 +160,9 @@ NULL
 NULL
 
 #' api_client_authorizations.update
-#'
+#' 
 #' api_client_authorizations.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.update(apiclientauthorization,
 #' 	uuid)
 #' @param apiClientAuthorization ApiClientAuthorization object.
@@ -172,9 +172,9 @@ NULL
 NULL
 
 #' api_client_authorizations.delete
-#'
+#' 
 #' api_client_authorizations.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.delete(uuid)
 #' @param uuid The UUID of the ApiClientAuthorization in question.
 #' @return ApiClientAuthorization object.
@@ -182,50 +182,50 @@ NULL
 NULL
 
 #' api_client_authorizations.create_system_auth
-#'
+#' 
 #' api_client_authorizations.create_system_auth is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.create_system_auth(api_client_id = NULL,
 #' 	scopes = NULL)
-#' @param api_client_id
-#' @param scopes
+#' @param api_client_id 
+#' @param scopes 
 #' @return ApiClientAuthorization object.
 #' @name api_client_authorizations.create_system_auth
 NULL
 
 #' api_client_authorizations.current
-#'
+#' 
 #' api_client_authorizations.current is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.current(NULL)
 #' @return ApiClientAuthorization object.
 #' @name api_client_authorizations.current
 NULL
 
 #' api_client_authorizations.list
-#'
+#' 
 #' api_client_authorizations.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_client_authorizations.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return ApiClientAuthorizationList object.
 #' @name api_client_authorizations.list
 NULL
 
 #' containers.get
-#'
+#' 
 #' containers.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.
@@ -233,9 +233,9 @@ NULL
 NULL
 
 #' containers.create
-#'
+#' 
 #' containers.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$containers.create(container,
 #' 	ensure_unique_name = "false")
 #' @param container Container object.
@@ -245,9 +245,9 @@ NULL
 NULL
 
 #' containers.update
-#'
+#' 
 #' containers.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$containers.update(container,
 #' 	uuid)
 #' @param container Container object.
@@ -257,9 +257,9 @@ NULL
 NULL
 
 #' containers.delete
-#'
+#' 
 #' containers.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.
@@ -267,78 +267,78 @@ NULL
 NULL
 
 #' containers.auth
-#'
+#' 
 #' containers.auth is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$containers.auth(uuid)
-#' @param 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
+#' @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
+#' @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
+#' @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")
-#' @param filters
-#' @param where
-#' @param order
-#' @param select
-#' @param distinct
-#' @param limit
-#' @param offset
-#' @param count
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return ContainerList object.
 #' @name containers.list
 NULL
 
 #' api_clients.get
-#'
+#' 
 #' api_clients.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.
@@ -346,9 +346,9 @@ NULL
 NULL
 
 #' api_clients.create
-#'
+#' 
 #' api_clients.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_clients.create(apiclient,
 #' 	ensure_unique_name = "false")
 #' @param apiClient ApiClient object.
@@ -358,9 +358,9 @@ NULL
 NULL
 
 #' api_clients.update
-#'
+#' 
 #' api_clients.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_clients.update(apiclient,
 #' 	uuid)
 #' @param apiClient ApiClient object.
@@ -370,9 +370,9 @@ NULL
 NULL
 
 #' api_clients.delete
-#'
+#' 
 #' api_clients.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.
@@ -380,29 +380,29 @@ NULL
 NULL
 
 #' api_clients.list
-#'
+#' 
 #' api_clients.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$api_clients.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return ApiClientList object.
 #' @name api_clients.list
 NULL
 
 #' container_requests.get
-#'
+#' 
 #' container_requests.get is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$container_requests.get(uuid)
 #' @param uuid The UUID of the ContainerRequest in question.
 #' @return ContainerRequest object.
@@ -410,9 +410,9 @@ NULL
 NULL
 
 #' container_requests.create
-#'
+#' 
 #' container_requests.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$container_requests.create(containerrequest,
 #' 	ensure_unique_name = "false")
 #' @param containerRequest ContainerRequest object.
@@ -422,9 +422,9 @@ NULL
 NULL
 
 #' container_requests.update
-#'
+#' 
 #' container_requests.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$container_requests.update(containerrequest,
 #' 	uuid)
 #' @param containerRequest ContainerRequest object.
@@ -434,9 +434,9 @@ NULL
 NULL
 
 #' container_requests.delete
-#'
+#' 
 #' container_requests.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$container_requests.delete(uuid)
 #' @param uuid The UUID of the ContainerRequest in question.
 #' @return ContainerRequest object.
@@ -444,29 +444,29 @@ NULL
 NULL
 
 #' container_requests.list
-#'
+#' 
 #' container_requests.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$container_requests.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return ContainerRequestList object.
 #' @name container_requests.list
 NULL
 
 #' authorized_keys.get
-#'
+#' 
 #' authorized_keys.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.
@@ -474,9 +474,9 @@ NULL
 NULL
 
 #' authorized_keys.create
-#'
+#' 
 #' authorized_keys.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$authorized_keys.create(authorizedkey,
 #' 	ensure_unique_name = "false")
 #' @param authorizedKey AuthorizedKey object.
@@ -486,9 +486,9 @@ NULL
 NULL
 
 #' authorized_keys.update
-#'
+#' 
 #' authorized_keys.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$authorized_keys.update(authorizedkey,
 #' 	uuid)
 #' @param authorizedKey AuthorizedKey object.
@@ -498,9 +498,9 @@ NULL
 NULL
 
 #' authorized_keys.delete
-#'
+#' 
 #' authorized_keys.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.
@@ -508,29 +508,29 @@ NULL
 NULL
 
 #' authorized_keys.list
-#'
+#' 
 #' authorized_keys.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$authorized_keys.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return AuthorizedKeyList object.
 #' @name authorized_keys.list
 NULL
 
 #' collections.get
-#'
+#' 
 #' collections.get is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$collections.get(uuid)
 #' @param uuid The UUID of the Collection in question.
 #' @return Collection object.
@@ -538,9 +538,9 @@ NULL
 NULL
 
 #' collections.create
-#'
+#' 
 #' collections.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$collections.create(collection,
 #' 	ensure_unique_name = "false")
 #' @param collection Collection object.
@@ -550,9 +550,9 @@ NULL
 NULL
 
 #' collections.update
-#'
+#' 
 #' collections.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$collections.update(collection,
 #' 	uuid)
 #' @param collection Collection object.
@@ -562,9 +562,9 @@ NULL
 NULL
 
 #' collections.delete
-#'
+#' 
 #' collections.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$collections.delete(uuid)
 #' @param uuid The UUID of the Collection in question.
 #' @return Collection object.
@@ -572,70 +572,70 @@ NULL
 NULL
 
 #' collections.provenance
-#'
+#' 
 #' collections.provenance is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$collections.provenance(uuid)
-#' @param 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
+#' @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
+#' @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
+#' @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", include_trash = NULL)
-#' @param filters
-#' @param where
-#' @param order
-#' @param select
-#' @param distinct
-#' @param limit
-#' @param offset
-#' @param count
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @param include_trash Include collections whose is_trashed attribute is true.
 #' @return CollectionList object.
 #' @name collections.list
 NULL
 
 #' humans.get
-#'
+#' 
 #' humans.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.
@@ -643,9 +643,9 @@ NULL
 NULL
 
 #' humans.create
-#'
+#' 
 #' humans.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$humans.create(human, ensure_unique_name = "false")
 #' @param human Human object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -654,9 +654,9 @@ NULL
 NULL
 
 #' humans.update
-#'
+#' 
 #' humans.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.
@@ -665,9 +665,9 @@ NULL
 NULL
 
 #' humans.delete
-#'
+#' 
 #' humans.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.
@@ -675,29 +675,29 @@ NULL
 NULL
 
 #' humans.list
-#'
+#' 
 #' humans.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$humans.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return HumanList object.
 #' @name humans.list
 NULL
 
 #' job_tasks.get
-#'
+#' 
 #' job_tasks.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.
@@ -705,9 +705,9 @@ NULL
 NULL
 
 #' job_tasks.create
-#'
+#' 
 #' job_tasks.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$job_tasks.create(jobtask, ensure_unique_name = "false")
 #' @param jobTask JobTask object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -716,9 +716,9 @@ NULL
 NULL
 
 #' job_tasks.update
-#'
+#' 
 #' job_tasks.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.
@@ -727,9 +727,9 @@ NULL
 NULL
 
 #' job_tasks.delete
-#'
+#' 
 #' job_tasks.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.
@@ -737,29 +737,29 @@ NULL
 NULL
 
 #' job_tasks.list
-#'
+#' 
 #' job_tasks.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")
-#' @param filters
-#' @param where
-#' @param order
-#' @param select
-#' @param distinct
-#' @param limit
-#' @param offset
-#' @param count
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return JobTaskList object.
 #' @name job_tasks.list
 NULL
 
 #' jobs.get
-#'
+#' 
 #' jobs.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.
@@ -767,26 +767,26 @@ NULL
 NULL
 
 #' jobs.create
-#'
+#' 
 #' jobs.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.
 #' @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
+#' @param find_or_create 
+#' @param filters 
+#' @param minimum_script_version 
+#' @param exclude_script_versions 
 #' @return Job object.
 #' @name jobs.create
 NULL
 
 #' jobs.update
-#'
+#' 
 #' jobs.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.
@@ -795,9 +795,9 @@ NULL
 NULL
 
 #' jobs.delete
-#'
+#' 
 #' jobs.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.
@@ -805,77 +805,77 @@ NULL
 NULL
 
 #' jobs.queue
-#'
+#' 
 #' jobs.queue 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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return Job object.
 #' @name jobs.queue
 NULL
 
 #' jobs.queue_size
-#'
+#' 
 #' jobs.queue_size is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$jobs.queue_size(NULL)
 #' @return Job object.
 #' @name jobs.queue_size
 NULL
 
 #' jobs.cancel
-#'
+#' 
 #' jobs.cancel is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$jobs.cancel(uuid)
-#' @param uuid
+#' @param uuid 
 #' @return Job object.
 #' @name jobs.cancel
 NULL
 
 #' jobs.lock
-#'
+#' 
 #' jobs.lock is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$jobs.lock(uuid)
-#' @param uuid
+#' @param uuid 
 #' @return Job object.
 #' @name jobs.lock
 NULL
 
 #' jobs.list
-#'
+#' 
 #' jobs.list 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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return JobList object.
 #' @name jobs.list
 NULL
 
 #' keep_disks.get
-#'
+#' 
 #' keep_disks.get 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.
@@ -883,9 +883,9 @@ NULL
 NULL
 
 #' keep_disks.create
-#'
+#' 
 #' keep_disks.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$keep_disks.create(keepdisk,
 #' 	ensure_unique_name = "false")
 #' @param keepDisk KeepDisk object.
@@ -895,9 +895,9 @@ NULL
 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.
@@ -907,9 +907,9 @@ NULL
 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.
@@ -917,47 +917,47 @@ NULL
 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
+#' @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
 NULL
 
 #' keep_disks.list
-#'
+#' 
 #' keep_disks.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$keep_disks.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return KeepDiskList object.
 #' @name keep_disks.list
 NULL
 
 #' nodes.get
-#'
+#' 
 #' nodes.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.
@@ -965,9 +965,9 @@ NULL
 NULL
 
 #' nodes.create
-#'
+#' 
 #' nodes.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$nodes.create(node, ensure_unique_name = "false",
 #' 	assign_slot = NULL)
 #' @param node Node object.
@@ -978,9 +978,9 @@ NULL
 NULL
 
 #' nodes.update
-#'
+#' 
 #' nodes.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.
@@ -990,9 +990,9 @@ NULL
 NULL
 
 #' nodes.delete
-#'
+#' 
 #' nodes.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.
@@ -1000,40 +1000,40 @@ NULL
 NULL
 
 #' nodes.ping
-#'
+#' 
 #' nodes.ping is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$nodes.ping(uuid, ping_secret)
-#' @param uuid
-#' @param ping_secret
+#' @param uuid 
+#' @param ping_secret 
 #' @return Node object.
 #' @name nodes.ping
 NULL
 
 #' nodes.list
-#'
+#' 
 #' nodes.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$nodes.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return NodeList object.
 #' @name nodes.list
 NULL
 
 #' links.get
-#'
+#' 
 #' links.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.
@@ -1041,9 +1041,9 @@ NULL
 NULL
 
 #' links.create
-#'
+#' 
 #' links.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$links.create(link, ensure_unique_name = "false")
 #' @param link Link object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -1052,9 +1052,9 @@ NULL
 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.
@@ -1063,9 +1063,9 @@ NULL
 NULL
 
 #' links.delete
-#'
+#' 
 #' links.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$links.delete(uuid)
 #' @param uuid The UUID of the Link in question.
 #' @return Link object.
@@ -1073,39 +1073,39 @@ NULL
 NULL
 
 #' links.list
-#'
+#' 
 #' links.list 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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @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
+#' @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.
@@ -1113,9 +1113,9 @@ NULL
 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.
@@ -1125,9 +1125,9 @@ NULL
 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.
@@ -1137,9 +1137,9 @@ NULL
 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.
@@ -1147,38 +1147,38 @@ NULL
 NULL
 
 #' keep_services.accessible
-#'
+#' 
 #' keep_services.accessible is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$keep_services.accessible(NULL)
 #' @return KeepService object.
 #' @name keep_services.accessible
 NULL
 
 #' keep_services.list
-#'
+#' 
 #' keep_services.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$keep_services.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return KeepServiceList object.
 #' @name keep_services.list
 NULL
 
 #' pipeline_templates.get
-#'
+#' 
 #' pipeline_templates.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.
@@ -1186,9 +1186,9 @@ NULL
 NULL
 
 #' pipeline_templates.create
-#'
+#' 
 #' pipeline_templates.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_templates.create(pipelinetemplate,
 #' 	ensure_unique_name = "false")
 #' @param pipelineTemplate PipelineTemplate object.
@@ -1198,9 +1198,9 @@ NULL
 NULL
 
 #' pipeline_templates.update
-#'
+#' 
 #' pipeline_templates.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_templates.update(pipelinetemplate,
 #' 	uuid)
 #' @param pipelineTemplate PipelineTemplate object.
@@ -1210,9 +1210,9 @@ NULL
 NULL
 
 #' pipeline_templates.delete
-#'
+#' 
 #' pipeline_templates.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.
@@ -1220,29 +1220,29 @@ NULL
 NULL
 
 #' pipeline_templates.list
-#'
+#' 
 #' pipeline_templates.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_templates.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return PipelineTemplateList object.
 #' @name pipeline_templates.list
 NULL
 
 #' pipeline_instances.get
-#'
+#' 
 #' pipeline_instances.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.
@@ -1250,9 +1250,9 @@ NULL
 NULL
 
 #' pipeline_instances.create
-#'
+#' 
 #' pipeline_instances.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_instances.create(pipelineinstance,
 #' 	ensure_unique_name = "false")
 #' @param pipelineInstance PipelineInstance object.
@@ -1262,9 +1262,9 @@ NULL
 NULL
 
 #' pipeline_instances.update
-#'
+#' 
 #' pipeline_instances.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_instances.update(pipelineinstance,
 #' 	uuid)
 #' @param pipelineInstance PipelineInstance object.
@@ -1274,9 +1274,9 @@ NULL
 NULL
 
 #' pipeline_instances.delete
-#'
+#' 
 #' pipeline_instances.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.
@@ -1284,39 +1284,39 @@ NULL
 NULL
 
 #' pipeline_instances.cancel
-#'
+#' 
 #' pipeline_instances.cancel is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$pipeline_instances.cancel(uuid)
-#' @param 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
+#' @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.
@@ -1324,9 +1324,9 @@ NULL
 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.
@@ -1336,9 +1336,9 @@ NULL
 NULL
 
 #' repositories.update
-#'
+#' 
 #' repositories.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$repositories.update(repository,
 #' 	uuid)
 #' @param repository Repository object.
@@ -1348,9 +1348,9 @@ NULL
 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.
@@ -1358,38 +1358,38 @@ NULL
 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
+#' @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.
@@ -1397,9 +1397,9 @@ NULL
 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.
@@ -1409,9 +1409,9 @@ NULL
 NULL
 
 #' specimens.update
-#'
+#' 
 #' specimens.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$specimens.update(specimen,
 #' 	uuid)
 #' @param specimen Specimen object.
@@ -1421,9 +1421,9 @@ NULL
 NULL
 
 #' specimens.delete
-#'
+#' 
 #' specimens.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$specimens.delete(uuid)
 #' @param uuid The UUID of the Specimen in question.
 #' @return Specimen object.
@@ -1431,29 +1431,29 @@ NULL
 NULL
 
 #' specimens.list
-#'
+#' 
 #' specimens.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$specimens.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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @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.
@@ -1461,9 +1461,9 @@ NULL
 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.
@@ -1472,9 +1472,9 @@ NULL
 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.
@@ -1483,9 +1483,9 @@ NULL
 NULL
 
 #' logs.delete
-#'
+#' 
 #' logs.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$logs.delete(uuid)
 #' @param uuid The UUID of the Log in question.
 #' @return Log object.
@@ -1493,28 +1493,28 @@ NULL
 NULL
 
 #' logs.list
-#'
+#' 
 #' logs.list 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
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
 #' @return LogList object.
 #' @name logs.list
 NULL
 
 #' traits.get
-#'
+#' 
 #' traits.get is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$traits.get(uuid)
 #' @param uuid The UUID of the Trait in question.
 #' @return Trait object.
@@ -1522,9 +1522,9 @@ NULL
 NULL
 
 #' traits.create
-#'
+#' 
 #' traits.create is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$traits.create(trait, ensure_unique_name = "false")
 #' @param trait Trait object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -1533,9 +1533,9 @@ NULL
 NULL
 
 #' traits.update
-#'
+#' 
 #' traits.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$traits.update(trait, uuid)
 #' @param trait Trait object.
 #' @param uuid The UUID of the Trait in question.
@@ -1544,9 +1544,9 @@ NULL
 NULL
 
 #' traits.delete
-#'
+#' 
 #' traits.delete is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$traits.delete(uuid)
 #' @param uuid The UUID of the Trait in question.
 #' @return Trait object.
@@ -1554,29 +1554,29 @@ NULL
 NULL
 
 #' traits.list
-#'
+#' 
 #' traits.list is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$traits.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
+#' @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.
@@ -1584,9 +1584,9 @@ NULL
 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.
@@ -1596,9 +1596,9 @@ NULL
 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.
@@ -1608,9 +1608,9 @@ NULL
 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.
@@ -1618,48 +1618,48 @@ NULL
 NULL
 
 #' virtual_machines.logins
-#'
+#' 
 #' virtual_machines.logins is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$virtual_machines.logins(uuid)
-#' @param 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
+#' @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.
@@ -1667,9 +1667,9 @@ NULL
 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.
@@ -1679,9 +1679,9 @@ NULL
 NULL
 
 #' workflows.update
-#'
+#' 
 #' workflows.update is a method defined in Arvados class.
-#'
+#' 
 #' @usage arv$workflows.update(workflow,
 #' 	uuid)
 #' @param workflow Workflow object.
@@ -1691,9 +1691,9 @@ NULL
 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.
@@ -1701,29 +1701,29 @@ NULL
 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
+#' @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.
@@ -1731,9 +1731,9 @@ NULL
 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.
@@ -1742,9 +1742,9 @@ NULL
 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.
@@ -1753,9 +1753,9 @@ NULL
 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.
@@ -1763,72 +1763,72 @@ NULL
 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 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 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
+#' @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
+#' @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 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.
@@ -1836,9 +1836,9 @@ NULL
 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.
@@ -1848,9 +1848,9 @@ NULL
 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.
@@ -1860,9 +1860,9 @@ NULL
 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.
@@ -1870,56 +1870,56 @@ NULL
 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
+#' @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.
@@ -1927,9 +1927,9 @@ NULL
 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.
@@ -1938,9 +1938,9 @@ NULL
 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.
@@ -1949,9 +1949,9 @@ NULL
 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.
@@ -1959,22 +1959,22 @@ NULL
 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 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 uuid 
 #' @param recursive Include contents from child groups recursively.
 #' @return Group object.
 #' @name projects.list
@@ -2247,19 +2247,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2267,23 +2267,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -2291,23 +2291,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(user) > 0)
-				body <- jsonlite::toJSON(list(user = user),
+				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
 		},
 
@@ -2315,19 +2315,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2335,19 +2335,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/current")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2355,19 +2355,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/system")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2375,19 +2375,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}/activate")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2396,21 +2396,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/setup")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2418,19 +2418,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}/unsetup")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2438,19 +2438,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/${uuid}/update_uuid")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2459,20 +2459,20 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users/merge")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2482,21 +2482,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("users")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2504,19 +2504,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2525,23 +2525,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -2549,23 +2549,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(apiclientauthorization) > 0)
-				body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization),
+				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
 		},
 
@@ -2573,19 +2573,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2593,20 +2593,20 @@ Arvados <- R6::R6Class(
 		{
 			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("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
 		},
 
@@ -2614,19 +2614,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations/current")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2637,21 +2637,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2659,19 +2659,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2679,23 +2679,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -2703,23 +2703,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(container) > 0)
-				body <- jsonlite::toJSON(list(container = container),
+				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
 		},
 
@@ -2727,19 +2727,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2747,19 +2747,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}/auth")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2767,19 +2767,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}/lock")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2787,19 +2787,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}/unlock")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2807,19 +2807,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/${uuid}/secret_mounts")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2827,19 +2827,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers/current")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2850,21 +2850,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("containers")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2872,19 +2872,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_clients/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2892,23 +2892,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_clients")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -2916,23 +2916,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_clients/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(apiclient) > 0)
-				body <- jsonlite::toJSON(list(apiclient = apiclient),
+				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
 		},
 
@@ -2940,19 +2940,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_clients/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2963,21 +2963,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("api_clients")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -2985,19 +2985,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("container_requests/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3006,23 +3006,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("container_requests")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -3030,23 +3030,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("container_requests/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(containerrequest) > 0)
-				body <- jsonlite::toJSON(list(containerrequest = containerrequest),
+				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
 		},
 
@@ -3054,19 +3054,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("container_requests/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3077,21 +3077,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("container_requests")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3099,19 +3099,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3120,23 +3120,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("authorized_keys")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -3144,23 +3144,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(authorizedkey) > 0)
-				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey),
+				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
 		},
 
@@ -3168,19 +3168,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3191,21 +3191,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("authorized_keys")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3213,19 +3213,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3233,23 +3233,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(collection) > 0)
-				body <- jsonlite::toJSON(list(collection = collection),
+				body <- jsonlite::toJSON(list(collection = collection), 
 				                         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
 		},
 
@@ -3257,23 +3257,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(collection) > 0)
-				body <- jsonlite::toJSON(list(collection = collection),
+				body <- jsonlite::toJSON(list(collection = collection), 
 				                         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
 		},
 
@@ -3281,19 +3281,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3301,19 +3301,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}/provenance")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3321,19 +3321,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}/used_by")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3341,19 +3341,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}/trash")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3361,19 +3361,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections/${uuid}/untrash")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3384,22 +3384,22 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("collections")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
-
+			
 			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
 		},
 
@@ -3407,19 +3407,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("humans/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3427,23 +3427,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("humans")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(human) > 0)
-				body <- jsonlite::toJSON(list(human = human),
+				body <- jsonlite::toJSON(list(human = human), 
 				                         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
 		},
 
@@ -3451,23 +3451,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("humans/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(human) > 0)
-				body <- jsonlite::toJSON(list(human = human),
+				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
 		},
 
@@ -3475,19 +3475,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("humans/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3497,21 +3497,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("humans")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3519,19 +3519,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("job_tasks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3539,23 +3539,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("job_tasks")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(jobtask) > 0)
-				body <- jsonlite::toJSON(list(jobtask = jobtask),
+				body <- jsonlite::toJSON(list(jobtask = jobtask), 
 				                         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
 		},
 
@@ -3563,23 +3563,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("job_tasks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(jobtask) > 0)
-				body <- jsonlite::toJSON(list(jobtask = jobtask),
+				body <- jsonlite::toJSON(list(jobtask = jobtask), 
 				                         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
 		},
 
@@ -3587,19 +3587,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("job_tasks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3610,21 +3610,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("job_tasks")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3632,19 +3632,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3654,26 +3654,26 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", 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)
-
+			
 			if(length(job) > 0)
-				body <- jsonlite::toJSON(list(job = job),
+				body <- jsonlite::toJSON(list(job = job), 
 				                         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
 		},
 
@@ -3681,23 +3681,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(job) > 0)
-				body <- jsonlite::toJSON(list(job = job),
+				body <- jsonlite::toJSON(list(job = job), 
 				                         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
 		},
 
@@ -3705,19 +3705,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3727,21 +3727,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/queue")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3749,19 +3749,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/queue_size")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3769,19 +3769,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/${uuid}/cancel")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3789,19 +3789,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs/${uuid}/lock")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3811,21 +3811,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("jobs")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3833,19 +3833,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3853,23 +3853,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(keepdisk) > 0)
-				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
 				                         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
 		},
 
@@ -3877,23 +3877,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(keepdisk) > 0)
-				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
 				                         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
 		},
 
@@ -3901,19 +3901,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3923,22 +3923,22 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks/ping")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3949,21 +3949,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_disks")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3971,19 +3971,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -3992,24 +3992,24 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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)
-
+			
 			if(!is.null(resource$errors))
 				stop(resource$errors)
-
+			
 			resource
 		},
 
@@ -4017,23 +4017,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(assign_slot = assign_slot)
-
+			
 			if(length(node) > 0)
-				body <- jsonlite::toJSON(list(node = node),
+				body <- jsonlite::toJSON(list(node = node), 
 				                         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
 		},
 
@@ -4041,19 +4041,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4061,19 +4061,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes/${uuid}/ping")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ping_secret = ping_secret)
-
+			
 			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
 		},
 
@@ -4083,21 +4083,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("nodes")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4105,19 +4105,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4125,23 +4125,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("links")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(link) > 0)
-				body <- jsonlite::toJSON(list(link = link),
+				body <- jsonlite::toJSON(list(link = link), 
 				                         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
 		},
 
@@ -4149,23 +4149,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(link) > 0)
-				body <- jsonlite::toJSON(list(link = link),
+				body <- jsonlite::toJSON(list(link = link), 
 				                         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
 		},
 
@@ -4173,19 +4173,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4195,21 +4195,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("links")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4217,19 +4217,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("permissions/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4237,19 +4237,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4258,23 +4258,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(keepservice) > 0)
-				body <- jsonlite::toJSON(list(keepservice = keepservice),
+				body <- jsonlite::toJSON(list(keepservice = keepservice), 
 				                         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
 		},
 
@@ -4282,23 +4282,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(keepservice) > 0)
-				body <- jsonlite::toJSON(list(keepservice = keepservice),
+				body <- jsonlite::toJSON(list(keepservice = keepservice), 
 				                         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
 		},
 
@@ -4306,19 +4306,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4326,19 +4326,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services/accessible")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4349,21 +4349,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("keep_services")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4371,19 +4371,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4392,23 +4392,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_templates")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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)
-
+			
 			if(!is.null(resource$errors))
 				stop(resource$errors)
-
+			
 			resource
 		},
 
@@ -4416,23 +4416,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(pipelinetemplate) > 0)
-				body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate),
+				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
 		},
 
@@ -4440,19 +4440,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4463,21 +4463,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_templates")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4485,19 +4485,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4506,23 +4506,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(pipelineinstance) > 0)
-				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
 				                         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
 		},
 
@@ -4530,23 +4530,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(pipelineinstance) > 0)
-				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
 				                         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
 		},
 
@@ -4554,19 +4554,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4574,19 +4574,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances/${uuid}/cancel")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4597,21 +4597,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("pipeline_instances")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4619,19 +4619,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4639,23 +4639,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(repository) > 0)
-				body <- jsonlite::toJSON(list(repository = repository),
+				body <- jsonlite::toJSON(list(repository = repository), 
 				                         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
 		},
 
@@ -4663,23 +4663,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(repository) > 0)
-				body <- jsonlite::toJSON(list(repository = repository),
+				body <- jsonlite::toJSON(list(repository = repository), 
 				                         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
 		},
 
@@ -4687,19 +4687,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4707,19 +4707,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories/get_all_permissions")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4730,21 +4730,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("repositories")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4752,19 +4752,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("specimens/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4772,23 +4772,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("specimens")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(specimen) > 0)
-				body <- jsonlite::toJSON(list(specimen = specimen),
+				body <- jsonlite::toJSON(list(specimen = specimen), 
 				                         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
 		},
 
@@ -4796,23 +4796,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("specimens/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(specimen) > 0)
-				body <- jsonlite::toJSON(list(specimen = specimen),
+				body <- jsonlite::toJSON(list(specimen = specimen), 
 				                         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
 		},
 
@@ -4820,19 +4820,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("specimens/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4843,21 +4843,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("specimens")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4865,19 +4865,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("logs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4885,23 +4885,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("logs")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(log) > 0)
-				body <- jsonlite::toJSON(list(log = log),
+				body <- jsonlite::toJSON(list(log = log), 
 				                         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
 		},
 
@@ -4909,23 +4909,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("logs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(log) > 0)
-				body <- jsonlite::toJSON(list(log = log),
+				body <- jsonlite::toJSON(list(log = log), 
 				                         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
 		},
 
@@ -4933,19 +4933,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("logs/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4955,21 +4955,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("logs")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4977,19 +4977,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("traits/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -4997,23 +4997,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("traits")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(trait) > 0)
-				body <- jsonlite::toJSON(list(trait = trait),
+				body <- jsonlite::toJSON(list(trait = trait), 
 				                         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
 		},
 
@@ -5021,23 +5021,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("traits/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(trait) > 0)
-				body <- jsonlite::toJSON(list(trait = trait),
+				body <- jsonlite::toJSON(list(trait = trait), 
 				                         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
 		},
 
@@ -5045,19 +5045,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("traits/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5067,21 +5067,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("traits")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5089,19 +5089,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5110,23 +5110,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(virtualmachine) > 0)
-				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine),
+				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
 				                         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
 		},
 
@@ -5134,23 +5134,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(virtualmachine) > 0)
-				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine),
+				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
 				                         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
 		},
 
@@ -5158,19 +5158,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5178,19 +5178,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines/${uuid}/logins")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5198,19 +5198,19 @@ Arvados <- R6::R6Class(
 		{
 			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("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
 		},
 
@@ -5221,21 +5221,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("virtual_machines")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5243,19 +5243,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("workflows/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5263,23 +5263,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("workflows")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(workflow) > 0)
-				body <- jsonlite::toJSON(list(workflow = workflow),
+				body <- jsonlite::toJSON(list(workflow = workflow), 
 				                         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
 		},
 
@@ -5287,23 +5287,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("workflows/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(workflow) > 0)
-				body <- jsonlite::toJSON(list(workflow = workflow),
+				body <- jsonlite::toJSON(list(workflow = workflow), 
 				                         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
 		},
 
@@ -5311,19 +5311,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("workflows/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5334,21 +5334,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("workflows")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5356,19 +5356,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5376,23 +5376,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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),
+				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
 		},
 
@@ -5400,23 +5400,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(group) > 0)
-				body <- jsonlite::toJSON(list(group = group),
+				body <- jsonlite::toJSON(list(group = group), 
 				                         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
 		},
 
@@ -5424,19 +5424,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/${uuid}")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5447,22 +5447,22 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/contents")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", 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)
-
+			
 			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
 		},
 
@@ -5470,19 +5470,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/${uuid}/trash")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5490,19 +5490,19 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups/${uuid}/untrash")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5513,22 +5513,22 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("groups")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
-
+			
 			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
 		},
 
@@ -5536,19 +5536,19 @@ 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("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
 		},
 
@@ -5557,23 +5557,23 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("user_agreements")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-
+			
 			if(length(useragreement) > 0)
-				body <- jsonlite::toJSON(list(useragreement = useragreement),
+				body <- jsonlite::toJSON(list(useragreement = useragreement), 
 				                         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
 		},
 
@@ -5581,23 +5581,23 @@ 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("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
-
+			
 			if(length(useragreement) > 0)
-				body <- jsonlite::toJSON(list(useragreement = useragreement),
+				body <- jsonlite::toJSON(list(useragreement = useragreement), 
 				                         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
 		},
 
@@ -5605,19 +5605,19 @@ 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("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
 		},
 
@@ -5625,19 +5625,19 @@ 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("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
 		},
 
@@ -5645,19 +5645,19 @@ 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("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
 		},
 
@@ -5668,21 +5668,21 @@ Arvados <- R6::R6Class(
 		{
 			endPoint <- stringr::str_interp("user_agreements")
 			url <- paste0(private$host, endPoint)
-			headers <- list(Authorization = paste("OAuth2", private$token),
+			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
 		},
 
@@ -5690,19 +5690,19 @@ 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("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
 		},
 
diff --git a/sdk/R/R/ArvadosFile.R b/sdk/R/R/ArvadosFile.R
index 2257d99bf..70bb4450e 100644
--- a/sdk/R/R/ArvadosFile.R
+++ b/sdk/R/R/ArvadosFile.R
@@ -258,18 +258,23 @@ ArvadosFile <- R6::R6Class(
 
         attachToNewParent = function(content, newParent)
         {
-            #Note: We temporary set parents collection to NULL. This will ensure that
-            #      add method doesn't post this file on REST.
+            # We temporary set parents collection to NULL. This will ensure that
+            # add method doesn't post this file on REST.
+            # We also need to set content's collection to NULL because
+            # add method throws exception if we try to add content that already
+            # belongs to a collection.
             parentsCollection <- newParent$getCollection()
+            content$setCollection(NULL, setRecursively = FALSE)
             newParent$setCollection(NULL, setRecursively = FALSE)
             newParent$add(content)
+            content$setCollection(parentsCollection, setRecursively = FALSE)
             newParent$setCollection(parentsCollection, setRecursively = FALSE)
         },
 
         dettachFromCurrentParent = function()
         {
-            #Note: We temporary set parents collection to NULL. This will ensure that
-            #      remove method doesn't remove this file from REST.
+            # We temporary set parents collection to NULL. This will ensure that
+            # remove method doesn't remove this file from REST.
             parent <- private$parent
             parentsCollection <- parent$getCollection()
             parent$setCollection(NULL, setRecursively = FALSE)
diff --git a/sdk/R/R/Collection.R b/sdk/R/R/Collection.R
index f88eb0e7c..8869d7be6 100644
--- a/sdk/R/R/Collection.R
+++ b/sdk/R/R/Collection.R
@@ -23,9 +23,10 @@ source("./R/util.R")
 #' @section Methods:
 #' \describe{
 #'   \item{add(content)}{Adds ArvadosFile or Subcollection specified by content to the collection.}
-#'   \item{create(fileNames, relativePath = "")}{Creates one or more ArvadosFiles and adds them to the collection at specified path.}
+#'   \item{create(files)}{Creates one or more ArvadosFiles and adds them to the collection at specified path.}
 #'   \item{remove(fileNames)}{Remove one or more files from the collection.}
-#'   \item{move(content, newLocation)}{Moves ArvadosFile or Subcollection to another location in the collection.}
+#'   \item{move(content, destination)}{Moves ArvadosFile or Subcollection to another location in the collection.}
+#'   \item{copy(content, destination)}{Copies ArvadosFile or Subcollection to another location in the collection.}
 #'   \item{getFileListing()}{Returns collections file content as character vector.}
 #'   \item{get(relativePath)}{If relativePath is valid, returns ArvadosFile or Subcollection specified by relativePath, else returns NULL.}
 #' }
@@ -36,9 +37,6 @@ source("./R/util.R")
 #' arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")
 #' collection <- Collection$new(arv, "uuid")
 #'
-#' newFile <- ArvadosFile$new("myFile")
-#' collection$add(newFile, "myFolder")
-#'
 #' createdFiles <- collection$create(c("main.cpp", lib.dll), "cpp/src/")
 #'
 #' collection$remove("location/to/my/file.cpp")
@@ -88,6 +86,9 @@ Collection <- R6::R6Class(
             if("ArvadosFile"   %in% class(content) ||
                "Subcollection" %in% class(content))
             {
+                if(!is.null(content$getCollection()))
+                    stop("Content already belongs to a collection.")
+
                 if(content$getName() == "")
                     stop("Content has invalid name.")
 
@@ -102,50 +103,32 @@ Collection <- R6::R6Class(
             }
         },
 
-        create = function(fileNames, relativePath = "")
+        create = function(files)
         {
             if(is.null(private$tree))
                 private$generateCollectionTreeStructure()
 
-            if(relativePath == ""  ||
-               relativePath == "." ||
-               relativePath == "./")
-            {
-                subcollection <- private$tree$getTree()
-            }
-            else
-            {
-                relativePath  <- trimFromEnd(relativePath, "/")
-                subcollection <- self$get(relativePath)
-            }
-
-            if(is.null(subcollection))
-                stop(paste("Subcollection", relativePath, "doesn't exist."))
-
-            if(is.character(fileNames))
+            if(is.character(files))
             {
-                arvadosFiles <- NULL
-                sapply(fileNames, function(fileName)
+                sapply(files, function(file)
                 {
-                    childWithSameName <- subcollection$get(fileName)
+                    childWithSameName <- self$get(file)
                     if(!is.null(childWithSameName))
                         stop("Destination already contains file with same name.")
 
-                    newFile <- ArvadosFile$new(fileName)
-                    subcollection$add(newFile)
+                    newTreeBranch <- private$tree$createBranch(file)
+                    private$tree$addBranch(private$tree$getTree(), newTreeBranch)
 
-                    arvadosFiles <<- c(arvadosFiles, newFile)
+                    private$REST$create(file, self$uuid)
+                    newTreeBranch$setCollection(self)
                 })
 
-                if(length(arvadosFiles) == 1)
-                    return(arvadosFiles[[1]])
-                else
-                    return(arvadosFiles)
+                "Created"
             }
             else
             {
                 stop(paste0("Expected character vector, got ",
-                            paste0("(", paste0(class(fileNames), collapse = ", "), ")"),
+                            paste0("(", paste0(class(files), collapse = ", "), ")"),
                             "."))
             }
         },
@@ -215,8 +198,11 @@ Collection <- R6::R6Class(
 
         refresh = function()
         {
-            private$tree$getTree()$setCollection(NULL, setRecursively = TRUE)
-            private$tree <- NULL
+            if(!is.null(private$tree))
+            {
+                private$tree$getTree()$setCollection(NULL, setRecursively = TRUE)
+                private$tree <- NULL
+            }
         },
 
         getFileListing = function()
diff --git a/sdk/R/R/CollectionTree.R b/sdk/R/R/CollectionTree.R
index 2d4af094a..5f7a29455 100644
--- a/sdk/R/R/CollectionTree.R
+++ b/sdk/R/R/CollectionTree.R
@@ -15,55 +15,16 @@ CollectionTree <- R6::R6Class(
         initialize = function(fileContent, collection)
         {
             self$pathsList <- fileContent
-
-            treeBranches <- sapply(fileContent, function(filePath)
-            {
-                splitPath <- unlist(strsplit(filePath, "/", fixed = TRUE))
-                branch <- private$createBranch(splitPath)
-            })
-
+            treeBranches <- sapply(fileContent, function(filePath) self$createBranch(filePath))
             root <- Subcollection$new("")
-
-            sapply(treeBranches, function(branch)
-            {
-                private$addBranch(root, branch)
-            })
-
+            sapply(treeBranches, function(branch) self$addBranch(root, branch))
             root$setCollection(collection)
             private$tree <- root
         },
 
-        getElement = function(relativePath)
-        {
-            relativePath <- trimFromStart(relativePath, "./")
-            relativePath <- trimFromEnd(relativePath, "/")
-
-            if(endsWith(relativePath, "/"))
-                relativePath <- substr(relativePath, 0, nchar(relativePath) - 1)
-
-            splitPath <- unlist(strsplit(relativePath, "/", fixed = TRUE))
-            returnElement <- private$tree
-
-            for(pathFragment in splitPath)
-            {
-                returnElement <- returnElement$get(pathFragment)
-
-                if(is.null(returnElement))
-                    return(NULL)
-            }
-
-            returnElement
-        },
-
-        getTree = function() private$tree
-    ),
-
-    private = list(
-
-        tree = NULL,
-
-        createBranch = function(splitPath)
+        createBranch = function(filePath)
         {
+            splitPath <- unlist(strsplit(filePath, "/", fixed = TRUE))
             branch <- NULL
             lastElementIndex <- length(splitPath)
 
@@ -90,7 +51,11 @@ CollectionTree <- R6::R6Class(
 
             if(is.null(child))
             {
+                # Make sure we are don't make any REST call while adding child
+                collection <- container$getCollection()
+                container$setCollection(NULL, setRecursively = FALSE)
                 container$add(node)
+                container$setCollection(collection, setRecursively = FALSE)
             }
             else
             {
@@ -100,14 +65,41 @@ CollectionTree <- R6::R6Class(
                 # If we encounter that same name again we know
                 # it's a folder so we need to replace ArvadosFile with Subcollection.
                 if("ArvadosFile" %in% class(child))
-                {
                     child = private$replaceFileWithSubcollection(child)
-                }
 
-                private$addBranch(child, node$getFirst())
+                self$addBranch(child, node$getFirst())
             }
         },
 
+        getElement = function(relativePath)
+        {
+            relativePath <- trimFromStart(relativePath, "./")
+            relativePath <- trimFromEnd(relativePath, "/")
+
+            if(endsWith(relativePath, "/"))
+                relativePath <- substr(relativePath, 0, nchar(relativePath) - 1)
+
+            splitPath <- unlist(strsplit(relativePath, "/", fixed = TRUE))
+            returnElement <- private$tree
+
+            for(pathFragment in splitPath)
+            {
+                returnElement <- returnElement$get(pathFragment)
+
+                if(is.null(returnElement))
+                    return(NULL)
+            }
+
+            returnElement
+        },
+
+        getTree = function() private$tree
+    ),
+
+    private = list(
+
+        tree = NULL,
+
         replaceFileWithSubcollection = function(arvadosFile)
         {
             subcollection <- Subcollection$new(arvadosFile$getName())
@@ -121,24 +113,3 @@ CollectionTree <- R6::R6Class(
         }
     )
 )
-
-# deepCopyArvadosComposite = function(composite) 
-# {
-    # if("ArvadosFile" %in% class(content))
-    # {
-        # newFile <- ArvadosFile$new(content$name)
-        # newFile$setCollection(content$getCollection())
-
-        # return(newFile)
-    # }
-    # else if("Subcollection" %in% class(content))
-    # {
-        # root <- Subcollection$new(content$name)
-        # root$setCollection(content$getCollection())
-    # }
-    # else
-        # stop("Arvados composite is corrupted. It can contain only ArvadosFile or Subcollection.")
-    
-    
-
-# }
diff --git a/sdk/R/R/Subcollection.R b/sdk/R/R/Subcollection.R
index 5fd21c192..17a9ef3ee 100644
--- a/sdk/R/R/Subcollection.R
+++ b/sdk/R/R/Subcollection.R
@@ -79,6 +79,9 @@ Subcollection <- R6::R6Class(
             if("ArvadosFile"   %in% class(content) ||
                "Subcollection" %in% class(content))
             {
+                if(!is.null(content$getCollection()))
+                    stop("Content already belongs to a collection.")
+
                 if(content$getName() == "")
                     stop("Content has invalid name.")
 
@@ -298,18 +301,23 @@ Subcollection <- R6::R6Class(
 
         attachToNewParent = function(content, newParent)
         {
-            #Note: We temporary set parents collection to NULL. This will ensure that
-            #      add method doesn't post this file on REST.
+            # We temporary set parents collection to NULL. This will ensure that
+            # add method doesn't post this subcollection to REST.
+            # We also need to set content's collection to NULL because
+            # add method throws exception if we try to add content that already
+            # belongs to a collection.
             parentsCollection <- newParent$getCollection()
+            content$setCollection(NULL, setRecursively = FALSE)
             newParent$setCollection(NULL, setRecursively = FALSE)
             newParent$add(content)
+            content$setCollection(parentsCollection, setRecursively = FALSE)
             newParent$setCollection(parentsCollection, setRecursively = FALSE)
         },
 
         dettachFromCurrentParent = function()
         {
-            #Note: We temporary set parents collection to NULL. This will ensure that
-            #      remove method doesn't remove this subcollection from REST.
+            # We temporary set parents collection to NULL. This will ensure that
+            # remove method doesn't remove this subcollection from REST.
             parent <- private$parent
             parentsCollection <- parent$getCollection()
             parent$setCollection(NULL, setRecursively = FALSE)
diff --git a/sdk/R/R/zzz.R b/sdk/R/R/zzz.R
index c98f803e5..fa0cda45b 100644
--- a/sdk/R/R/zzz.R
+++ b/sdk/R/R/zzz.R
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
 .onLoad <- function(libName, pkgName)
 {
     minAllowedRVersion <- "3.3.0"
diff --git a/sdk/R/README.Rmd b/sdk/R/README.Rmd
index 001a3efc1..7ea226fd0 100644
--- a/sdk/R/README.Rmd
+++ b/sdk/R/README.Rmd
@@ -186,31 +186,16 @@ size <- arvadosSubcollection$getSizeInBytes()
 * Create new file in a collection:
 
 ```{r}
-collection$create(fileNames, optionalRelativePath)
+collection$create(files)
 ```
 
     Example:
 
 ```{r}
-mainFile <- collection$create("main.cpp", "cpp/src/")
-fileList <- collection$create(c("main.cpp", lib.dll), "cpp/src/")
+mainFile <- collection$create("cpp/src/main.cpp")
+fileList <- collection$create(c("cpp/src/main.cpp", "cpp/src/util.h"))
 ```
 
-* Add existing ArvadosFile or Subcollection to a collection:
-
-```{r}
-folder <- Subcollection$new("src")
-file   <- ArvadosFile$new("main.cpp")
-folder$add(file)
-```
-
-```{r}
-collection$add(folder, "cpp")
-```
-
-This examples will add file "main.cpp" in "./cpp/src/" folder if folder exists.
-If subcollection contains more files or folders they will be added recursively.
-
 * Delete file from a collection:
 
 ```{r}
diff --git a/sdk/R/man/Collection.Rd b/sdk/R/man/Collection.Rd
index 8cf29a2ea..fbe603866 100644
--- a/sdk/R/man/Collection.Rd
+++ b/sdk/R/man/Collection.Rd
@@ -23,9 +23,10 @@ Collection class provides interface for working with Arvados collections.
 
 \describe{
   \item{add(content)}{Adds ArvadosFile or Subcollection specified by content to the collection.}
-  \item{create(fileNames, relativePath = "")}{Creates one or more ArvadosFiles and adds them to the collection at specified path.}
+  \item{create(files)}{Creates one or more ArvadosFiles and adds them to the collection at specified path.}
   \item{remove(fileNames)}{Remove one or more files from the collection.}
-  \item{move(content, newLocation)}{Moves ArvadosFile or Subcollection to another location in the collection.}
+  \item{move(content, destination)}{Moves ArvadosFile or Subcollection to another location in the collection.}
+  \item{copy(content, destination)}{Copies ArvadosFile or Subcollection to another location in the collection.}
   \item{getFileListing()}{Returns collections file content as character vector.}
   \item{get(relativePath)}{If relativePath is valid, returns ArvadosFile or Subcollection specified by relativePath, else returns NULL.}
 }
@@ -36,9 +37,6 @@ Collection class provides interface for working with Arvados collections.
 arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")
 collection <- Collection$new(arv, "uuid")
 
-newFile <- ArvadosFile$new("myFile")
-collection$add(newFile, "myFolder")
-
 createdFiles <- collection$create(c("main.cpp", lib.dll), "cpp/src/")
 
 collection$remove("location/to/my/file.cpp")
diff --git a/sdk/R/man/api_client_authorizations.create_system_auth.Rd b/sdk/R/man/api_client_authorizations.create_system_auth.Rd
index 5bef96f9c..3eb172aab 100644
--- a/sdk/R/man/api_client_authorizations.create_system_auth.Rd
+++ b/sdk/R/man/api_client_authorizations.create_system_auth.Rd
@@ -7,6 +7,11 @@
 arv$api_client_authorizations.create_system_auth(api_client_id = NULL,
 	scopes = NULL)
 }
+\arguments{
+\item{api_client_id}{}
+
+\item{scopes}{}
+}
 \value{
 ApiClientAuthorization object.
 }
diff --git a/sdk/R/man/api_client_authorizations.list.Rd b/sdk/R/man/api_client_authorizations.list.Rd
index 983bf4478..7c8ae69cd 100644
--- a/sdk/R/man/api_client_authorizations.list.Rd
+++ b/sdk/R/man/api_client_authorizations.list.Rd
@@ -9,6 +9,23 @@ arv$api_client_authorizations.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 ApiClientAuthorizationList object.
 }
diff --git a/sdk/R/man/api_clients.list.Rd b/sdk/R/man/api_clients.list.Rd
index 21523096d..0679c9c12 100644
--- a/sdk/R/man/api_clients.list.Rd
+++ b/sdk/R/man/api_clients.list.Rd
@@ -9,6 +9,23 @@ arv$api_clients.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 ApiClientList object.
 }
diff --git a/sdk/R/man/authorized_keys.list.Rd b/sdk/R/man/authorized_keys.list.Rd
index c477b54a9..cd19bc60c 100644
--- a/sdk/R/man/authorized_keys.list.Rd
+++ b/sdk/R/man/authorized_keys.list.Rd
@@ -9,6 +9,23 @@ arv$authorized_keys.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 AuthorizedKeyList object.
 }
diff --git a/sdk/R/man/collections.list.Rd b/sdk/R/man/collections.list.Rd
index cc5badebe..87f6f78e3 100644
--- a/sdk/R/man/collections.list.Rd
+++ b/sdk/R/man/collections.list.Rd
@@ -10,6 +10,22 @@ arv$collections.list(filters = NULL,
 	count = "exact", include_trash = NULL)
 }
 \arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+
 \item{include_trash}{Include collections whose is_trashed attribute is true.}
 }
 \value{
diff --git a/sdk/R/man/collections.provenance.Rd b/sdk/R/man/collections.provenance.Rd
index 72b164e50..001a7b47c 100644
--- a/sdk/R/man/collections.provenance.Rd
+++ b/sdk/R/man/collections.provenance.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$collections.provenance(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.trash.Rd b/sdk/R/man/collections.trash.Rd
index f01c191db..4862109b9 100644
--- a/sdk/R/man/collections.trash.Rd
+++ b/sdk/R/man/collections.trash.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$collections.trash(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.untrash.Rd b/sdk/R/man/collections.untrash.Rd
index 6e63fd4f3..c41bc3d90 100644
--- a/sdk/R/man/collections.untrash.Rd
+++ b/sdk/R/man/collections.untrash.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$collections.untrash(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.used_by.Rd b/sdk/R/man/collections.used_by.Rd
index 0ea0dc324..53b8e493f 100644
--- a/sdk/R/man/collections.used_by.Rd
+++ b/sdk/R/man/collections.used_by.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$collections.used_by(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/container_requests.list.Rd b/sdk/R/man/container_requests.list.Rd
index b0ce4de0d..9c2412bee 100644
--- a/sdk/R/man/container_requests.list.Rd
+++ b/sdk/R/man/container_requests.list.Rd
@@ -9,6 +9,23 @@ arv$container_requests.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 ContainerRequestList object.
 }
diff --git a/sdk/R/man/containers.auth.Rd b/sdk/R/man/containers.auth.Rd
index 2aa51cacc..a594d2f19 100644
--- a/sdk/R/man/containers.auth.Rd
+++ b/sdk/R/man/containers.auth.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$containers.auth(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.list.Rd b/sdk/R/man/containers.list.Rd
index 7b3d2fccc..d44579613 100644
--- a/sdk/R/man/containers.list.Rd
+++ b/sdk/R/man/containers.list.Rd
@@ -9,6 +9,23 @@ arv$containers.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 ContainerList object.
 }
diff --git a/sdk/R/man/containers.lock.Rd b/sdk/R/man/containers.lock.Rd
index b8d7c0865..72bcdf0f8 100644
--- a/sdk/R/man/containers.lock.Rd
+++ b/sdk/R/man/containers.lock.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$containers.lock(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.secret_mounts.Rd b/sdk/R/man/containers.secret_mounts.Rd
index 2cccba3aa..d0f8444fa 100644
--- a/sdk/R/man/containers.secret_mounts.Rd
+++ b/sdk/R/man/containers.secret_mounts.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$containers.secret_mounts(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.unlock.Rd b/sdk/R/man/containers.unlock.Rd
index 2bba7ee5a..5c41f2059 100644
--- a/sdk/R/man/containers.unlock.Rd
+++ b/sdk/R/man/containers.unlock.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$containers.unlock(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/groups.contents.Rd b/sdk/R/man/groups.contents.Rd
index 1273f445d..26647df4f 100644
--- a/sdk/R/man/groups.contents.Rd
+++ b/sdk/R/man/groups.contents.Rd
@@ -10,8 +10,24 @@ arv$groups.contents(filters = NULL,
 	include_trash = NULL, uuid = NULL, recursive = NULL)
 }
 \arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 
+\item{uuid}{}
+
 \item{recursive}{Include contents from child groups recursively.}
 }
 \value{
diff --git a/sdk/R/man/groups.list.Rd b/sdk/R/man/groups.list.Rd
index c76a27ad9..7699f3ef4 100644
--- a/sdk/R/man/groups.list.Rd
+++ b/sdk/R/man/groups.list.Rd
@@ -10,6 +10,22 @@ arv$groups.list(filters = NULL,
 	count = "exact", include_trash = NULL)
 }
 \arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 }
 \value{
diff --git a/sdk/R/man/groups.trash.Rd b/sdk/R/man/groups.trash.Rd
index ecd2b10c8..c529618f7 100644
--- a/sdk/R/man/groups.trash.Rd
+++ b/sdk/R/man/groups.trash.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$groups.trash(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Group object.
 }
diff --git a/sdk/R/man/groups.untrash.Rd b/sdk/R/man/groups.untrash.Rd
index ef1f19a10..014190c8f 100644
--- a/sdk/R/man/groups.untrash.Rd
+++ b/sdk/R/man/groups.untrash.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$groups.untrash(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Group object.
 }
diff --git a/sdk/R/man/humans.list.Rd b/sdk/R/man/humans.list.Rd
index c9fad5fd3..a8db4c7f6 100644
--- a/sdk/R/man/humans.list.Rd
+++ b/sdk/R/man/humans.list.Rd
@@ -9,6 +9,23 @@ arv$humans.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 HumanList object.
 }
diff --git a/sdk/R/man/job_tasks.list.Rd b/sdk/R/man/job_tasks.list.Rd
index 2184d9655..51c4b4942 100644
--- a/sdk/R/man/job_tasks.list.Rd
+++ b/sdk/R/man/job_tasks.list.Rd
@@ -9,6 +9,23 @@ arv$job_tasks.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 JobTaskList object.
 }
diff --git a/sdk/R/man/jobs.cancel.Rd b/sdk/R/man/jobs.cancel.Rd
index 16cda4aa6..7399d28a8 100644
--- a/sdk/R/man/jobs.cancel.Rd
+++ b/sdk/R/man/jobs.cancel.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$jobs.cancel(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/jobs.create.Rd b/sdk/R/man/jobs.create.Rd
index d8e52d4f9..4c4d61ae7 100644
--- a/sdk/R/man/jobs.create.Rd
+++ b/sdk/R/man/jobs.create.Rd
@@ -12,6 +12,14 @@ arv$jobs.create(job, ensure_unique_name = "false",
 \item{job}{Job object.}
 
 \item{ensure_unique_name}{Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.}
+
+\item{find_or_create}{}
+
+\item{filters}{}
+
+\item{minimum_script_version}{}
+
+\item{exclude_script_versions}{}
 }
 \value{
 Job object.
diff --git a/sdk/R/man/jobs.list.Rd b/sdk/R/man/jobs.list.Rd
index 33840b0a4..53055f587 100644
--- a/sdk/R/man/jobs.list.Rd
+++ b/sdk/R/man/jobs.list.Rd
@@ -8,6 +8,23 @@ arv$jobs.list(filters = NULL, where = NULL,
 	order = NULL, select = NULL, distinct = NULL,
 	limit = "100", offset = "0", count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 JobList object.
 }
diff --git a/sdk/R/man/jobs.lock.Rd b/sdk/R/man/jobs.lock.Rd
index 51500fc44..3c2e23280 100644
--- a/sdk/R/man/jobs.lock.Rd
+++ b/sdk/R/man/jobs.lock.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$jobs.lock(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/jobs.queue.Rd b/sdk/R/man/jobs.queue.Rd
index e92d01063..a9deaa971 100644
--- a/sdk/R/man/jobs.queue.Rd
+++ b/sdk/R/man/jobs.queue.Rd
@@ -9,6 +9,23 @@ arv$jobs.queue(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/keep_disks.list.Rd b/sdk/R/man/keep_disks.list.Rd
index 79d7b0a63..fdb599f70 100644
--- a/sdk/R/man/keep_disks.list.Rd
+++ b/sdk/R/man/keep_disks.list.Rd
@@ -9,6 +9,23 @@ arv$keep_disks.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 KeepDiskList object.
 }
diff --git a/sdk/R/man/keep_disks.ping.Rd b/sdk/R/man/keep_disks.ping.Rd
index 2952c31e1..6ae55955f 100644
--- a/sdk/R/man/keep_disks.ping.Rd
+++ b/sdk/R/man/keep_disks.ping.Rd
@@ -8,6 +8,21 @@ arv$keep_disks.ping(uuid = NULL,
 	ping_secret, node_uuid = NULL, filesystem_uuid = NULL,
 	service_host = NULL, service_port, service_ssl_flag)
 }
+\arguments{
+\item{uuid}{}
+
+\item{ping_secret}{}
+
+\item{node_uuid}{}
+
+\item{filesystem_uuid}{}
+
+\item{service_host}{}
+
+\item{service_port}{}
+
+\item{service_ssl_flag}{}
+}
 \value{
 KeepDisk object.
 }
diff --git a/sdk/R/man/keep_services.list.Rd b/sdk/R/man/keep_services.list.Rd
index 73f5fb854..22aa3aa10 100644
--- a/sdk/R/man/keep_services.list.Rd
+++ b/sdk/R/man/keep_services.list.Rd
@@ -9,6 +9,23 @@ arv$keep_services.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 KeepServiceList object.
 }
diff --git a/sdk/R/man/links.get_permissions.Rd b/sdk/R/man/links.get_permissions.Rd
index 457c38e14..982dbb969 100644
--- a/sdk/R/man/links.get_permissions.Rd
+++ b/sdk/R/man/links.get_permissions.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$links.get_permissions(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 Link object.
 }
diff --git a/sdk/R/man/links.list.Rd b/sdk/R/man/links.list.Rd
index a3fc988a3..540fdc168 100644
--- a/sdk/R/man/links.list.Rd
+++ b/sdk/R/man/links.list.Rd
@@ -9,6 +9,23 @@ arv$links.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 LinkList object.
 }
diff --git a/sdk/R/man/logs.list.Rd b/sdk/R/man/logs.list.Rd
index 88c8bbdc7..58dbdb71e 100644
--- a/sdk/R/man/logs.list.Rd
+++ b/sdk/R/man/logs.list.Rd
@@ -8,6 +8,23 @@ arv$logs.list(filters = NULL, where = NULL,
 	order = NULL, select = NULL, distinct = NULL,
 	limit = "100", offset = "0", count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 LogList object.
 }
diff --git a/sdk/R/man/nodes.list.Rd b/sdk/R/man/nodes.list.Rd
index 6074a38a6..7ccfad6d9 100644
--- a/sdk/R/man/nodes.list.Rd
+++ b/sdk/R/man/nodes.list.Rd
@@ -9,6 +9,23 @@ arv$nodes.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 NodeList object.
 }
diff --git a/sdk/R/man/nodes.ping.Rd b/sdk/R/man/nodes.ping.Rd
index b8775a2e0..e77d2b5b8 100644
--- a/sdk/R/man/nodes.ping.Rd
+++ b/sdk/R/man/nodes.ping.Rd
@@ -6,6 +6,11 @@
 \usage{
 arv$nodes.ping(uuid, ping_secret)
 }
+\arguments{
+\item{uuid}{}
+
+\item{ping_secret}{}
+}
 \value{
 Node object.
 }
diff --git a/sdk/R/man/pipeline_instances.cancel.Rd b/sdk/R/man/pipeline_instances.cancel.Rd
index 6de313405..026de816f 100644
--- a/sdk/R/man/pipeline_instances.cancel.Rd
+++ b/sdk/R/man/pipeline_instances.cancel.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$pipeline_instances.cancel(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 PipelineInstance object.
 }
diff --git a/sdk/R/man/pipeline_instances.list.Rd b/sdk/R/man/pipeline_instances.list.Rd
index 74b5db2bb..407f94446 100644
--- a/sdk/R/man/pipeline_instances.list.Rd
+++ b/sdk/R/man/pipeline_instances.list.Rd
@@ -9,6 +9,23 @@ arv$pipeline_instances.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 PipelineInstanceList object.
 }
diff --git a/sdk/R/man/pipeline_templates.list.Rd b/sdk/R/man/pipeline_templates.list.Rd
index 846008e4d..c6c7413d5 100644
--- a/sdk/R/man/pipeline_templates.list.Rd
+++ b/sdk/R/man/pipeline_templates.list.Rd
@@ -9,6 +9,23 @@ arv$pipeline_templates.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 PipelineTemplateList object.
 }
diff --git a/sdk/R/man/projects.list.Rd b/sdk/R/man/projects.list.Rd
index 22b5175ce..ff4c1c9ed 100644
--- a/sdk/R/man/projects.list.Rd
+++ b/sdk/R/man/projects.list.Rd
@@ -10,8 +10,24 @@ arv$projects.list(filters = NULL,
 	include_trash = NULL, uuid = NULL, recursive = NULL)
 }
 \arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 
+\item{uuid}{}
+
 \item{recursive}{Include contents from child groups recursively.}
 }
 \value{
diff --git a/sdk/R/man/repositories.list.Rd b/sdk/R/man/repositories.list.Rd
index e19c87c6c..d1f4772e7 100644
--- a/sdk/R/man/repositories.list.Rd
+++ b/sdk/R/man/repositories.list.Rd
@@ -9,6 +9,23 @@ arv$repositories.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 RepositoryList object.
 }
diff --git a/sdk/R/man/specimens.list.Rd b/sdk/R/man/specimens.list.Rd
index c05ce5f26..4e07f4ab2 100644
--- a/sdk/R/man/specimens.list.Rd
+++ b/sdk/R/man/specimens.list.Rd
@@ -9,6 +9,23 @@ arv$specimens.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 SpecimenList object.
 }
diff --git a/sdk/R/man/traits.list.Rd b/sdk/R/man/traits.list.Rd
index 77a13cae3..e91b92994 100644
--- a/sdk/R/man/traits.list.Rd
+++ b/sdk/R/man/traits.list.Rd
@@ -9,6 +9,23 @@ arv$traits.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 TraitList object.
 }
diff --git a/sdk/R/man/user_agreements.list.Rd b/sdk/R/man/user_agreements.list.Rd
index c9914d5f1..5e6986189 100644
--- a/sdk/R/man/user_agreements.list.Rd
+++ b/sdk/R/man/user_agreements.list.Rd
@@ -9,6 +9,23 @@ arv$user_agreements.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 UserAgreementList object.
 }
diff --git a/sdk/R/man/users.activate.Rd b/sdk/R/man/users.activate.Rd
index bba816232..201caf4c8 100644
--- a/sdk/R/man/users.activate.Rd
+++ b/sdk/R/man/users.activate.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$users.activate(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.list.Rd b/sdk/R/man/users.list.Rd
index 98fa2141a..71319433b 100644
--- a/sdk/R/man/users.list.Rd
+++ b/sdk/R/man/users.list.Rd
@@ -9,6 +9,23 @@ arv$users.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 UserList object.
 }
diff --git a/sdk/R/man/users.merge.Rd b/sdk/R/man/users.merge.Rd
index ee97244f3..a539591a6 100644
--- a/sdk/R/man/users.merge.Rd
+++ b/sdk/R/man/users.merge.Rd
@@ -7,6 +7,13 @@
 arv$users.merge(new_owner_uuid,
 	new_user_token, redirect_to_new_user = NULL)
 }
+\arguments{
+\item{new_owner_uuid}{}
+
+\item{new_user_token}{}
+
+\item{redirect_to_new_user}{}
+}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.setup.Rd b/sdk/R/man/users.setup.Rd
index 764bc5259..869403d3e 100644
--- a/sdk/R/man/users.setup.Rd
+++ b/sdk/R/man/users.setup.Rd
@@ -7,6 +7,17 @@
 arv$users.setup(user = NULL, openid_prefix = NULL,
 	repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
 }
+\arguments{
+\item{user}{}
+
+\item{openid_prefix}{}
+
+\item{repo_name}{}
+
+\item{vm_uuid}{}
+
+\item{send_notification_email}{}
+}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.unsetup.Rd b/sdk/R/man/users.unsetup.Rd
index 0753a34d2..85de6f978 100644
--- a/sdk/R/man/users.unsetup.Rd
+++ b/sdk/R/man/users.unsetup.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$users.unsetup(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.update_uuid.Rd b/sdk/R/man/users.update_uuid.Rd
index 591599dfe..af62c2c82 100644
--- a/sdk/R/man/users.update_uuid.Rd
+++ b/sdk/R/man/users.update_uuid.Rd
@@ -6,6 +6,11 @@
 \usage{
 arv$users.update_uuid(uuid, new_uuid)
 }
+\arguments{
+\item{uuid}{}
+
+\item{new_uuid}{}
+}
 \value{
 User object.
 }
diff --git a/sdk/R/man/virtual_machines.list.Rd b/sdk/R/man/virtual_machines.list.Rd
index 0f3b440b8..42ed58b0e 100644
--- a/sdk/R/man/virtual_machines.list.Rd
+++ b/sdk/R/man/virtual_machines.list.Rd
@@ -9,6 +9,23 @@ arv$virtual_machines.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 VirtualMachineList object.
 }
diff --git a/sdk/R/man/virtual_machines.logins.Rd b/sdk/R/man/virtual_machines.logins.Rd
index bb6d21ed9..7e25110aa 100644
--- a/sdk/R/man/virtual_machines.logins.Rd
+++ b/sdk/R/man/virtual_machines.logins.Rd
@@ -6,6 +6,9 @@
 \usage{
 arv$virtual_machines.logins(uuid)
 }
+\arguments{
+\item{uuid}{}
+}
 \value{
 VirtualMachine object.
 }
diff --git a/sdk/R/man/workflows.list.Rd b/sdk/R/man/workflows.list.Rd
index b8a6a03ec..e24b74d03 100644
--- a/sdk/R/man/workflows.list.Rd
+++ b/sdk/R/man/workflows.list.Rd
@@ -9,6 +9,23 @@ arv$workflows.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
+\arguments{
+\item{filters}{}
+
+\item{where}{}
+
+\item{order}{}
+
+\item{select}{}
+
+\item{distinct}{}
+
+\item{limit}{}
+
+\item{offset}{}
+
+\item{count}{}
+}
 \value{
 WorkflowList object.
 }
diff --git a/sdk/R/tests/testthat/test-Collection.R b/sdk/R/tests/testthat/test-Collection.R
index 76668c2eb..636359ae2 100644
--- a/sdk/R/tests/testthat/test-Collection.R
+++ b/sdk/R/tests/testthat/test-Collection.R
@@ -104,37 +104,15 @@ test_that("create raises exception if passed argumet is not character vector", {
                              fixed = TRUE))
 })
 
-test_that("create raises exception if relative path is not valid", {
-
-    collectionContent <- c("animal",
-                           "animal/fish",
-                           "ball")
-
-    fakeREST <- FakeRESTService$new(collectionContent)
-
-    api <- Arvados$new("myToken", "myHostName")
-    api$setRESTService(fakeREST)
-    collection <- Collection$new(api, "myUUID")
-
-    newPen <- ArvadosFile$new("pen")
-
-    expect_that(collection$create(newPen, "objects"),
-                throws_error("Subcollection objects doesn't exist.",
-                              fixed = TRUE))
-})
-
 test_that(paste("create adds files specified by fileNames",
                 "to local tree structure and remote REST service"), {
 
-    collectionContent <- c("animal", "animal/fish", "ball")
-    fakeREST <- FakeRESTService$new(collectionContent)
-
+    fakeREST <- FakeRESTService$new()
     api <- Arvados$new("myToken", "myHostName")
     api$setRESTService(fakeREST)
     collection <- Collection$new(api, "myUUID")
 
-    files <- c("dog", "cat")
-    collection$create(files, "animal")
+    collection$create(c("animal/dog", "animal/cat"))
 
     dog <- collection$get("animal/dog")
     cat <- collection$get("animal/cat")
@@ -296,3 +274,24 @@ test_that("copy raises exception if new location is not valid", {
                 throws_error("Content you want to copy doesn't exist in the collection.",
                              fixed = TRUE))
 })
+
+test_that("refresh invalidates current tree structure", {
+
+    collectionContent <- c("animal", "animal/fish", "ball")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "aaaaa-j7d0g-ccccccccccccccc")
+
+    # Before refresh
+    fish <- collection$get("animal/fish")
+    expect_that(fish$getName(), equals("fish"))
+    expect_that(fish$getCollection()$uuid, equals("aaaaa-j7d0g-ccccccccccccccc"))
+
+    collection$refresh()
+
+    # After refresh
+    expect_that(fish$getName(), equals("fish"))
+    expect_true(is.null(fish$getCollection()))
+})

commit 74cffe96768727e8b727cdb54358729c91bec130
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date:   Wed Jul 25 11:54:08 2018 +0200

    Implement copy method, update move method and remove trailing
    whitespace in Arvados.R.
    
    Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>

diff --git a/sdk/R/R/Arvados.R b/sdk/R/R/Arvados.R
index 4b6554691..de2aade4a 100644
--- a/sdk/R/R/Arvados.R
+++ b/sdk/R/R/Arvados.R
@@ -1,7 +1,3 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: Apache-2.0
-
 #' users.get
 #'
 #' users.get is a method defined in Arvados class.
@@ -108,6 +104,19 @@ NULL
 #' @name users.update_uuid
 NULL
 
+#' users.merge
+#'
+#' users.merge 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
+NULL
+
 #' users.list
 #'
 #' users.list is a method defined in Arvados class.
@@ -390,55 +399,55 @@ NULL
 #' @name api_clients.list
 NULL
 
-#' authorized_keys.get
+#' container_requests.get
 #'
-#' authorized_keys.get is a method defined in Arvados class.
+#' container_requests.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$container_requests.get(uuid)
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.get
 NULL
 
-#' authorized_keys.create
+#' container_requests.create
 #'
-#' authorized_keys.create is a method defined in Arvados class.
+#' container_requests.create is a method defined in Arvados class.
 #'
-#' @usage arv$authorized_keys.create(authorizedkey,
+#' @usage arv$container_requests.create(containerrequest,
 #' 	ensure_unique_name = "false")
-#' @param authorizedKey AuthorizedKey object.
+#' @param containerRequest ContainerRequest 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
+#' @return ContainerRequest object.
+#' @name container_requests.create
 NULL
 
-#' authorized_keys.update
+#' container_requests.update
 #'
-#' authorized_keys.update is a method defined in Arvados class.
+#' container_requests.update is a method defined in Arvados class.
 #'
-#' @usage arv$authorized_keys.update(authorizedkey,
+#' @usage arv$container_requests.update(containerrequest,
 #' 	uuid)
-#' @param authorizedKey AuthorizedKey object.
-#' @param uuid The UUID of the AuthorizedKey in question.
-#' @return AuthorizedKey object.
-#' @name authorized_keys.update
+#' @param containerRequest ContainerRequest object.
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.update
 NULL
 
-#' authorized_keys.delete
+#' container_requests.delete
 #'
-#' authorized_keys.delete is a method defined in Arvados class.
+#' container_requests.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$container_requests.delete(uuid)
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.delete
 NULL
 
-#' authorized_keys.list
+#' container_requests.list
 #'
-#' authorized_keys.list is a method defined in Arvados class.
+#' container_requests.list is a method defined in Arvados class.
 #'
-#' @usage arv$authorized_keys.list(filters = NULL,
+#' @usage arv$container_requests.list(filters = NULL,
 #' 	where = NULL, order = NULL, select = NULL,
 #' 	distinct = NULL, limit = "100", offset = "0",
 #' 	count = "exact")
@@ -450,59 +459,59 @@ NULL
 #' @param limit
 #' @param offset
 #' @param count
-#' @return AuthorizedKeyList object.
-#' @name authorized_keys.list
+#' @return ContainerRequestList object.
+#' @name container_requests.list
 NULL
 
-#' container_requests.get
+#' authorized_keys.get
 #'
-#' container_requests.get is a method defined in Arvados class.
+#' authorized_keys.get is a method defined in Arvados class.
 #'
-#' @usage arv$container_requests.get(uuid)
-#' @param uuid The UUID of the ContainerRequest in question.
-#' @return ContainerRequest object.
-#' @name container_requests.get
+#' @usage arv$authorized_keys.get(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.get
 NULL
 
-#' container_requests.create
+#' authorized_keys.create
 #'
-#' container_requests.create is a method defined in Arvados class.
+#' authorized_keys.create is a method defined in Arvados class.
 #'
-#' @usage arv$container_requests.create(containerrequest,
+#' @usage arv$authorized_keys.create(authorizedkey,
 #' 	ensure_unique_name = "false")
-#' @param containerRequest ContainerRequest object.
+#' @param authorizedKey AuthorizedKey object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
-#' @return ContainerRequest object.
-#' @name container_requests.create
+#' @return AuthorizedKey object.
+#' @name authorized_keys.create
 NULL
 
-#' container_requests.update
+#' authorized_keys.update
 #'
-#' container_requests.update is a method defined in Arvados class.
+#' authorized_keys.update is a method defined in Arvados class.
 #'
-#' @usage arv$container_requests.update(containerrequest,
+#' @usage arv$authorized_keys.update(authorizedkey,
 #' 	uuid)
-#' @param containerRequest ContainerRequest object.
-#' @param uuid The UUID of the ContainerRequest in question.
-#' @return ContainerRequest object.
-#' @name container_requests.update
+#' @param authorizedKey AuthorizedKey object.
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.update
 NULL
 
-#' container_requests.delete
+#' authorized_keys.delete
 #'
-#' container_requests.delete is a method defined in Arvados class.
+#' authorized_keys.delete is a method defined in Arvados class.
 #'
-#' @usage arv$container_requests.delete(uuid)
-#' @param uuid The UUID of the ContainerRequest in question.
-#' @return ContainerRequest object.
-#' @name container_requests.delete
+#' @usage arv$authorized_keys.delete(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.delete
 NULL
 
-#' container_requests.list
+#' authorized_keys.list
 #'
-#' container_requests.list is a method defined in Arvados class.
+#' authorized_keys.list is a method defined in Arvados class.
 #'
-#' @usage arv$container_requests.list(filters = NULL,
+#' @usage arv$authorized_keys.list(filters = NULL,
 #' 	where = NULL, order = NULL, select = NULL,
 #' 	distinct = NULL, limit = "100", offset = "0",
 #' 	count = "exact")
@@ -514,8 +523,8 @@ NULL
 #' @param limit
 #' @param offset
 #' @param count
-#' @return ContainerRequestList object.
-#' @name container_requests.list
+#' @return AuthorizedKeyList object.
+#' @name authorized_keys.list
 NULL
 
 #' collections.get
@@ -747,78 +756,6 @@ NULL
 #' @name job_tasks.list
 NULL
 
-#' links.get
-#'
-#' links.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
-NULL
-
-#' links.create
-#'
-#' links.create is a method defined in Arvados class.
-#'
-#' @usage arv$links.create(link, ensure_unique_name = "false")
-#' @param link Link 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
-NULL
-
-#' links.delete
-#'
-#' links.delete 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
-NULL
-
-#' links.list
-#'
-#' links.list 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
-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
-
 #' jobs.get
 #'
 #' jobs.get is a method defined in Arvados class.
@@ -1017,53 +954,201 @@ NULL
 #' @name keep_disks.list
 NULL
 
-#' keep_services.get
+#' nodes.get
 #'
-#' keep_services.get is a method defined in Arvados class.
+#' nodes.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
+#' @usage arv$nodes.get(uuid)
+#' @param uuid The UUID of the Node in question.
+#' @return Node object.
+#' @name nodes.get
 NULL
 
-#' keep_services.create
+#' nodes.create
 #'
-#' keep_services.create is a method defined in Arvados class.
+#' nodes.create is a method defined in Arvados class.
 #'
-#' @usage arv$keep_services.create(keepservice,
-#' 	ensure_unique_name = "false")
-#' @param keepService KeepService object.
+#' @usage arv$nodes.create(node, ensure_unique_name = "false",
+#' 	assign_slot = NULL)
+#' @param node Node 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
+#' @param assign_slot assign slot and hostname
+#' @return Node object.
+#' @name nodes.create
 NULL
 
-#' keep_services.update
+#' nodes.update
 #'
-#' keep_services.update is a method defined in Arvados class.
+#' nodes.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
+#' @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
 NULL
 
-#' keep_services.delete
+#' nodes.delete
 #'
-#' keep_services.delete is a method defined in Arvados class.
+#' nodes.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
+#' @usage arv$nodes.delete(uuid)
+#' @param uuid The UUID of the Node in question.
+#' @return Node object.
+#' @name nodes.delete
 NULL
 
-#' keep_services.accessible
+#' nodes.ping
 #'
-#' keep_services.accessible is a method defined in Arvados class.
+#' nodes.ping 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
+NULL
+
+#' nodes.list
+#'
+#' nodes.list is a method defined in Arvados class.
+#'
+#' @usage arv$nodes.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 NodeList object.
+#' @name nodes.list
+NULL
+
+#' links.get
+#'
+#' links.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
+NULL
+
+#' links.create
+#'
+#' links.create is a method defined in Arvados class.
+#'
+#' @usage arv$links.create(link, ensure_unique_name = "false")
+#' @param link Link 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
+NULL
+
+#' links.delete
+#'
+#' links.delete 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
+NULL
+
+#' links.list
+#'
+#' links.list 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
+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
+
+#' 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
+NULL
+
+#' keep_services.accessible
+#'
+#' keep_services.accessible is a method defined in Arvados class.
 #'
 #' @usage arv$keep_services.accessible(NULL)
 #' @return KeepService object.
@@ -1228,82 +1313,6 @@ NULL
 #' @name pipeline_instances.list
 NULL
 
-#' nodes.get
-#'
-#' nodes.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
-NULL
-
-#' nodes.create
-#'
-#' nodes.create is a method defined in Arvados class.
-#'
-#' @usage arv$nodes.create(node, ensure_unique_name = "false",
-#' 	assign_slot = NULL)
-#' @param node Node 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
-NULL
-
-#' nodes.update
-#'
-#' nodes.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
-NULL
-
-#' nodes.delete
-#'
-#' nodes.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
-NULL
-
-#' nodes.ping
-#'
-#' nodes.ping 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
-NULL
-
-#' nodes.list
-#'
-#' nodes.list is a method defined in Arvados class.
-#'
-#' @usage arv$nodes.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 NodeList object.
-#' @name nodes.list
-NULL
-
 #' repositories.get
 #'
 #' repositories.get is a method defined in Arvados class.
@@ -2130,6 +2139,7 @@ NULL
 #' 	\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}}}
@@ -2444,6 +2454,28 @@ Arvados <- R6::R6Class(
 			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")
@@ -2949,9 +2981,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		authorized_keys.get = function(uuid)
+		container_requests.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -2969,17 +3001,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		authorized_keys.create = function(authorizedkey,
+		container_requests.create = function(containerrequest,
 			ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("authorized_keys")
+			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(authorizedkey) > 0)
-				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey),
+			if(length(containerrequest) > 0)
+				body <- jsonlite::toJSON(list(containerrequest = containerrequest),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -2994,16 +3026,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		authorized_keys.update = function(authorizedkey, uuid)
+		container_requests.update = function(containerrequest, uuid)
 		{
-			endPoint <- stringr::str_interp("authorized_keys/${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
 
-			if(length(authorizedkey) > 0)
-				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey),
+			if(length(containerrequest) > 0)
+				body <- jsonlite::toJSON(list(containerrequest = containerrequest),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3018,9 +3050,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		authorized_keys.delete = function(uuid)
+		container_requests.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3038,12 +3070,12 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		authorized_keys.list = function(filters = NULL,
+		container_requests.list = function(filters = NULL,
 			where = NULL, order = NULL, select = NULL,
 			distinct = NULL, limit = "100", offset = "0",
 			count = "exact")
 		{
-			endPoint <- stringr::str_interp("authorized_keys")
+			endPoint <- stringr::str_interp("container_requests")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3063,9 +3095,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		container_requests.get = function(uuid)
+		authorized_keys.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3083,17 +3115,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		container_requests.create = function(containerrequest,
+		authorized_keys.create = function(authorizedkey,
 			ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("container_requests")
+			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(containerrequest) > 0)
-				body <- jsonlite::toJSON(list(containerrequest = containerrequest),
+			if(length(authorizedkey) > 0)
+				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3108,16 +3140,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		container_requests.update = function(containerrequest, uuid)
+		authorized_keys.update = function(authorizedkey, uuid)
 		{
-			endPoint <- stringr::str_interp("container_requests/${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(containerrequest) > 0)
-				body <- jsonlite::toJSON(list(containerrequest = containerrequest),
+			if(length(authorizedkey) > 0)
+				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3132,9 +3164,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		container_requests.delete = function(uuid)
+		authorized_keys.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3152,12 +3184,12 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		container_requests.list = function(filters = NULL,
+		authorized_keys.list = function(filters = NULL,
 			where = NULL, order = NULL, select = NULL,
 			distinct = NULL, limit = "100", offset = "0",
 			count = "exact")
 		{
-			endPoint <- stringr::str_interp("container_requests")
+			endPoint <- stringr::str_interp("authorized_keys")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3596,9 +3628,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.get = function(uuid)
+		jobs.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("links/${uuid}")
+			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3616,16 +3648,21 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.create = function(link, ensure_unique_name = "false")
+		jobs.create = function(job, ensure_unique_name = "false",
+			find_or_create = "false", filters = NULL,
+			minimum_script_version = NULL, exclude_script_versions = NULL)
 		{
-			endPoint <- stringr::str_interp("links")
+			endPoint <- stringr::str_interp("jobs")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			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)
 
-			if(length(link) > 0)
-				body <- jsonlite::toJSON(list(link = link),
+			if(length(job) > 0)
+				body <- jsonlite::toJSON(list(job = job),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3640,16 +3677,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.update = function(link, uuid)
+		jobs.update = function(job, uuid)
 		{
-			endPoint <- stringr::str_interp("links/${uuid}")
+			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
 
-			if(length(link) > 0)
-				body <- jsonlite::toJSON(list(link = link),
+			if(length(job) > 0)
+				body <- jsonlite::toJSON(list(job = job),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3664,9 +3701,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.delete = function(uuid)
+		jobs.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("links/${uuid}")
+			endPoint <- stringr::str_interp("jobs/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3684,11 +3721,11 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.list = function(filters = NULL, where = NULL,
+		jobs.queue = function(filters = NULL, where = NULL,
 			order = NULL, select = NULL, distinct = NULL,
 			limit = "100", offset = "0", count = "exact")
 		{
-			endPoint <- stringr::str_interp("links")
+			endPoint <- stringr::str_interp("jobs/queue")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3708,9 +3745,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		links.get_permissions = function(uuid)
+		jobs.queue_size = function()
 		{
-			endPoint <- stringr::str_interp("permissions/${uuid}")
+			endPoint <- stringr::str_interp("jobs/queue_size")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3728,9 +3765,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.get = function(uuid)
+		jobs.cancel = function(uuid)
 		{
-			endPoint <- stringr::str_interp("jobs/${uuid}")
+			endPoint <- stringr::str_interp("jobs/${uuid}/cancel")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3738,7 +3775,7 @@ Arvados <- R6::R6Class(
 
 			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)
 
@@ -3748,24 +3785,15 @@ 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)
+		jobs.lock = function(uuid)
 		{
-			endPoint <- stringr::str_interp("jobs")
+			endPoint <- stringr::str_interp("jobs/${uuid}/lock")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", 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)
+			queryArgs <- NULL
 
-			if(length(job) > 0)
-				body <- jsonlite::toJSON(list(job = job),
-				                         auto_unbox = TRUE)
-			else
-				body <- NULL
+			body <- NULL
 
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3777,21 +3805,21 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.update = function(job, uuid)
+		jobs.list = function(filters = NULL, where = NULL,
+			order = NULL, select = NULL, distinct = NULL,
+			limit = "100", offset = "0", count = "exact")
 		{
-			endPoint <- stringr::str_interp("jobs/${uuid}")
+			endPoint <- stringr::str_interp("jobs")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", 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)
 
-			if(length(job) > 0)
-				body <- jsonlite::toJSON(list(job = job),
-				                         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)
 
@@ -3801,9 +3829,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.delete = function(uuid)
+		keep_disks.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("jobs/${uuid}")
+			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3811,7 +3839,7 @@ Arvados <- R6::R6Class(
 
 			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)
 
@@ -3821,21 +3849,21 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.queue = function(filters = NULL, where = NULL,
-			order = NULL, select = NULL, distinct = NULL,
-			limit = "100", offset = "0", count = "exact")
+		keep_disks.create = function(keepdisk, ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("jobs/queue")
+			endPoint <- stringr::str_interp("keep_disks")
 			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)
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
 
-			body <- NULL
+			if(length(keepdisk) > 0)
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+				                         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)
 
@@ -3845,17 +3873,21 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.queue_size = function()
+		keep_disks.update = function(keepdisk, uuid)
 		{
-			endPoint <- stringr::str_interp("jobs/queue_size")
+			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
 
-			body <- NULL
+			if(length(keepdisk) > 0)
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+				                         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)
 
@@ -3865,9 +3897,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.cancel = function(uuid)
+		keep_disks.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("jobs/${uuid}/cancel")
+			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3875,7 +3907,7 @@ Arvados <- R6::R6Class(
 
 			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)
 
@@ -3885,13 +3917,18 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.lock = function(uuid)
+		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("jobs/${uuid}/lock")
+			endPoint <- stringr::str_interp("keep_disks/ping")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- NULL
+			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
 
@@ -3905,11 +3942,12 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		jobs.list = function(filters = NULL, where = NULL,
-			order = NULL, select = NULL, distinct = NULL,
-			limit = "100", offset = "0", count = "exact")
+		keep_disks.list = function(filters = NULL,
+			where = NULL, order = NULL, select = NULL,
+			distinct = NULL, limit = "100", offset = "0",
+			count = "exact")
 		{
-			endPoint <- stringr::str_interp("jobs")
+			endPoint <- stringr::str_interp("keep_disks")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3929,9 +3967,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_disks.get = function(uuid)
+		nodes.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("keep_disks/${uuid}")
+			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -3949,16 +3987,18 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_disks.create = function(keepdisk, ensure_unique_name = "false")
+		nodes.create = function(node, ensure_unique_name = "false",
+			assign_slot = NULL)
 		{
-			endPoint <- stringr::str_interp("keep_disks")
+			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)
+			queryArgs <- list(ensure_unique_name = ensure_unique_name,
+							  assign_slot = assign_slot)
 
-			if(length(keepdisk) > 0)
-				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+			if(length(node) > 0)
+				body <- jsonlite::toJSON(list(node = node),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3973,16 +4013,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_disks.update = function(keepdisk, uuid)
+		nodes.update = function(node, uuid, assign_slot = NULL)
 		{
-			endPoint <- stringr::str_interp("keep_disks/${uuid}")
+			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- NULL
+			queryArgs <- list(assign_slot = assign_slot)
 
-			if(length(keepdisk) > 0)
-				body <- jsonlite::toJSON(list(keepdisk = keepdisk),
+			if(length(node) > 0)
+				body <- jsonlite::toJSON(list(node = node),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -3997,9 +4037,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_disks.delete = function(uuid)
+		nodes.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("keep_disks/${uuid}")
+			endPoint <- stringr::str_interp("nodes/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4017,18 +4057,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)
+		nodes.ping = function(uuid, ping_secret)
 		{
-			endPoint <- stringr::str_interp("keep_disks/ping")
+			endPoint <- stringr::str_interp("nodes/${uuid}/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)
+			queryArgs <- list(ping_secret = ping_secret)
 
 			body <- NULL
 
@@ -4042,12 +4077,11 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_disks.list = function(filters = NULL,
-			where = NULL, order = NULL, select = NULL,
-			distinct = NULL, limit = "100", offset = "0",
-			count = "exact")
+		nodes.list = function(filters = NULL, where = NULL,
+			order = NULL, select = NULL, distinct = NULL,
+			limit = "100", offset = "0", count = "exact")
 		{
-			endPoint <- stringr::str_interp("keep_disks")
+			endPoint <- stringr::str_interp("nodes")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4067,9 +4101,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.get = function(uuid)
+		links.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("keep_services/${uuid}")
+			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4087,17 +4121,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.create = function(keepservice,
-			ensure_unique_name = "false")
+		links.create = function(link, ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("keep_services")
+			endPoint <- stringr::str_interp("links")
 			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(keepservice) > 0)
-				body <- jsonlite::toJSON(list(keepservice = keepservice),
+			if(length(link) > 0)
+				body <- jsonlite::toJSON(list(link = link),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4112,16 +4145,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.update = function(keepservice, uuid)
+		links.update = function(link, uuid)
 		{
-			endPoint <- stringr::str_interp("keep_services/${uuid}")
+			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
 
-			if(length(keepservice) > 0)
-				body <- jsonlite::toJSON(list(keepservice = keepservice),
+			if(length(link) > 0)
+				body <- jsonlite::toJSON(list(link = link),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4136,9 +4169,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.delete = function(uuid)
+		links.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("keep_services/${uuid}")
+			endPoint <- stringr::str_interp("links/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4156,13 +4189,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.accessible = function()
+		links.list = function(filters = NULL, where = NULL,
+			order = NULL, select = NULL, distinct = NULL,
+			limit = "100", offset = "0", count = "exact")
 		{
-			endPoint <- stringr::str_interp("keep_services/accessible")
+			endPoint <- stringr::str_interp("links")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", 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)
 
 			body <- NULL
 
@@ -4176,18 +4213,13 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		keep_services.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("keep_services")
+			endPoint <- stringr::str_interp("permissions/${uuid}")
 			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)
+			queryArgs <- NULL
 
 			body <- NULL
 
@@ -4201,9 +4233,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_templates.get = function(uuid)
+		keep_services.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
+			endPoint <- stringr::str_interp("keep_services/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4221,17 +4253,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_templates.create = function(pipelinetemplate,
+		keep_services.create = function(keepservice,
 			ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("pipeline_templates")
+			endPoint <- stringr::str_interp("keep_services")
 			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),
+			if(length(keepservice) > 0)
+				body <- jsonlite::toJSON(list(keepservice = keepservice),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4246,16 +4278,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_templates.update = function(pipelinetemplate, uuid)
+		keep_services.update = function(keepservice, uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
+			endPoint <- stringr::str_interp("keep_services/${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),
+			if(length(keepservice) > 0)
+				body <- jsonlite::toJSON(list(keepservice = keepservice),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4270,9 +4302,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_templates.delete = function(uuid)
+		keep_services.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
+			endPoint <- stringr::str_interp("keep_services/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4290,18 +4322,13 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_templates.list = function(filters = NULL,
-			where = NULL, order = NULL, select = NULL,
-			distinct = NULL, limit = "100", offset = "0",
-			count = "exact")
+		keep_services.accessible = function()
 		{
-			endPoint <- stringr::str_interp("pipeline_templates")
+			endPoint <- stringr::str_interp("keep_services/accessible")
 			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)
+			queryArgs <- NULL
 
 			body <- NULL
 
@@ -4315,13 +4342,18 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.get = function(uuid)
+		keep_services.list = function(filters = NULL,
+			where = NULL, order = NULL, select = NULL,
+			distinct = NULL, limit = "100", offset = "0",
+			count = "exact")
 		{
-			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
+			endPoint <- stringr::str_interp("keep_services")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", 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)
 
 			body <- NULL
 
@@ -4335,22 +4367,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.create = function(pipelineinstance,
-			ensure_unique_name = "false")
+		pipeline_templates.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_instances")
+			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			queryArgs <- NULL
 
-			if(length(pipelineinstance) > 0)
-				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
-				                         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)
 
@@ -4360,21 +4387,22 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.update = function(pipelineinstance, uuid)
+		pipeline_templates.create = function(pipelinetemplate,
+			ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
+			endPoint <- stringr::str_interp("pipeline_templates")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- NULL
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
 
-			if(length(pipelineinstance) > 0)
-				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
+			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,
+			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
 			resource <- private$REST$httpParser$parseJSONResponse(response)
 
@@ -4384,17 +4412,21 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.delete = function(uuid)
+		pipeline_templates.update = function(pipelinetemplate, uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_instances/${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
 
-			body <- NULL
+			if(length(pipelinetemplate) > 0)
+				body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate),
+				                         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)
 
@@ -4404,9 +4436,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.cancel = function(uuid)
+		pipeline_templates.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("pipeline_instances/${uuid}/cancel")
+			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4414,7 +4446,7 @@ Arvados <- R6::R6Class(
 
 			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)
 
@@ -4424,12 +4456,12 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		pipeline_instances.list = function(filters = NULL,
+		pipeline_templates.list = function(filters = NULL,
 			where = NULL, order = NULL, select = NULL,
 			distinct = NULL, limit = "100", offset = "0",
 			count = "exact")
 		{
-			endPoint <- stringr::str_interp("pipeline_instances")
+			endPoint <- stringr::str_interp("pipeline_templates")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4449,9 +4481,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.get = function(uuid)
+		pipeline_instances.get = function(uuid)
 		{
-			endPoint <- stringr::str_interp("nodes/${uuid}")
+			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4469,18 +4501,17 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.create = function(node, ensure_unique_name = "false",
-			assign_slot = NULL)
+		pipeline_instances.create = function(pipelineinstance,
+			ensure_unique_name = "false")
 		{
-			endPoint <- stringr::str_interp("nodes")
+			endPoint <- stringr::str_interp("pipeline_instances")
 			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)
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
 
-			if(length(node) > 0)
-				body <- jsonlite::toJSON(list(node = node),
+			if(length(pipelineinstance) > 0)
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4495,16 +4526,16 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.update = function(node, uuid, assign_slot = NULL)
+		pipeline_instances.update = function(pipelineinstance, uuid)
 		{
-			endPoint <- stringr::str_interp("nodes/${uuid}")
+			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- list(assign_slot = assign_slot)
+			queryArgs <- NULL
 
-			if(length(node) > 0)
-				body <- jsonlite::toJSON(list(node = node),
+			if(length(pipelineinstance) > 0)
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance),
 				                         auto_unbox = TRUE)
 			else
 				body <- NULL
@@ -4519,9 +4550,9 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.delete = function(uuid)
+		pipeline_instances.delete = function(uuid)
 		{
-			endPoint <- stringr::str_interp("nodes/${uuid}")
+			endPoint <- stringr::str_interp("pipeline_instances/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
@@ -4539,13 +4570,13 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.ping = function(uuid, ping_secret)
+		pipeline_instances.cancel = function(uuid)
 		{
-			endPoint <- stringr::str_interp("nodes/${uuid}/ping")
+			endPoint <- stringr::str_interp("pipeline_instances/${uuid}/cancel")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
-			queryArgs <- list(ping_secret = ping_secret)
+			queryArgs <- NULL
 
 			body <- NULL
 
@@ -4559,11 +4590,12 @@ Arvados <- R6::R6Class(
 			resource
 		},
 
-		nodes.list = function(filters = NULL, where = NULL,
-			order = NULL, select = NULL, distinct = NULL,
-			limit = "100", offset = "0", count = "exact")
+		pipeline_instances.list = function(filters = NULL,
+			where = NULL, order = NULL, select = NULL,
+			distinct = NULL, limit = "100", offset = "0",
+			count = "exact")
 		{
-			endPoint <- stringr::str_interp("nodes")
+			endPoint <- stringr::str_interp("pipeline_instances")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token),
 			                "Content-Type" = "application/json")
diff --git a/sdk/R/R/ArvadosFile.R b/sdk/R/R/ArvadosFile.R
index 107130289..2257d99bf 100644
--- a/sdk/R/R/ArvadosFile.R
+++ b/sdk/R/R/ArvadosFile.R
@@ -26,7 +26,8 @@ source("./R/util.R")
 #'   \item{flush()}{Write connections content to a file (override current content of the file).}
 #'   \item{remove(name)}{Removes ArvadosFile or Subcollection specified by name from the subcollection.}
 #'   \item{getSizeInBytes()}{Returns file size in bytes.}
-#'   \item{move(newLocation)}{Moves file to a new location inside collection.}
+#'   \item{move(destination)}{Moves file to a new location inside collection.}
+#'   \item{copy(destination)}{Copies file to a new location inside collection.}
 #' }
 #'
 #' @name ArvadosFile
@@ -49,6 +50,7 @@ source("./R/util.R")
 #' mytable <- read.table(arvConnection)
 #'
 #' myFile$move("newFolder/myFile")
+#' myFile$copy("newFolder/myFile")
 #' }
 NULL
 
@@ -83,7 +85,6 @@ ArvadosFile <- R6::R6Class(
 
             fileSize <- REST$getResourceSize(self$getRelativePath(),
                                              private$collection$uuid)
-
             fileSize
         },
 
@@ -99,7 +100,7 @@ ArvadosFile <- R6::R6Class(
 
         getCollection = function() private$collection,
 
-        setCollection = function(collection)
+        setCollection = function(collection, setRecursively = TRUE)
         {
             private$collection <- collection
         },
@@ -176,20 +177,18 @@ ArvadosFile <- R6::R6Class(
             writeResult
         },
 
-        move = function(newLocation)
+        move = function(destination)
         {
             if(is.null(private$collection))
-                stop("ArvadosFile doesn't belong to any collection")
+                stop("ArvadosFile doesn't belong to any collection.")
 
-            newLocation <- trimFromEnd(newLocation, "/")
-            nameAndPath <- splitToPathAndName(newLocation)
+            destination <- trimFromEnd(destination, "/")
+            nameAndPath <- splitToPathAndName(destination)
 
             newParent <- private$collection$get(nameAndPath$path)
 
             if(is.null(newParent))
-            {
-                stop("Unable to get destination subcollection")
-            }
+                stop("Unable to get destination subcollection.")
 
             childWithSameName <- newParent$get(nameAndPath$name)
 
@@ -202,11 +201,50 @@ ArvadosFile <- R6::R6Class(
                       private$collection$uuid)
 
             private$dettachFromCurrentParent()
-            private$attachToNewParent(newParent)
+            private$attachToNewParent(self, newParent)
 
+            private$parent <- newParent
             private$name <- nameAndPath$name
 
-            "Content moved successfully."
+            self
+        },
+
+        copy = function(destination)
+        {
+            if(is.null(private$collection))
+                stop("ArvadosFile doesn't belong to any collection.")
+
+            destination <- trimFromEnd(destination, "/")
+            nameAndPath <- splitToPathAndName(destination)
+
+            newParent <- private$collection$get(nameAndPath$path)
+
+            if(is.null(newParent))
+                stop("Unable to get destination subcollection.")
+
+            childWithSameName <- newParent$get(nameAndPath$name)
+
+            if(!is.null(childWithSameName))
+                stop("Destination already contains content with same name.")
+
+            REST <- private$collection$getRESTService()
+            REST$copy(self$getRelativePath(),
+                      paste0(newParent$getRelativePath(), "/", nameAndPath$name),
+                      private$collection$uuid)
+
+            newFile <- self$duplicate(nameAndPath$name)
+            newFile$setCollection(self$getCollection())
+            private$attachToNewParent(newFile, newParent)
+            newFile$setParent(newParent)
+
+            newFile
+        },
+
+        duplicate = function(newName = NULL)
+        {
+            name <- if(!is.null(newName)) newName else private$name
+            newFile <- ArvadosFile$new(name)
+            newFile
         }
     ),
 
@@ -218,30 +256,24 @@ ArvadosFile <- R6::R6Class(
         collection = NULL,
         buffer     = NULL,
 
-        attachToNewParent = function(newParent)
+        attachToNewParent = function(content, newParent)
         {
             #Note: We temporary set parents collection to NULL. This will ensure that
-            #      add method doesn't post file on REST.
+            #      add method doesn't post this file on REST.
             parentsCollection <- newParent$getCollection()
             newParent$setCollection(NULL, setRecursively = FALSE)
-
-            newParent$add(self)
-
+            newParent$add(content)
             newParent$setCollection(parentsCollection, setRecursively = FALSE)
-
-            private$parent <- newParent
         },
 
         dettachFromCurrentParent = function()
         {
             #Note: We temporary set parents collection to NULL. This will ensure that
-            #      remove method doesn't remove this subcollection from REST.
+            #      remove method doesn't remove this file from REST.
             parent <- private$parent
             parentsCollection <- parent$getCollection()
             parent$setCollection(NULL, setRecursively = FALSE)
-
             parent$remove(private$name)
-
             parent$setCollection(parentsCollection, setRecursively = FALSE)
         }
     ),
@@ -267,8 +299,8 @@ print.ArvadosFile = function(x, ...)
         relativePath <- paste0("/", relativePath)
     }
 
-    cat(paste0("Type:          ", "\"", "ArvadosFile",         "\""), sep = "\n")
-    cat(paste0("Name:          ", "\"", x$getName(),           "\""), sep = "\n")
-    cat(paste0("Relative path: ", "\"", relativePath,          "\""), sep = "\n")
-    cat(paste0("Collection:    ", "\"", collection,            "\""), sep = "\n")
+    cat(paste0("Type:          ", "\"", "ArvadosFile", "\""), sep = "\n")
+    cat(paste0("Name:          ", "\"", x$getName(),   "\""), sep = "\n")
+    cat(paste0("Relative path: ", "\"", relativePath,  "\""), sep = "\n")
+    cat(paste0("Collection:    ", "\"", collection,    "\""), sep = "\n")
 }
diff --git a/sdk/R/R/Collection.R b/sdk/R/R/Collection.R
index 833b833c8..f88eb0e7c 100644
--- a/sdk/R/R/Collection.R
+++ b/sdk/R/R/Collection.R
@@ -58,23 +58,17 @@ Collection <- R6::R6Class(
     public = list(
 
 		uuid = NULL,
-        # api  = NULL,
 
 		initialize = function(api, uuid)
         {
-            # self$api <- api
             private$REST <- api$getRESTService()
-
             self$uuid <- uuid
-
-            private$fileContent <- private$REST$getCollectionContent(uuid)
-            private$tree <- CollectionTree$new(private$fileContent, self)
         },
 
         add = function(content, relativePath = "")
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             if(relativePath == ""  ||
                relativePath == "." ||
@@ -111,7 +105,7 @@ Collection <- R6::R6Class(
         create = function(fileNames, relativePath = "")
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             if(relativePath == ""  ||
                relativePath == "." ||
@@ -159,7 +153,7 @@ Collection <- R6::R6Class(
         remove = function(paths)
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             if(is.character(paths))
             {
@@ -189,10 +183,10 @@ Collection <- R6::R6Class(
             }
         },
 
-        move = function(content, newLocation)
+        move = function(content, destination)
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             content <- trimFromEnd(content, "/")
 
@@ -201,13 +195,34 @@ Collection <- R6::R6Class(
             if(is.null(elementToMove))
                 stop("Content you want to move doesn't exist in the collection.")
 
-            elementToMove$move(newLocation)
+            elementToMove$move(destination)
+        },
+
+        copy = function(content, destination)
+        {
+            if(is.null(private$tree))
+                private$generateCollectionTreeStructure()
+
+            content <- trimFromEnd(content, "/")
+
+            elementToCopy <- self$get(content)
+
+            if(is.null(elementToCopy))
+                stop("Content you want to copy doesn't exist in the collection.")
+
+            elementToCopy$copy(destination)
+        },
+
+        refresh = function()
+        {
+            private$tree$getTree()$setCollection(NULL, setRecursively = TRUE)
+            private$tree <- NULL
         },
 
         getFileListing = function()
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             content <- private$REST$getCollectionContent(self$uuid)
             content[order(tolower(content))]
@@ -216,32 +231,11 @@ Collection <- R6::R6Class(
         get = function(relativePath)
         {
             if(is.null(private$tree))
-                private$genereateCollectionTreeStructure()
+                private$generateCollectionTreeStructure()
 
             private$tree$getElement(relativePath)
         },
 
-		toJSON = function()
-        {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-
-			jsonlite::toJSON(list("collection" =
-                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
-		},
-
-		isEmpty = function() {
-			fields <- sapply(private$classFields,
-			                 function(field) self[[field]])
-
-			if(any(sapply(fields, function(field) !is.null(field) && field != "")))
-				FALSE
-			else
-				TRUE
-		},
-
         getRESTService = function() private$REST,
         setRESTService = function(newRESTService) private$REST <- newRESTService
     ),
@@ -251,9 +245,8 @@ Collection <- R6::R6Class(
         REST        = NULL,
         tree        = NULL,
         fileContent = NULL,
-        classFields = NULL,
 
-        genereateCollectionTreeStructure = function()
+        generateCollectionTreeStructure = function()
         {
             if(is.null(self$uuid))
                 stop("Collection uuid is not defined.")
diff --git a/sdk/R/R/CollectionTree.R b/sdk/R/R/CollectionTree.R
index 8b2f8876b..2d4af094a 100644
--- a/sdk/R/R/CollectionTree.R
+++ b/sdk/R/R/CollectionTree.R
@@ -121,3 +121,24 @@ CollectionTree <- R6::R6Class(
         }
     )
 )
+
+# deepCopyArvadosComposite = function(composite) 
+# {
+    # if("ArvadosFile" %in% class(content))
+    # {
+        # newFile <- ArvadosFile$new(content$name)
+        # newFile$setCollection(content$getCollection())
+
+        # return(newFile)
+    # }
+    # else if("Subcollection" %in% class(content))
+    # {
+        # root <- Subcollection$new(content$name)
+        # root$setCollection(content$getCollection())
+    # }
+    # else
+        # stop("Arvados composite is corrupted. It can contain only ArvadosFile or Subcollection.")
+    
+    
+
+# }
diff --git a/sdk/R/R/HttpRequest.R b/sdk/R/R/HttpRequest.R
index 4595fef66..07defca90 100644
--- a/sdk/R/R/HttpRequest.R
+++ b/sdk/R/R/HttpRequest.R
@@ -16,7 +16,7 @@ HttpRequest <- R6::R6Class(
         initialize = function()
         {
             self$validContentTypes <- c("text", "raw")
-            self$validVerbs <- c("GET", "POST", "PUT", "DELETE", "PROPFIND", "MOVE")
+            self$validVerbs <- c("GET", "POST", "PUT", "DELETE", "PROPFIND", "MOVE", "COPY")
         },
 
         exec = function(verb, url, headers = NULL, body = NULL, queryParams = NULL,
diff --git a/sdk/R/R/RESTService.R b/sdk/R/R/RESTService.R
index 867665299..78b2c35e3 100644
--- a/sdk/R/R/RESTService.R
+++ b/sdk/R/R/RESTService.R
@@ -81,10 +81,10 @@ RESTService <- R6::R6Class(
         {
             collectionURL <- paste0(self$getWebDavHostName(), "c=", uuid, "/")
             fromURL <- paste0(collectionURL, from)
-            toURL <- paste0(collectionURL, to)
+            toURL <- paste0(collectionURL, trimFromStart(to, "/"))
 
             headers <- list("Authorization" = paste("OAuth2", self$token),
-                           "Destination" = toURL)
+                            "Destination" = toURL)
 
             serverResponse <- self$http$exec("MOVE", fromURL, headers,
                                              retryTimes = self$numRetries)
@@ -95,6 +95,24 @@ RESTService <- R6::R6Class(
             serverResponse
         },
 
+        copy = function(from, to, uuid)
+        {
+            collectionURL <- paste0(self$getWebDavHostName(), "c=", uuid, "/")
+            fromURL <- paste0(collectionURL, from)
+            toURL <- paste0(collectionURL, trimFromStart(to, "/"))
+
+            headers <- list("Authorization" = paste("OAuth2", self$token),
+                            "Destination" = toURL)
+
+            serverResponse <- self$http$exec("COPY", fromURL, headers,
+                                             retryTimes = self$numRetries)
+
+            if(serverResponse$status_code < 200 || serverResponse$status_code >= 300)
+                stop(paste("Server code:", serverResponse$status_code))
+
+            serverResponse
+        },
+
         getCollectionContent = function(uuid)
         {
             collectionURL <- URLencode(paste0(self$getWebDavHostName(),
diff --git a/sdk/R/R/Subcollection.R b/sdk/R/R/Subcollection.R
index 45fe34347..5fd21c192 100644
--- a/sdk/R/R/Subcollection.R
+++ b/sdk/R/R/Subcollection.R
@@ -26,7 +26,8 @@ source("./R/util.R")
 #'   \item{get(relativePath)}{If relativePath is valid, returns ArvadosFile or Subcollection specified by relativePath, else returns NULL.}
 #'   \item{getFileListing()}{Returns subcollections file content as character vector.}
 #'   \item{getSizeInBytes()}{Returns subcollections content size in bytes.}
-#'   \item{move(newLocation)}{Moves subcollection to a new location inside collection.}
+#'   \item{move(destination)}{Moves subcollection to a new location inside collection.}
+#'   \item{copy(destination)}{Copies subcollection to a new location inside collection.}
 #' }
 #'
 #' @name Subcollection
@@ -40,6 +41,7 @@ source("./R/util.R")
 #' myFolder$remove("myFile")
 #'
 #' myFolder$move("newLocation/myFolder")
+#' myFolder$copy("newLocation/myFolder")
 #' }
 NULL
 
@@ -161,20 +163,18 @@ Subcollection <- R6::R6Class(
             return(sum(fileSizes))
         },
 
-        move = function(newLocation)
+        move = function(destination)
         {
             if(is.null(private$collection))
-                stop("Subcollection doesn't belong to any collection")
+                stop("Subcollection doesn't belong to any collection.")
 
-            newLocation <- trimFromEnd(newLocation, "/")
-            nameAndPath <- splitToPathAndName(newLocation)
+            destination <- trimFromEnd(destination, "/")
+            nameAndPath <- splitToPathAndName(destination)
 
             newParent <- private$collection$get(nameAndPath$path)
 
             if(is.null(newParent))
-            {
-                stop("Unable to get destination subcollection")
-            }
+                stop("Unable to get destination subcollection.")
 
             childWithSameName <- newParent$get(nameAndPath$name)
 
@@ -187,11 +187,53 @@ Subcollection <- R6::R6Class(
                       private$collection$uuid)
 
             private$dettachFromCurrentParent()
-            private$attachToNewParent(newParent)
+            private$attachToNewParent(self, newParent)
 
+            private$parent <- newParent
             private$name <- nameAndPath$name
 
-            "Content moved successfully."
+            self
+        },
+
+        copy = function(destination)
+        {
+            if(is.null(private$collection))
+                stop("Subcollection doesn't belong to any collection.")
+
+            destination <- trimFromEnd(destination, "/")
+            nameAndPath <- splitToPathAndName(destination)
+
+            newParent <- private$collection$get(nameAndPath$path)
+
+            if(is.null(newParent) || !("Subcollection" %in% class(newParent)))
+                stop("Unable to get destination subcollection.")
+
+            childWithSameName <- newParent$get(nameAndPath$name)
+
+            if(!is.null(childWithSameName))
+                stop("Destination already contains content with same name.")
+
+            REST <- private$collection$getRESTService()
+            REST$copy(self$getRelativePath(),
+                      paste0(newParent$getRelativePath(), "/", nameAndPath$name),
+                      private$collection$uuid)
+
+            newContent <- self$duplicate(nameAndPath$name)
+            newContent$setCollection(self$getCollection(), setRecursively = TRUE)
+            newContent$setParent(newParent)
+            private$attachToNewParent(newContent, newParent)
+
+            newContent
+        },
+
+        duplicate = function(newName = NULL)
+        {
+            name <- if(!is.null(newName)) newName else private$name
+            root <- Subcollection$new(name)
+            for(child in private$children)
+                root$add(child$duplicate())
+
+            root
         },
 
         get = function(name)
@@ -254,18 +296,14 @@ Subcollection <- R6::R6Class(
             }
         },
 
-        attachToNewParent = function(newParent)
+        attachToNewParent = function(content, newParent)
         {
             #Note: We temporary set parents collection to NULL. This will ensure that
-            #      add method doesn't post file on REST.
+            #      add method doesn't post this file on REST.
             parentsCollection <- newParent$getCollection()
             newParent$setCollection(NULL, setRecursively = FALSE)
-
-            newParent$add(self)
-
+            newParent$add(content)
             newParent$setCollection(parentsCollection, setRecursively = FALSE)
-
-            private$parent <- newParent
         },
 
         dettachFromCurrentParent = function()
@@ -275,9 +313,7 @@ Subcollection <- R6::R6Class(
             parent <- private$parent
             parentsCollection <- parent$getCollection()
             parent$setCollection(NULL, setRecursively = FALSE)
-
             parent$remove(private$name)
-
             parent$setCollection(parentsCollection, setRecursively = FALSE)
         },
 
diff --git a/sdk/R/README.Rmd b/sdk/R/README.Rmd
index be34b2fdb..001a3efc1 100644
--- a/sdk/R/README.Rmd
+++ b/sdk/R/README.Rmd
@@ -259,6 +259,28 @@ subcollection$move("newDestination/folder")
 Make sure to include new file name in destination.
 In second example file$move("newDestination/") will not work.
 
+* Copy file or folder inside collection:
+
+Directley from collection
+
+```{r}
+collection$copy("folder/file.cpp", "file.cpp")
+```
+
+Or from file
+
+```{r}
+file <- collection$get("location/to/my/file.cpp")
+file$copy("destination/file.cpp")
+```
+
+Or from subcollection
+
+```{r}
+subcollection <- collection$get("location/to/folder")
+subcollection$copy("destination/folder")
+```
+
 #### Working with Aravdos projects
 
 * Get a project:
diff --git a/sdk/R/man/Arvados.Rd b/sdk/R/man/Arvados.Rd
index 95a2e5561..51f98d81d 100644
--- a/sdk/R/man/Arvados.Rd
+++ b/sdk/R/man/Arvados.Rd
@@ -166,6 +166,7 @@ Arvados class gives users ability to access Arvados REST API.
 	\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}}}
diff --git a/sdk/R/man/ArvadosFile.Rd b/sdk/R/man/ArvadosFile.Rd
index b7840dc16..514e9e846 100644
--- a/sdk/R/man/ArvadosFile.Rd
+++ b/sdk/R/man/ArvadosFile.Rd
@@ -29,7 +29,8 @@ ArvadosFile class represents a file inside Arvados collection.
   \item{flush()}{Write connections content to a file (override current content of the file).}
   \item{remove(name)}{Removes ArvadosFile or Subcollection specified by name from the subcollection.}
   \item{getSizeInBytes()}{Returns file size in bytes.}
-  \item{move(newLocation)}{Moves file to a new location inside collection.}
+  \item{move(destination)}{Moves file to a new location inside collection.}
+  \item{copy(destination)}{Copies file to a new location inside collection.}
 }
 }
 
@@ -40,7 +41,7 @@ myFile <- ArvadosFile$new("myFile")
 myFile$write("This is new file content")
 fileContent <- myFile$read()
 fileContent <- myFile$read("text")
-fileContent <- myFile$read("raw", offset = 8, length = 4) 
+fileContent <- myFile$read("raw", offset = 8, length = 4)
 
 #Write a table:
 arvConnection <- myFile$connection("w")
@@ -52,5 +53,6 @@ arvConnection <- myFile$connection("r")
 mytable <- read.table(arvConnection)
 
 myFile$move("newFolder/myFile")
+myFile$copy("newFolder/myFile")
 }
 }
diff --git a/sdk/R/man/Subcollection.Rd b/sdk/R/man/Subcollection.Rd
index df0970b30..0b27a8bc4 100644
--- a/sdk/R/man/Subcollection.Rd
+++ b/sdk/R/man/Subcollection.Rd
@@ -5,7 +5,7 @@
 \title{Subcollection}
 \description{
 Subcollection class represents a folder inside Arvados collection.
-It is essentially a composite of ArvadosFiles and other Subcollections.
+It is essentially a composite of arvadosFiles and other subcollections.
 }
 \section{Usage}{
 
@@ -29,7 +29,8 @@ It is essentially a composite of ArvadosFiles and other Subcollections.
   \item{get(relativePath)}{If relativePath is valid, returns ArvadosFile or Subcollection specified by relativePath, else returns NULL.}
   \item{getFileListing()}{Returns subcollections file content as character vector.}
   \item{getSizeInBytes()}{Returns subcollections content size in bytes.}
-  \item{move(newLocation)}{Moves subcollection to a new location inside collection.}
+  \item{move(destination)}{Moves subcollection to a new location inside collection.}
+  \item{copy(destination)}{Copies subcollection to a new location inside collection.}
 }
 }
 
@@ -43,5 +44,6 @@ myFolder$get("myFile")
 myFolder$remove("myFile")
 
 myFolder$move("newLocation/myFolder")
+myFolder$copy("newLocation/myFolder")
 }
 }
diff --git a/sdk/R/man/api_client_authorizations.create_system_auth.Rd b/sdk/R/man/api_client_authorizations.create_system_auth.Rd
index 3eb172aab..5bef96f9c 100644
--- a/sdk/R/man/api_client_authorizations.create_system_auth.Rd
+++ b/sdk/R/man/api_client_authorizations.create_system_auth.Rd
@@ -7,11 +7,6 @@
 arv$api_client_authorizations.create_system_auth(api_client_id = NULL,
 	scopes = NULL)
 }
-\arguments{
-\item{api_client_id}{}
-
-\item{scopes}{}
-}
 \value{
 ApiClientAuthorization object.
 }
diff --git a/sdk/R/man/api_client_authorizations.list.Rd b/sdk/R/man/api_client_authorizations.list.Rd
index 7c8ae69cd..983bf4478 100644
--- a/sdk/R/man/api_client_authorizations.list.Rd
+++ b/sdk/R/man/api_client_authorizations.list.Rd
@@ -9,23 +9,6 @@ arv$api_client_authorizations.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 ApiClientAuthorizationList object.
 }
diff --git a/sdk/R/man/api_clients.list.Rd b/sdk/R/man/api_clients.list.Rd
index 0679c9c12..21523096d 100644
--- a/sdk/R/man/api_clients.list.Rd
+++ b/sdk/R/man/api_clients.list.Rd
@@ -9,23 +9,6 @@ arv$api_clients.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 ApiClientList object.
 }
diff --git a/sdk/R/man/authorized_keys.list.Rd b/sdk/R/man/authorized_keys.list.Rd
index cd19bc60c..c477b54a9 100644
--- a/sdk/R/man/authorized_keys.list.Rd
+++ b/sdk/R/man/authorized_keys.list.Rd
@@ -9,23 +9,6 @@ arv$authorized_keys.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 AuthorizedKeyList object.
 }
diff --git a/sdk/R/man/collections.list.Rd b/sdk/R/man/collections.list.Rd
index 87f6f78e3..cc5badebe 100644
--- a/sdk/R/man/collections.list.Rd
+++ b/sdk/R/man/collections.list.Rd
@@ -10,22 +10,6 @@ arv$collections.list(filters = NULL,
 	count = "exact", include_trash = NULL)
 }
 \arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-
 \item{include_trash}{Include collections whose is_trashed attribute is true.}
 }
 \value{
diff --git a/sdk/R/man/collections.provenance.Rd b/sdk/R/man/collections.provenance.Rd
index 001a7b47c..72b164e50 100644
--- a/sdk/R/man/collections.provenance.Rd
+++ b/sdk/R/man/collections.provenance.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$collections.provenance(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.trash.Rd b/sdk/R/man/collections.trash.Rd
index 4862109b9..f01c191db 100644
--- a/sdk/R/man/collections.trash.Rd
+++ b/sdk/R/man/collections.trash.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$collections.trash(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.untrash.Rd b/sdk/R/man/collections.untrash.Rd
index c41bc3d90..6e63fd4f3 100644
--- a/sdk/R/man/collections.untrash.Rd
+++ b/sdk/R/man/collections.untrash.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$collections.untrash(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/collections.used_by.Rd b/sdk/R/man/collections.used_by.Rd
index 53b8e493f..0ea0dc324 100644
--- a/sdk/R/man/collections.used_by.Rd
+++ b/sdk/R/man/collections.used_by.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$collections.used_by(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Collection object.
 }
diff --git a/sdk/R/man/container_requests.list.Rd b/sdk/R/man/container_requests.list.Rd
index 9c2412bee..b0ce4de0d 100644
--- a/sdk/R/man/container_requests.list.Rd
+++ b/sdk/R/man/container_requests.list.Rd
@@ -9,23 +9,6 @@ arv$container_requests.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 ContainerRequestList object.
 }
diff --git a/sdk/R/man/containers.auth.Rd b/sdk/R/man/containers.auth.Rd
index a594d2f19..2aa51cacc 100644
--- a/sdk/R/man/containers.auth.Rd
+++ b/sdk/R/man/containers.auth.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$containers.auth(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.list.Rd b/sdk/R/man/containers.list.Rd
index d44579613..7b3d2fccc 100644
--- a/sdk/R/man/containers.list.Rd
+++ b/sdk/R/man/containers.list.Rd
@@ -9,23 +9,6 @@ arv$containers.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 ContainerList object.
 }
diff --git a/sdk/R/man/containers.lock.Rd b/sdk/R/man/containers.lock.Rd
index 72bcdf0f8..b8d7c0865 100644
--- a/sdk/R/man/containers.lock.Rd
+++ b/sdk/R/man/containers.lock.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$containers.lock(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.secret_mounts.Rd b/sdk/R/man/containers.secret_mounts.Rd
index d0f8444fa..2cccba3aa 100644
--- a/sdk/R/man/containers.secret_mounts.Rd
+++ b/sdk/R/man/containers.secret_mounts.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$containers.secret_mounts(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/containers.unlock.Rd b/sdk/R/man/containers.unlock.Rd
index 5c41f2059..2bba7ee5a 100644
--- a/sdk/R/man/containers.unlock.Rd
+++ b/sdk/R/man/containers.unlock.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$containers.unlock(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Container object.
 }
diff --git a/sdk/R/man/groups.contents.Rd b/sdk/R/man/groups.contents.Rd
index 26647df4f..1273f445d 100644
--- a/sdk/R/man/groups.contents.Rd
+++ b/sdk/R/man/groups.contents.Rd
@@ -10,24 +10,8 @@ arv$groups.contents(filters = NULL,
 	include_trash = NULL, uuid = NULL, recursive = NULL)
 }
 \arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 
-\item{uuid}{}
-
 \item{recursive}{Include contents from child groups recursively.}
 }
 \value{
diff --git a/sdk/R/man/groups.list.Rd b/sdk/R/man/groups.list.Rd
index 7699f3ef4..c76a27ad9 100644
--- a/sdk/R/man/groups.list.Rd
+++ b/sdk/R/man/groups.list.Rd
@@ -10,22 +10,6 @@ arv$groups.list(filters = NULL,
 	count = "exact", include_trash = NULL)
 }
 \arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 }
 \value{
diff --git a/sdk/R/man/groups.trash.Rd b/sdk/R/man/groups.trash.Rd
index c529618f7..ecd2b10c8 100644
--- a/sdk/R/man/groups.trash.Rd
+++ b/sdk/R/man/groups.trash.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$groups.trash(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Group object.
 }
diff --git a/sdk/R/man/groups.untrash.Rd b/sdk/R/man/groups.untrash.Rd
index 014190c8f..ef1f19a10 100644
--- a/sdk/R/man/groups.untrash.Rd
+++ b/sdk/R/man/groups.untrash.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$groups.untrash(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Group object.
 }
diff --git a/sdk/R/man/humans.list.Rd b/sdk/R/man/humans.list.Rd
index a8db4c7f6..c9fad5fd3 100644
--- a/sdk/R/man/humans.list.Rd
+++ b/sdk/R/man/humans.list.Rd
@@ -9,23 +9,6 @@ arv$humans.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 HumanList object.
 }
diff --git a/sdk/R/man/job_tasks.list.Rd b/sdk/R/man/job_tasks.list.Rd
index 51c4b4942..2184d9655 100644
--- a/sdk/R/man/job_tasks.list.Rd
+++ b/sdk/R/man/job_tasks.list.Rd
@@ -9,23 +9,6 @@ arv$job_tasks.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 JobTaskList object.
 }
diff --git a/sdk/R/man/jobs.cancel.Rd b/sdk/R/man/jobs.cancel.Rd
index 7399d28a8..16cda4aa6 100644
--- a/sdk/R/man/jobs.cancel.Rd
+++ b/sdk/R/man/jobs.cancel.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$jobs.cancel(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/jobs.create.Rd b/sdk/R/man/jobs.create.Rd
index 4c4d61ae7..d8e52d4f9 100644
--- a/sdk/R/man/jobs.create.Rd
+++ b/sdk/R/man/jobs.create.Rd
@@ -12,14 +12,6 @@ arv$jobs.create(job, ensure_unique_name = "false",
 \item{job}{Job object.}
 
 \item{ensure_unique_name}{Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.}
-
-\item{find_or_create}{}
-
-\item{filters}{}
-
-\item{minimum_script_version}{}
-
-\item{exclude_script_versions}{}
 }
 \value{
 Job object.
diff --git a/sdk/R/man/jobs.list.Rd b/sdk/R/man/jobs.list.Rd
index 53055f587..33840b0a4 100644
--- a/sdk/R/man/jobs.list.Rd
+++ b/sdk/R/man/jobs.list.Rd
@@ -8,23 +8,6 @@ arv$jobs.list(filters = NULL, where = NULL,
 	order = NULL, select = NULL, distinct = NULL,
 	limit = "100", offset = "0", count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 JobList object.
 }
diff --git a/sdk/R/man/jobs.lock.Rd b/sdk/R/man/jobs.lock.Rd
index 3c2e23280..51500fc44 100644
--- a/sdk/R/man/jobs.lock.Rd
+++ b/sdk/R/man/jobs.lock.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$jobs.lock(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/jobs.queue.Rd b/sdk/R/man/jobs.queue.Rd
index a9deaa971..e92d01063 100644
--- a/sdk/R/man/jobs.queue.Rd
+++ b/sdk/R/man/jobs.queue.Rd
@@ -9,23 +9,6 @@ arv$jobs.queue(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 Job object.
 }
diff --git a/sdk/R/man/keep_disks.list.Rd b/sdk/R/man/keep_disks.list.Rd
index fdb599f70..79d7b0a63 100644
--- a/sdk/R/man/keep_disks.list.Rd
+++ b/sdk/R/man/keep_disks.list.Rd
@@ -9,23 +9,6 @@ arv$keep_disks.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 KeepDiskList object.
 }
diff --git a/sdk/R/man/keep_disks.ping.Rd b/sdk/R/man/keep_disks.ping.Rd
index 6ae55955f..2952c31e1 100644
--- a/sdk/R/man/keep_disks.ping.Rd
+++ b/sdk/R/man/keep_disks.ping.Rd
@@ -8,21 +8,6 @@ arv$keep_disks.ping(uuid = NULL,
 	ping_secret, node_uuid = NULL, filesystem_uuid = NULL,
 	service_host = NULL, service_port, service_ssl_flag)
 }
-\arguments{
-\item{uuid}{}
-
-\item{ping_secret}{}
-
-\item{node_uuid}{}
-
-\item{filesystem_uuid}{}
-
-\item{service_host}{}
-
-\item{service_port}{}
-
-\item{service_ssl_flag}{}
-}
 \value{
 KeepDisk object.
 }
diff --git a/sdk/R/man/keep_services.list.Rd b/sdk/R/man/keep_services.list.Rd
index 22aa3aa10..73f5fb854 100644
--- a/sdk/R/man/keep_services.list.Rd
+++ b/sdk/R/man/keep_services.list.Rd
@@ -9,23 +9,6 @@ arv$keep_services.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 KeepServiceList object.
 }
diff --git a/sdk/R/man/links.get_permissions.Rd b/sdk/R/man/links.get_permissions.Rd
index 982dbb969..457c38e14 100644
--- a/sdk/R/man/links.get_permissions.Rd
+++ b/sdk/R/man/links.get_permissions.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$links.get_permissions(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 Link object.
 }
diff --git a/sdk/R/man/links.list.Rd b/sdk/R/man/links.list.Rd
index 540fdc168..a3fc988a3 100644
--- a/sdk/R/man/links.list.Rd
+++ b/sdk/R/man/links.list.Rd
@@ -9,23 +9,6 @@ arv$links.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 LinkList object.
 }
diff --git a/sdk/R/man/logs.list.Rd b/sdk/R/man/logs.list.Rd
index 58dbdb71e..88c8bbdc7 100644
--- a/sdk/R/man/logs.list.Rd
+++ b/sdk/R/man/logs.list.Rd
@@ -8,23 +8,6 @@ arv$logs.list(filters = NULL, where = NULL,
 	order = NULL, select = NULL, distinct = NULL,
 	limit = "100", offset = "0", count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 LogList object.
 }
diff --git a/sdk/R/man/nodes.list.Rd b/sdk/R/man/nodes.list.Rd
index 7ccfad6d9..6074a38a6 100644
--- a/sdk/R/man/nodes.list.Rd
+++ b/sdk/R/man/nodes.list.Rd
@@ -9,23 +9,6 @@ arv$nodes.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 NodeList object.
 }
diff --git a/sdk/R/man/nodes.ping.Rd b/sdk/R/man/nodes.ping.Rd
index e77d2b5b8..b8775a2e0 100644
--- a/sdk/R/man/nodes.ping.Rd
+++ b/sdk/R/man/nodes.ping.Rd
@@ -6,11 +6,6 @@
 \usage{
 arv$nodes.ping(uuid, ping_secret)
 }
-\arguments{
-\item{uuid}{}
-
-\item{ping_secret}{}
-}
 \value{
 Node object.
 }
diff --git a/sdk/R/man/pipeline_instances.cancel.Rd b/sdk/R/man/pipeline_instances.cancel.Rd
index 026de816f..6de313405 100644
--- a/sdk/R/man/pipeline_instances.cancel.Rd
+++ b/sdk/R/man/pipeline_instances.cancel.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$pipeline_instances.cancel(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 PipelineInstance object.
 }
diff --git a/sdk/R/man/pipeline_instances.list.Rd b/sdk/R/man/pipeline_instances.list.Rd
index 407f94446..74b5db2bb 100644
--- a/sdk/R/man/pipeline_instances.list.Rd
+++ b/sdk/R/man/pipeline_instances.list.Rd
@@ -9,23 +9,6 @@ arv$pipeline_instances.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 PipelineInstanceList object.
 }
diff --git a/sdk/R/man/pipeline_templates.list.Rd b/sdk/R/man/pipeline_templates.list.Rd
index c6c7413d5..846008e4d 100644
--- a/sdk/R/man/pipeline_templates.list.Rd
+++ b/sdk/R/man/pipeline_templates.list.Rd
@@ -9,23 +9,6 @@ arv$pipeline_templates.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 PipelineTemplateList object.
 }
diff --git a/sdk/R/man/projects.list.Rd b/sdk/R/man/projects.list.Rd
index ff4c1c9ed..22b5175ce 100644
--- a/sdk/R/man/projects.list.Rd
+++ b/sdk/R/man/projects.list.Rd
@@ -10,24 +10,8 @@ arv$projects.list(filters = NULL,
 	include_trash = NULL, uuid = NULL, recursive = NULL)
 }
 \arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-
 \item{include_trash}{Include items whose is_trashed attribute is true.}
 
-\item{uuid}{}
-
 \item{recursive}{Include contents from child groups recursively.}
 }
 \value{
diff --git a/sdk/R/man/repositories.list.Rd b/sdk/R/man/repositories.list.Rd
index d1f4772e7..e19c87c6c 100644
--- a/sdk/R/man/repositories.list.Rd
+++ b/sdk/R/man/repositories.list.Rd
@@ -9,23 +9,6 @@ arv$repositories.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 RepositoryList object.
 }
diff --git a/sdk/R/man/specimens.list.Rd b/sdk/R/man/specimens.list.Rd
index 4e07f4ab2..c05ce5f26 100644
--- a/sdk/R/man/specimens.list.Rd
+++ b/sdk/R/man/specimens.list.Rd
@@ -9,23 +9,6 @@ arv$specimens.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 SpecimenList object.
 }
diff --git a/sdk/R/man/traits.list.Rd b/sdk/R/man/traits.list.Rd
index e91b92994..77a13cae3 100644
--- a/sdk/R/man/traits.list.Rd
+++ b/sdk/R/man/traits.list.Rd
@@ -9,23 +9,6 @@ arv$traits.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 TraitList object.
 }
diff --git a/sdk/R/man/user_agreements.list.Rd b/sdk/R/man/user_agreements.list.Rd
index 5e6986189..c9914d5f1 100644
--- a/sdk/R/man/user_agreements.list.Rd
+++ b/sdk/R/man/user_agreements.list.Rd
@@ -9,23 +9,6 @@ arv$user_agreements.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 UserAgreementList object.
 }
diff --git a/sdk/R/man/users.activate.Rd b/sdk/R/man/users.activate.Rd
index 201caf4c8..bba816232 100644
--- a/sdk/R/man/users.activate.Rd
+++ b/sdk/R/man/users.activate.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$users.activate(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.list.Rd b/sdk/R/man/users.list.Rd
index 71319433b..98fa2141a 100644
--- a/sdk/R/man/users.list.Rd
+++ b/sdk/R/man/users.list.Rd
@@ -9,23 +9,6 @@ arv$users.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 UserList object.
 }
diff --git a/sdk/R/man/users.merge.Rd b/sdk/R/man/users.merge.Rd
new file mode 100644
index 000000000..ee97244f3
--- /dev/null
+++ b/sdk/R/man/users.merge.Rd
@@ -0,0 +1,15 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\name{users.merge}
+\alias{users.merge}
+\title{users.merge}
+\usage{
+arv$users.merge(new_owner_uuid,
+	new_user_token, redirect_to_new_user = NULL)
+}
+\value{
+User object.
+}
+\description{
+users.merge is a method defined in Arvados class.
+}
diff --git a/sdk/R/man/users.setup.Rd b/sdk/R/man/users.setup.Rd
index 869403d3e..764bc5259 100644
--- a/sdk/R/man/users.setup.Rd
+++ b/sdk/R/man/users.setup.Rd
@@ -7,17 +7,6 @@
 arv$users.setup(user = NULL, openid_prefix = NULL,
 	repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
 }
-\arguments{
-\item{user}{}
-
-\item{openid_prefix}{}
-
-\item{repo_name}{}
-
-\item{vm_uuid}{}
-
-\item{send_notification_email}{}
-}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.unsetup.Rd b/sdk/R/man/users.unsetup.Rd
index 85de6f978..0753a34d2 100644
--- a/sdk/R/man/users.unsetup.Rd
+++ b/sdk/R/man/users.unsetup.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$users.unsetup(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 User object.
 }
diff --git a/sdk/R/man/users.update_uuid.Rd b/sdk/R/man/users.update_uuid.Rd
index af62c2c82..591599dfe 100644
--- a/sdk/R/man/users.update_uuid.Rd
+++ b/sdk/R/man/users.update_uuid.Rd
@@ -6,11 +6,6 @@
 \usage{
 arv$users.update_uuid(uuid, new_uuid)
 }
-\arguments{
-\item{uuid}{}
-
-\item{new_uuid}{}
-}
 \value{
 User object.
 }
diff --git a/sdk/R/man/virtual_machines.list.Rd b/sdk/R/man/virtual_machines.list.Rd
index 42ed58b0e..0f3b440b8 100644
--- a/sdk/R/man/virtual_machines.list.Rd
+++ b/sdk/R/man/virtual_machines.list.Rd
@@ -9,23 +9,6 @@ arv$virtual_machines.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 VirtualMachineList object.
 }
diff --git a/sdk/R/man/virtual_machines.logins.Rd b/sdk/R/man/virtual_machines.logins.Rd
index 7e25110aa..bb6d21ed9 100644
--- a/sdk/R/man/virtual_machines.logins.Rd
+++ b/sdk/R/man/virtual_machines.logins.Rd
@@ -6,9 +6,6 @@
 \usage{
 arv$virtual_machines.logins(uuid)
 }
-\arguments{
-\item{uuid}{}
-}
 \value{
 VirtualMachine object.
 }
diff --git a/sdk/R/man/workflows.list.Rd b/sdk/R/man/workflows.list.Rd
index e24b74d03..b8a6a03ec 100644
--- a/sdk/R/man/workflows.list.Rd
+++ b/sdk/R/man/workflows.list.Rd
@@ -9,23 +9,6 @@ arv$workflows.list(filters = NULL,
 	distinct = NULL, limit = "100", offset = "0",
 	count = "exact")
 }
-\arguments{
-\item{filters}{}
-
-\item{where}{}
-
-\item{order}{}
-
-\item{select}{}
-
-\item{distinct}{}
-
-\item{limit}{}
-
-\item{offset}{}
-
-\item{count}{}
-}
 \value{
 WorkflowList object.
 }
diff --git a/sdk/R/tests/testthat/fakes/FakeHttpRequest.R b/sdk/R/tests/testthat/fakes/FakeHttpRequest.R
index 2ebcda2e4..7734e0d92 100644
--- a/sdk/R/tests/testthat/fakes/FakeHttpRequest.R
+++ b/sdk/R/tests/testthat/fakes/FakeHttpRequest.R
@@ -27,6 +27,7 @@ FakeHttpRequest <- R6::R6Class(
         numberOfPUTRequests        = NULL,
         numberOfPOSTRequests       = NULL,
         numberOfMOVERequests       = NULL,
+        numberOfCOPYRequests       = NULL,
         numberOfgetConnectionCalls = NULL,
 
         initialize = function(expectedURL      = NULL,
@@ -57,6 +58,7 @@ FakeHttpRequest <- R6::R6Class(
             self$numberOfPUTRequests    <- 0
             self$numberOfPOSTRequests   <- 0
             self$numberOfMOVERequests   <- 0
+            self$numberOfCOPYRequests   <- 0
 
             self$numberOfgetConnectionCalls <- 0
 
@@ -81,6 +83,8 @@ FakeHttpRequest <- R6::R6Class(
                 self$numberOfDELETERequests <- self$numberOfDELETERequests + 1
             else if(verb == "MOVE")
                 self$numberOfMOVERequests <- self$numberOfMOVERequests + 1
+            else if(verb == "COPY")
+                self$numberOfCOPYRequests <- self$numberOfCOPYRequests + 1
             else if(verb == "PROPFIND")
             {
                 return(self$content)
diff --git a/sdk/R/tests/testthat/fakes/FakeRESTService.R b/sdk/R/tests/testthat/fakes/FakeRESTService.R
index 048013f56..a91da04fd 100644
--- a/sdk/R/tests/testthat/fakes/FakeRESTService.R
+++ b/sdk/R/tests/testthat/fakes/FakeRESTService.R
@@ -18,6 +18,7 @@ FakeRESTService <- R6::R6Class(
         createCallCount               = NULL,
         deleteCallCount               = NULL,
         moveCallCount                 = NULL,
+        copyCallCount                 = NULL,
         getCollectionContentCallCount = NULL,
         getResourceSizeCallCount      = NULL,
         readCallCount                 = NULL,
@@ -31,7 +32,7 @@ FakeRESTService <- R6::R6Class(
         collectionContent = NULL,
         returnContent     = NULL,
 
-        initialize = function(collectionContent = NULL, returnContent = NULL, 
+        initialize = function(collectionContent = NULL, returnContent = NULL,
                               expectedFilterContent = NULL)
         {
             self$getResourceCallCount    <- 0
@@ -44,6 +45,7 @@ FakeRESTService <- R6::R6Class(
             self$createCallCount               <- 0
             self$deleteCallCount               <- 0
             self$moveCallCount                 <- 0
+            self$copyCallCount                 <- 0
             self$getCollectionContentCallCount <- 0
             self$getResourceSizeCallCount      <- 0
             self$readCallCount                 <- 0
@@ -135,6 +137,12 @@ FakeRESTService <- R6::R6Class(
             self$returnContent
         },
 
+        copy = function(from, to, uuid)
+        {
+            self$copyCallCount <- self$copyCallCount + 1
+            self$returnContent
+        },
+
         getCollectionContent = function(uuid)
         {
             self$getCollectionContentCallCount <- self$getCollectionContentCallCount + 1
@@ -146,7 +154,7 @@ FakeRESTService <- R6::R6Class(
             self$getResourceSizeCallCount <- self$getResourceSizeCallCount + 1
             self$returnContent
         },
-        
+
         read = function(relativePath, uuid, contentType = "text", offset = 0, length = 0)
         {
             self$readCallCount <- self$readCallCount + 1
diff --git a/sdk/R/tests/testthat/test-ArvadosFile.R b/sdk/R/tests/testthat/test-ArvadosFile.R
index 1f559e999..e3457c993 100644
--- a/sdk/R/tests/testthat/test-ArvadosFile.R
+++ b/sdk/R/tests/testthat/test-ArvadosFile.R
@@ -81,7 +81,6 @@ test_that("read raises exception if file doesn't belong to a collection", {
 
 test_that("read raises exception offset or length is negative number", {
 
-
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
@@ -156,7 +155,6 @@ test_that(paste("connection returns textConnection opened",
 
 test_that("flush sends data stored in a connection to a REST server", {
 
-
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
@@ -204,13 +202,12 @@ test_that(paste("move raises exception if arvados file",
     animal <- ArvadosFile$new("animal")
 
     expect_that(animal$move("new/location"),
-                throws_error("ArvadosFile doesn't belong to any collection"))
+                throws_error("ArvadosFile doesn't belong to any collection."))
 })
 
 test_that(paste("move raises exception if newLocationInCollection",
                 "parameter is invalid"), {
 
-
     collectionContent <- c("animal",
                            "animal/fish",
                            "animal/dog",
@@ -226,7 +223,7 @@ test_that(paste("move raises exception if newLocationInCollection",
     dog <- collection$get("animal/dog")
 
     expect_that(dog$move("objects/dog"),
-                throws_error("Unable to get destination subcollection"))
+                throws_error("Unable to get destination subcollection."))
 })
 
 test_that("move raises exception if new location contains content with the same name", {
@@ -252,7 +249,6 @@ test_that("move raises exception if new location contains content with the same
 
 test_that("move moves arvados file inside collection tree", {
 
-
     collectionContent <- c("animal",
                            "animal/fish",
                            "animal/dog",
@@ -273,3 +269,85 @@ test_that("move moves arvados file inside collection tree", {
     expect_that(dogIsNullOnOldLocation, is_true())
     expect_that(dogExistsOnNewLocation, is_true())
 })
+
+test_that(paste("copy raises exception if arvados file",
+                "doesn't belong to any collection"), {
+
+    animal <- ArvadosFile$new("animal")
+
+    expect_that(animal$copy("new/location"),
+                throws_error("ArvadosFile doesn't belong to any collection."))
+})
+
+test_that(paste("copy raises exception if location parameter is invalid"), {
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "ball")
+
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+
+    collection <- Collection$new(api, "myUUID")
+    dog <- collection$get("animal/dog")
+
+    expect_that(dog$copy("objects/dog"),
+                throws_error("Unable to get destination subcollection."))
+})
+
+test_that("copy raises exception if new location contains content with the same name", {
+
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "dog")
+
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+    dog <- collection$get("animal/dog")
+
+    expect_that(dog$copy("dog"),
+                throws_error("Destination already contains content with same name."))
+
+})
+
+test_that("copy copies arvados file inside collection tree", {
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "ball")
+
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+    dog <- collection$get("animal/dog")
+
+    dog$copy("dog")
+    dogExistsOnOldLocation <- !is.null(collection$get("animal/dog"))
+    dogExistsOnNewLocation <- !is.null(collection$get("dog"))
+
+    expect_that(dogExistsOnOldLocation, is_true())
+    expect_that(dogExistsOnNewLocation, is_true())
+})
+
+test_that("duplicate performs deep cloning of Arvados file", {
+    arvFile <- ArvadosFile$new("foo")
+    newFile1 <- arvFile$duplicate()
+    newFile2 <- arvFile$duplicate("bar")
+
+    expect_that(newFile1$getFileListing(), equals(arvFile$getFileListing()))
+    expect_that(newFile2$getFileListing(), equals(c("bar")))
+})
diff --git a/sdk/R/tests/testthat/test-Collection.R b/sdk/R/tests/testthat/test-Collection.R
index af5fabeb7..76668c2eb 100644
--- a/sdk/R/tests/testthat/test-Collection.R
+++ b/sdk/R/tests/testthat/test-Collection.R
@@ -262,3 +262,37 @@ test_that("get returns arvados file or subcollection from internal tree structur
     expect_that(fishIsNotNull, is_true())
     expect_that(fish$getName(), equals("fish"))
 })
+
+test_that(paste("copy copies content to a new location inside file tree",
+                "and on REST service"), {
+
+    collectionContent <- c("animal", "animal/dog", "ball")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+
+    collection$copy("animal/dog", "dog")
+
+    dogExistsOnOldLocation <- !is.null(collection$get("animal/dog"))
+    dogExistsOnNewLocation <- !is.null(collection$get("dog"))
+
+    expect_that(dogExistsOnOldLocation, is_true())
+    expect_that(dogExistsOnNewLocation, is_true())
+    expect_that(fakeREST$copyCallCount, equals(1))
+})
+
+test_that("copy raises exception if new location is not valid", {
+
+    collectionContent <- c("animal", "animal/fish", "ball")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+
+    expect_that(collection$copy("fish", "object"),
+                throws_error("Content you want to copy doesn't exist in the collection.",
+                             fixed = TRUE))
+})
diff --git a/sdk/R/tests/testthat/test-RESTService.R b/sdk/R/tests/testthat/test-RESTService.R
index 26f459b17..64988e33d 100644
--- a/sdk/R/tests/testthat/test-RESTService.R
+++ b/sdk/R/tests/testthat/test-RESTService.R
@@ -135,6 +135,40 @@ test_that("move raises exception if server response code is not between 200 and
                 throws_error("Server code: 404"))
 })
 
+test_that("copy calls REST service properly", {
+
+    uuid <- "aaaaa-j7d0g-ccccccccccccccc"
+    expectedURL <- "https://webDavHost/c=aaaaa-j7d0g-ccccccccccccccc/file"
+    fakeHttp <- FakeHttpRequest$new(expectedURL)
+    fakeHttpParser <- FakeHttpParser$new()
+
+    REST <- RESTService$new("token", "https://host/",
+                            fakeHttp, fakeHttpParser,
+                            0, "https://webDavHost/")
+
+    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_that(fakeHttp$numberOfCOPYRequests, equals(1))
+})
+
+test_that("copy raises exception if server response code is not between 200 and 300", {
+
+    uuid <- "aaaaa-j7d0g-ccccccccccccccc"
+    response <- list()
+    response$status_code <- 404
+    fakeHttp <- FakeHttpRequest$new(serverResponse = response)
+
+    REST <- RESTService$new("token", "https://host/",
+                            fakeHttp, HttpParser$new(),
+                            0, "https://webDavHost/")
+
+    expect_that(REST$copy("file", "newDestination/file", uuid),
+                throws_error("Server code: 404"))
+})
+
 test_that("getCollectionContent retreives correct content from WebDAV server", {
 
     uuid <- "aaaaa-j7d0g-ccccccccccccccc"
diff --git a/sdk/R/tests/testthat/test-Subcollection.R b/sdk/R/tests/testthat/test-Subcollection.R
index 6845801e5..a6e420962 100644
--- a/sdk/R/tests/testthat/test-Subcollection.R
+++ b/sdk/R/tests/testthat/test-Subcollection.R
@@ -309,7 +309,7 @@ test_that(paste("move raises exception if newLocationInCollection",
     fish <- collection$get("animal/fish")
 
     expect_that(fish$move("objects/dog"),
-                throws_error("Unable to get destination subcollection"))
+                throws_error("Unable to get destination subcollection."))
 })
 
 test_that("move moves subcollection inside collection tree", {
@@ -358,3 +358,87 @@ test_that(paste("getSizeInBytes delegates size calculation",
 
     expect_that(resourceSize, equals(100))
 })
+
+#########################
+test_that(paste("copy raises exception if subcollection",
+                "doesn't belong to any collection"), {
+
+    animal <- Subcollection$new("animal")
+
+    expect_that(animal$copy("new/location"),
+                throws_error("Subcollection doesn't belong to any collection."))
+})
+
+test_that("copy raises exception if new location contains content with the same name", {
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "fish")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+    fish <- collection$get("animal/fish")
+
+    expect_that(fish$copy("fish"),
+                throws_error("Destination already contains content with same name."))
+
+})
+
+test_that(paste("copy raises exception if location parameter is invalid"), {
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "ball")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+
+    collection <- Collection$new(api, "myUUID")
+    fish <- collection$get("animal/fish")
+
+    expect_that(fish$copy("objects/dog"),
+                throws_error("Unable to get destination subcollection."))
+})
+
+test_that("copy copies subcollection inside collection tree", {
+
+    collectionContent <- c("animal",
+                           "animal/fish",
+                           "animal/dog",
+                           "animal/fish/shark",
+                           "ball")
+    fakeREST <- FakeRESTService$new(collectionContent)
+
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
+    fish <- collection$get("animal/fish")
+
+    fish$copy("fish")
+    fishExistsOnOldLocation <- !is.null(collection$get("animal/fish"))
+    fishExistsOnNewLocation <- !is.null(collection$get("fish"))
+
+    expect_that(fishExistsOnOldLocation, is_true())
+    expect_that(fishExistsOnNewLocation, is_true())
+})
+
+test_that("duplicate performs deep cloning of Subcollection", {
+    foo <- ArvadosFile$new("foo")
+    bar <- ArvadosFile$new("bar")
+    sub <- Subcollection$new("qux")
+    sub$add(foo)
+    sub$add(bar)
+
+    newSub1 <- sub$duplicate()
+    newSub2 <- sub$duplicate("quux")
+
+    expect_that(newSub1$getFileListing(), equals(sub$getFileListing()))
+    expect_that(sort(newSub2$getFileListing()), equals(c("quux/bar", "quux/foo")))
+})

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list