[ARVADOS] updated: 1.1.3-152-gf00ce9a

Git user git at public.curoverse.com
Fri Mar 9 09:07:52 EST 2018


Summary of changes:
 sdk/R/NAMESPACE                           |   47 -
 sdk/R/R/Arvados.R                         | 4301 ++++++--------------------
 sdk/R/R/ArvadosClasses.R                  | 4689 -----------------------------
 sdk/R/R/Collection.R                      |   80 +-
 sdk/R/R/autoGenAPI.R                      |  206 +-
 sdk/R/man/ApiClient.Rd                    |   36 -
 sdk/R/man/ApiClientAuthorization.Rd       |   38 -
 sdk/R/man/ApiClientAuthorizationList.Rd   |   28 -
 sdk/R/man/ApiClientList.Rd                |   28 -
 sdk/R/man/AuthorizedKey.Rd                |   38 -
 sdk/R/man/AuthorizedKeyList.Rd            |   28 -
 sdk/R/man/CollectionList.Rd               |   28 -
 sdk/R/man/Container.Rd                    |   56 -
 sdk/R/man/ContainerList.Rd                |   28 -
 sdk/R/man/ContainerRequest.Rd             |   64 -
 sdk/R/man/ContainerRequestList.Rd         |   28 -
 sdk/R/man/Group.Rd                        |   39 -
 sdk/R/man/GroupList.Rd                    |   28 -
 sdk/R/man/Human.Rd                        |   33 -
 sdk/R/man/HumanList.Rd                    |   28 -
 sdk/R/man/Job.Rd                          |   67 -
 sdk/R/man/JobList.Rd                      |   28 -
 sdk/R/man/JobTask.Rd                      |   45 -
 sdk/R/man/JobTaskList.Rd                  |   28 -
 sdk/R/man/KeepDisk.Rd                     |   46 -
 sdk/R/man/KeepDiskList.Rd                 |   28 -
 sdk/R/man/KeepService.Rd                  |   38 -
 sdk/R/man/KeepServiceList.Rd              |   28 -
 sdk/R/man/Link.Rd                         |   38 -
 sdk/R/man/LinkList.Rd                     |   28 -
 sdk/R/man/Log.Rd                          |   40 -
 sdk/R/man/LogList.Rd                      |   28 -
 sdk/R/man/Node.Rd                         |   43 -
 sdk/R/man/NodeList.Rd                     |   28 -
 sdk/R/man/PipelineInstance.Rd             |   44 -
 sdk/R/man/PipelineInstanceList.Rd         |   28 -
 sdk/R/man/PipelineTemplate.Rd             |   36 -
 sdk/R/man/PipelineTemplateList.Rd         |   28 -
 sdk/R/man/Repository.Rd                   |   33 -
 sdk/R/man/RepositoryList.Rd               |   28 -
 sdk/R/man/Specimen.Rd                     |   35 -
 sdk/R/man/SpecimenList.Rd                 |   28 -
 sdk/R/man/Trait.Rd                        |   34 -
 sdk/R/man/TraitList.Rd                    |   28 -
 sdk/R/man/User.Rd                         |   43 -
 sdk/R/man/UserAgreement.Rd                |   53 -
 sdk/R/man/UserAgreementList.Rd            |   28 -
 sdk/R/man/UserList.Rd                     |   28 -
 sdk/R/man/VirtualMachine.Rd               |   33 -
 sdk/R/man/VirtualMachineList.Rd           |   28 -
 sdk/R/man/Workflow.Rd                     |   36 -
 sdk/R/man/WorkflowList.Rd                 |   28 -
 sdk/R/tests/testthat/test-ArvadosFile.R   |   53 +-
 sdk/R/tests/testthat/test-Collection.R    |   75 +-
 sdk/R/tests/testthat/test-Subcollection.R |   33 +-
 55 files changed, 1016 insertions(+), 10108 deletions(-)
 delete mode 100644 sdk/R/R/ArvadosClasses.R
 delete mode 100644 sdk/R/man/ApiClient.Rd
 delete mode 100644 sdk/R/man/ApiClientAuthorization.Rd
 delete mode 100644 sdk/R/man/ApiClientAuthorizationList.Rd
 delete mode 100644 sdk/R/man/ApiClientList.Rd
 delete mode 100644 sdk/R/man/AuthorizedKey.Rd
 delete mode 100644 sdk/R/man/AuthorizedKeyList.Rd
 delete mode 100644 sdk/R/man/CollectionList.Rd
 delete mode 100644 sdk/R/man/Container.Rd
 delete mode 100644 sdk/R/man/ContainerList.Rd
 delete mode 100644 sdk/R/man/ContainerRequest.Rd
 delete mode 100644 sdk/R/man/ContainerRequestList.Rd
 delete mode 100644 sdk/R/man/Group.Rd
 delete mode 100644 sdk/R/man/GroupList.Rd
 delete mode 100644 sdk/R/man/Human.Rd
 delete mode 100644 sdk/R/man/HumanList.Rd
 delete mode 100644 sdk/R/man/Job.Rd
 delete mode 100644 sdk/R/man/JobList.Rd
 delete mode 100644 sdk/R/man/JobTask.Rd
 delete mode 100644 sdk/R/man/JobTaskList.Rd
 delete mode 100644 sdk/R/man/KeepDisk.Rd
 delete mode 100644 sdk/R/man/KeepDiskList.Rd
 delete mode 100644 sdk/R/man/KeepService.Rd
 delete mode 100644 sdk/R/man/KeepServiceList.Rd
 delete mode 100644 sdk/R/man/Link.Rd
 delete mode 100644 sdk/R/man/LinkList.Rd
 delete mode 100644 sdk/R/man/Log.Rd
 delete mode 100644 sdk/R/man/LogList.Rd
 delete mode 100644 sdk/R/man/Node.Rd
 delete mode 100644 sdk/R/man/NodeList.Rd
 delete mode 100644 sdk/R/man/PipelineInstance.Rd
 delete mode 100644 sdk/R/man/PipelineInstanceList.Rd
 delete mode 100644 sdk/R/man/PipelineTemplate.Rd
 delete mode 100644 sdk/R/man/PipelineTemplateList.Rd
 delete mode 100644 sdk/R/man/Repository.Rd
 delete mode 100644 sdk/R/man/RepositoryList.Rd
 delete mode 100644 sdk/R/man/Specimen.Rd
 delete mode 100644 sdk/R/man/SpecimenList.Rd
 delete mode 100644 sdk/R/man/Trait.Rd
 delete mode 100644 sdk/R/man/TraitList.Rd
 delete mode 100644 sdk/R/man/User.Rd
 delete mode 100644 sdk/R/man/UserAgreement.Rd
 delete mode 100644 sdk/R/man/UserAgreementList.Rd
 delete mode 100644 sdk/R/man/UserList.Rd
 delete mode 100644 sdk/R/man/VirtualMachine.Rd
 delete mode 100644 sdk/R/man/VirtualMachineList.Rd
 delete mode 100644 sdk/R/man/Workflow.Rd
 delete mode 100644 sdk/R/man/WorkflowList.Rd

       via  f00ce9a30d252386634c79bc0a40da2e7da00de2 (commit)
      from  74d3e30605cc34564b2547cbb07dcfbd39e76f5c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit f00ce9a30d252386634c79bc0a40da2e7da00de2
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date:   Fri Mar 9 15:05:38 2018 +0100

    Removed all autogenerated Arvados classes and updated rest of the code to reflect that
    change.
    
    Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>

diff --git a/sdk/R/NAMESPACE b/sdk/R/NAMESPACE
index e6cf09b..de906aa 100644
--- a/sdk/R/NAMESPACE
+++ b/sdk/R/NAMESPACE
@@ -3,55 +3,8 @@
 S3method(print,ArvadosFile)
 S3method(print,Collection)
 S3method(print,Subcollection)
-export(ApiClient)
-export(ApiClientAuthorization)
-export(ApiClientAuthorizationList)
-export(ApiClientList)
 export(Arvados)
 export(ArvadosFile)
-export(AuthorizedKey)
-export(AuthorizedKeyList)
 export(Collection)
-export(CollectionList)
-export(Container)
-export(ContainerList)
-export(ContainerRequest)
-export(ContainerRequestList)
-export(Group)
-export(GroupList)
-export(Human)
-export(HumanList)
-export(Job)
-export(JobList)
-export(JobTask)
-export(JobTaskList)
-export(KeepDisk)
-export(KeepDiskList)
-export(KeepService)
-export(KeepServiceList)
-export(Link)
-export(LinkList)
-export(Log)
-export(LogList)
-export(Node)
-export(NodeList)
-export(PipelineInstance)
-export(PipelineInstanceList)
-export(PipelineTemplate)
-export(PipelineTemplateList)
-export(Repository)
-export(RepositoryList)
-export(Specimen)
-export(SpecimenList)
 export(Subcollection)
-export(Trait)
-export(TraitList)
-export(User)
-export(UserAgreement)
-export(UserAgreementList)
-export(UserList)
-export(VirtualMachine)
-export(VirtualMachineList)
-export(Workflow)
-export(WorkflowList)
 export(generateAPI)
diff --git a/sdk/R/R/Arvados.R b/sdk/R/R/Arvados.R
index 2bba602..b2b40ef 100644
--- a/sdk/R/R/Arvados.R
+++ b/sdk/R/R/Arvados.R
@@ -164,7 +164,7 @@ NULL
 
 #' api_client_authorizations.create is a method defined in Arvados class.
 #' 
-#' @usage arv$api_client_authorizations.create(api_client_authorization,
+#' @usage arv$api_client_authorizations.create(apiclientauthorization,
 #' 	ensure_unique_name = "false")
 #' @param apiClientAuthorization ApiClientAuthorization object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -174,7 +174,7 @@ NULL
 
 #' api_client_authorizations.update is a method defined in Arvados class.
 #' 
-#' @usage arv$api_client_authorizations.update(api_client_authorization,
+#' @usage arv$api_client_authorizations.update(apiclientauthorization,
 #' 	uuid)
 #' @param apiClientAuthorization ApiClientAuthorization object.
 #' @param uuid The UUID of the ApiClientAuthorization in question.
@@ -269,7 +269,7 @@ NULL
 
 #' api_clients.create is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.create(api_client,
+#' @usage arv$api_clients.create(apiclient,
 #' 	ensure_unique_name = "false")
 #' @param apiClient ApiClient object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -279,7 +279,7 @@ NULL
 
 #' api_clients.update is a method defined in Arvados class.
 #' 
-#' @usage arv$api_clients.update(api_client,
+#' @usage arv$api_clients.update(apiclient,
 #' 	uuid)
 #' @param apiClient ApiClient object.
 #' @param uuid The UUID of the ApiClient in question.
@@ -357,7 +357,7 @@ NULL
 
 #' container_requests.create is a method defined in Arvados class.
 #' 
-#' @usage arv$container_requests.create(container_request,
+#' @usage arv$container_requests.create(containerrequest,
 #' 	ensure_unique_name = "false")
 #' @param containerRequest ContainerRequest object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -367,7 +367,7 @@ NULL
 
 #' container_requests.update is a method defined in Arvados class.
 #' 
-#' @usage arv$container_requests.update(container_request,
+#' @usage arv$container_requests.update(containerrequest,
 #' 	uuid)
 #' @param containerRequest ContainerRequest object.
 #' @param uuid The UUID of the ContainerRequest in question.
@@ -445,7 +445,7 @@ NULL
 
 #' authorized_keys.create is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.create(authorized_key,
+#' @usage arv$authorized_keys.create(authorizedkey,
 #' 	ensure_unique_name = "false")
 #' @param authorizedKey AuthorizedKey object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -455,7 +455,7 @@ NULL
 
 #' authorized_keys.update is a method defined in Arvados class.
 #' 
-#' @usage arv$authorized_keys.update(authorized_key,
+#' @usage arv$authorized_keys.update(authorizedkey,
 #' 	uuid)
 #' @param authorizedKey AuthorizedKey object.
 #' @param uuid The UUID of the AuthorizedKey in question.
@@ -860,8 +860,7 @@ NULL
 
 #' job_tasks.create is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.create(job_task,
-#' 	ensure_unique_name = "false")
+#' @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.
 #' @return JobTask object.
@@ -870,8 +869,7 @@ NULL
 
 #' job_tasks.update is a method defined in Arvados class.
 #' 
-#' @usage arv$job_tasks.update(job_task,
-#' 	uuid)
+#' @usage arv$job_tasks.update(jobtask, uuid)
 #' @param jobTask JobTask object.
 #' @param uuid The UUID of the JobTask in question.
 #' @return JobTask object.
@@ -1174,7 +1172,7 @@ NULL
 
 #' keep_disks.create is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_disks.create(keep_disk,
+#' @usage arv$keep_disks.create(keepdisk,
 #' 	ensure_unique_name = "false")
 #' @param keepDisk KeepDisk object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -1184,7 +1182,7 @@ NULL
 
 #' keep_disks.update is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_disks.update(keep_disk,
+#' @usage arv$keep_disks.update(keepdisk,
 #' 	uuid)
 #' @param keepDisk KeepDisk object.
 #' @param uuid The UUID of the KeepDisk in question.
@@ -1278,7 +1276,7 @@ NULL
 
 #' keep_services.create is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_services.create(keep_service,
+#' @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.
@@ -1288,7 +1286,7 @@ NULL
 
 #' keep_services.update is a method defined in Arvados class.
 #' 
-#' @usage arv$keep_services.update(keep_service,
+#' @usage arv$keep_services.update(keepservice,
 #' 	uuid)
 #' @param keepService KeepService object.
 #' @param uuid The UUID of the KeepService in question.
@@ -1373,7 +1371,7 @@ NULL
 
 #' pipeline_templates.create is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.create(pipeline_template,
+#' @usage arv$pipeline_templates.create(pipelinetemplate,
 #' 	ensure_unique_name = "false")
 #' @param pipelineTemplate PipelineTemplate object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -1383,7 +1381,7 @@ NULL
 
 #' pipeline_templates.update is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_templates.update(pipeline_template,
+#' @usage arv$pipeline_templates.update(pipelinetemplate,
 #' 	uuid)
 #' @param pipelineTemplate PipelineTemplate object.
 #' @param uuid The UUID of the PipelineTemplate in question.
@@ -1461,7 +1459,7 @@ NULL
 
 #' pipeline_instances.create is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.create(pipeline_instance,
+#' @usage arv$pipeline_instances.create(pipelineinstance,
 #' 	ensure_unique_name = "false")
 #' @param pipelineInstance PipelineInstance object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -1471,7 +1469,7 @@ NULL
 
 #' pipeline_instances.update is a method defined in Arvados class.
 #' 
-#' @usage arv$pipeline_instances.update(pipeline_instance,
+#' @usage arv$pipeline_instances.update(pipelineinstance,
 #' 	uuid)
 #' @param pipelineInstance PipelineInstance object.
 #' @param uuid The UUID of the PipelineInstance in question.
@@ -2009,7 +2007,7 @@ NULL
 
 #' virtual_machines.create is a method defined in Arvados class.
 #' 
-#' @usage arv$virtual_machines.create(virtual_machine,
+#' @usage arv$virtual_machines.create(virtualmachine,
 #' 	ensure_unique_name = "false")
 #' @param virtualMachine VirtualMachine object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -2019,7 +2017,7 @@ NULL
 
 #' virtual_machines.update is a method defined in Arvados class.
 #' 
-#' @usage arv$virtual_machines.update(virtual_machine,
+#' @usage arv$virtual_machines.update(virtualmachine,
 #' 	uuid)
 #' @param virtualMachine VirtualMachine object.
 #' @param uuid The UUID of the VirtualMachine in question.
@@ -2324,7 +2322,7 @@ NULL
 
 #' user_agreements.create is a method defined in Arvados class.
 #' 
-#' @usage arv$user_agreements.create(user_agreement,
+#' @usage arv$user_agreements.create(useragreement,
 #' 	ensure_unique_name = "false")
 #' @param userAgreement UserAgreement object.
 #' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
@@ -2334,7 +2332,7 @@ NULL
 
 #' user_agreements.update is a method defined in Arvados class.
 #' 
-#' @usage arv$user_agreements.update(user_agreement,
+#' @usage arv$user_agreements.update(useragreement,
 #' 	uuid)
 #' @param userAgreement UserAgreement object.
 #' @param uuid The UUID of the UserAgreement in question.
@@ -2443,7 +2441,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -2453,21 +2452,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.index = function(filters = NULL, where = NULL,
@@ -2481,6 +2466,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -2490,15 +2476,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.create = function(user, ensure_unique_name = "false")
@@ -2508,7 +2486,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- user$toJSON()
+			
+			if(length(user) > 0)
+				body <- jsonlite::toJSON(list(user = user), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -2517,21 +2500,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.update = function(user, uuid)
@@ -2540,8 +2509,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- user$toJSON()
+			queryArgs <- NULL
+			
+			if(length(user) > 0)
+				body <- jsonlite::toJSON(list(user = user), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -2550,21 +2524,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.delete = function(uuid)
@@ -2573,7 +2533,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -2583,21 +2544,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.current = function()
@@ -2607,6 +2554,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -2616,21 +2564,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.system = function()
@@ -2640,6 +2574,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -2649,21 +2584,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.activate = function(uuid)
@@ -2672,7 +2593,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -2682,21 +2604,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.setup = function(user = NULL, openid_prefix = NULL,
@@ -2709,6 +2617,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -2718,21 +2627,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.unsetup = function(uuid)
@@ -2741,7 +2636,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -2751,21 +2647,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.update_uuid = function(uuid, new_uuid)
@@ -2774,7 +2656,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid, new_uuid = new_uuid)
+			queryArgs <- list(new_uuid = new_uuid)
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -2784,21 +2667,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.list = function(filters = NULL, where = NULL,
@@ -2812,6 +2681,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -2821,15 +2691,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.show = function(uuid)
@@ -2838,7 +2700,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -2848,21 +2711,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		users.destroy = function(uuid)
@@ -2871,7 +2720,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -2881,21 +2731,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- User$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, email = resource$email,
-				first_name = resource$first_name, last_name = resource$last_name,
-				identity_url = resource$identity_url, is_admin = resource$is_admin,
-				prefs = resource$prefs, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				is_active = resource$is_active, username = resource$username)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.get = function(uuid)
@@ -2904,7 +2740,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -2914,20 +2751,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.index = function(filters = NULL,
@@ -2942,6 +2766,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -2951,18 +2776,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorizationList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		api_client_authorizations.create = function(api_client_authorization,
+		api_client_authorizations.create = function(apiclientauthorization,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations")
@@ -2970,7 +2787,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- api_client_authorization$toJSON()
+			
+			if(length(apiclientauthorization) > 0)
+				body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -2979,30 +2801,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		api_client_authorizations.update = function(api_client_authorization, uuid)
+		api_client_authorizations.update = function(apiclientauthorization, uuid)
 		{
 			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- api_client_authorization$toJSON()
+			queryArgs <- NULL
+			
+			if(length(apiclientauthorization) > 0)
+				body <- jsonlite::toJSON(list(apiclientauthorization = apiclientauthorization), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3011,20 +2825,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.delete = function(uuid)
@@ -3033,7 +2834,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3043,20 +2845,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.create_system_auth = function(api_client_id = NULL, scopes = NULL)
@@ -3067,6 +2856,7 @@ Arvados <- R6::R6Class(
 			                "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,
@@ -3076,20 +2866,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.current = function()
@@ -3099,6 +2876,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3108,20 +2886,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.list = function(filters = NULL,
@@ -3136,6 +2901,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3145,15 +2911,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorizationList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.show = function(uuid)
@@ -3162,7 +2920,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3172,20 +2931,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_client_authorizations.destroy = function(uuid)
@@ -3194,7 +2940,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3204,20 +2951,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientAuthorization$new(uuid = resource$uuid,
-				etag = resource$etag, api_token = resource$api_token,
-				api_client_id = resource$api_client_id, user_id = resource$user_id,
-				created_by_ip_address = resource$created_by_ip_address,
-				last_used_by_ip_address = resource$last_used_by_ip_address,
-				last_used_at = resource$last_used_at, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				default_owner_uuid = resource$default_owner_uuid,
-				scopes = resource$scopes)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.get = function(uuid)
@@ -3226,7 +2960,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3236,18 +2971,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.index = function(filters = NULL,
@@ -3262,6 +2986,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3271,25 +2996,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		api_clients.create = function(api_client, ensure_unique_name = "false")
+		api_clients.create = function(apiclient, ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("api_clients")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- api_client$toJSON()
+			
+			if(length(apiclient) > 0)
+				body <- jsonlite::toJSON(list(apiclient = apiclient), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3298,28 +3020,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		api_clients.update = function(api_client, uuid)
+		api_clients.update = function(apiclient, uuid)
 		{
 			endPoint <- stringr::str_interp("api_clients/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- api_client$toJSON()
+			queryArgs <- NULL
+			
+			if(length(apiclient) > 0)
+				body <- jsonlite::toJSON(list(apiclient = apiclient), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3328,18 +3044,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.delete = function(uuid)
@@ -3348,7 +3053,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3358,18 +3064,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.list = function(filters = NULL,
@@ -3384,6 +3079,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3393,15 +3089,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClientList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.show = function(uuid)
@@ -3410,7 +3098,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3420,18 +3109,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		api_clients.destroy = function(uuid)
@@ -3440,7 +3118,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3450,18 +3129,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ApiClient$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				url_prefix = resource$url_prefix, created_at = resource$created_at,
-				updated_at = resource$updated_at, is_trusted = resource$is_trusted)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.get = function(uuid)
@@ -3470,7 +3138,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3480,31 +3149,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.index = function(filters = NULL,
@@ -3519,6 +3164,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3528,18 +3174,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequestList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		container_requests.create = function(container_request,
+		container_requests.create = function(containerrequest,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("container_requests")
@@ -3547,7 +3185,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- container_request$toJSON()
+			
+			if(length(containerrequest) > 0)
+				body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3556,41 +3199,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		container_requests.update = function(container_request, uuid)
+		container_requests.update = function(containerrequest, 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 <- list(uuid = uuid)
-			body <- container_request$toJSON()
+			queryArgs <- NULL
+			
+			if(length(containerrequest) > 0)
+				body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3599,31 +3223,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.delete = function(uuid)
@@ -3632,7 +3232,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3642,31 +3243,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.list = function(filters = NULL,
@@ -3681,6 +3258,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3690,15 +3268,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequestList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.show = function(uuid)
@@ -3707,7 +3277,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3717,31 +3288,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		container_requests.destroy = function(uuid)
@@ -3750,7 +3297,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3760,31 +3308,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerRequest$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, state = resource$state,
-				requesting_container_uuid = resource$requesting_container_uuid,
-				container_uuid = resource$container_uuid,
-				container_count_max = resource$container_count_max,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				container_image = resource$container_image,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				priority = resource$priority, expires_at = resource$expires_at,
-				filters = resource$filters, updated_at = resource$updated_at,
-				container_count = resource$container_count,
-				use_existing = resource$use_existing, scheduling_parameters = resource$scheduling_parameters,
-				output_uuid = resource$output_uuid, log_uuid = resource$log_uuid,
-				output_name = resource$output_name, output_ttl = resource$output_ttl)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.get = function(uuid)
@@ -3793,7 +3317,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3803,19 +3328,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.index = function(filters = NULL,
@@ -3830,6 +3343,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3839,18 +3353,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKeyList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		authorized_keys.create = function(authorized_key,
+		authorized_keys.create = function(authorizedkey,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("authorized_keys")
@@ -3858,7 +3364,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- authorized_key$toJSON()
+			
+			if(length(authorizedkey) > 0)
+				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3867,29 +3378,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		authorized_keys.update = function(authorized_key, uuid)
+		authorized_keys.update = function(authorizedkey, 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 <- list(uuid = uuid)
-			body <- authorized_key$toJSON()
+			queryArgs <- NULL
+			
+			if(length(authorizedkey) > 0)
+				body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -3898,19 +3402,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.delete = function(uuid)
@@ -3919,7 +3411,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -3929,19 +3422,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.list = function(filters = NULL,
@@ -3956,6 +3437,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -3965,15 +3447,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKeyList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.show = function(uuid)
@@ -3982,7 +3456,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -3992,19 +3467,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		authorized_keys.destroy = function(uuid)
@@ -4013,7 +3476,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -4023,19 +3487,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- AuthorizedKey$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				key_type = resource$key_type, authorized_user_uuid = resource$authorized_user_uuid,
-				public_key = resource$public_key, expires_at = resource$expires_at,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.get = function(uuid)
@@ -4044,7 +3496,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4054,28 +3507,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.index = function(filters = NULL,
@@ -4091,6 +3523,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -4100,15 +3533,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- CollectionList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.create = function(collection, ensure_unique_name = "false")
@@ -4118,7 +3543,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- collection$toJSON()
+			
+			if(length(collection) > 0)
+				body <- jsonlite::toJSON(list(collection = collection), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -4127,28 +3557,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.update = function(collection, uuid)
@@ -4157,8 +3566,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- collection$toJSON()
+			queryArgs <- NULL
+			
+			if(length(collection) > 0)
+				body <- jsonlite::toJSON(list(collection = collection), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -4167,28 +3581,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.delete = function(uuid)
@@ -4197,7 +3590,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -4207,28 +3601,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.provenance = function(uuid)
@@ -4237,7 +3610,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4247,28 +3621,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.used_by = function(uuid)
@@ -4277,7 +3630,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4287,28 +3641,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.trash = function(uuid)
@@ -4317,7 +3650,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -4327,28 +3661,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.untrash = function(uuid)
@@ -4357,7 +3670,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -4367,28 +3681,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.list = function(filters = NULL,
@@ -4404,6 +3697,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -4413,15 +3707,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- CollectionList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.show = function(uuid)
@@ -4430,7 +3716,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4440,28 +3727,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		collections.destroy = function(uuid)
@@ -4470,7 +3736,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -4480,28 +3747,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Collection$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			result$setRESTService(private$REST)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.get = function(uuid)
@@ -4510,7 +3756,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4520,26 +3767,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.index = function(filters = NULL,
@@ -4554,6 +3782,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -4563,15 +3792,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.create = function(container, ensure_unique_name = "false")
@@ -4581,7 +3802,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- container$toJSON()
+			
+			if(length(container) > 0)
+				body <- jsonlite::toJSON(list(container = container), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -4590,26 +3816,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.update = function(container, uuid)
@@ -4618,8 +3825,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- container$toJSON()
+			queryArgs <- NULL
+			
+			if(length(container) > 0)
+				body <- jsonlite::toJSON(list(container = container), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -4628,26 +3840,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.delete = function(uuid)
@@ -4656,7 +3849,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -4666,26 +3860,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.auth = function(uuid)
@@ -4694,7 +3869,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4704,26 +3880,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.lock = function(uuid)
@@ -4732,7 +3889,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -4742,26 +3900,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.unlock = function(uuid)
@@ -4770,7 +3909,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -4780,26 +3920,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.current = function()
@@ -4809,6 +3930,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4818,26 +3940,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.list = function(filters = NULL,
@@ -4852,6 +3955,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -4861,15 +3965,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- ContainerList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.show = function(uuid)
@@ -4878,7 +3974,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4888,26 +3985,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		containers.destroy = function(uuid)
@@ -4916,7 +3994,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -4926,26 +4005,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Container$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				state = resource$state, started_at = resource$started_at,
-				finished_at = resource$finished_at, log = resource$log,
-				environment = resource$environment, cwd = resource$cwd,
-				command = resource$command, output_path = resource$output_path,
-				mounts = resource$mounts, runtime_constraints = resource$runtime_constraints,
-				output = resource$output, container_image = resource$container_image,
-				progress = resource$progress, priority = resource$priority,
-				updated_at = resource$updated_at, exit_code = resource$exit_code,
-				auth_uuid = resource$auth_uuid, locked_by_uuid = resource$locked_by_uuid,
-				scheduling_parameters = resource$scheduling_parameters)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.get = function(uuid)
@@ -4954,7 +4014,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -4964,17 +4025,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.index = function(filters = NULL, where = NULL,
@@ -4988,6 +4039,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -4997,15 +4049,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- HumanList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.create = function(human, ensure_unique_name = "false")
@@ -5015,7 +4059,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- human$toJSON()
+			
+			if(length(human) > 0)
+				body <- jsonlite::toJSON(list(human = human), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5024,17 +4073,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.update = function(human, uuid)
@@ -5043,8 +4082,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- human$toJSON()
+			queryArgs <- NULL
+			
+			if(length(human) > 0)
+				body <- jsonlite::toJSON(list(human = human), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5053,17 +4097,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.delete = function(uuid)
@@ -5072,7 +4106,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5082,17 +4117,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.list = function(filters = NULL, where = NULL,
@@ -5106,6 +4131,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5115,15 +4141,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- HumanList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.show = function(uuid)
@@ -5132,7 +4150,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5142,17 +4161,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		humans.destroy = function(uuid)
@@ -5161,7 +4170,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5171,17 +4181,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Human$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, properties = resource$properties,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.get = function(uuid)
@@ -5190,7 +4190,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5200,22 +4201,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.index = function(filters = NULL,
@@ -5230,6 +4216,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5239,25 +4226,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTaskList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		job_tasks.create = function(job_task, ensure_unique_name = "false")
+		job_tasks.create = function(jobtask, ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("job_tasks")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- job_task$toJSON()
+			
+			if(length(jobtask) > 0)
+				body <- jsonlite::toJSON(list(jobtask = jobtask), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5266,32 +4250,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		job_tasks.update = function(job_task, uuid)
+		job_tasks.update = function(jobtask, uuid)
 		{
 			endPoint <- stringr::str_interp("job_tasks/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- job_task$toJSON()
+			queryArgs <- NULL
+			
+			if(length(jobtask) > 0)
+				body <- jsonlite::toJSON(list(jobtask = jobtask), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5300,22 +4274,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.delete = function(uuid)
@@ -5324,7 +4283,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5334,22 +4294,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.list = function(filters = NULL,
@@ -5364,6 +4309,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5373,15 +4319,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTaskList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.show = function(uuid)
@@ -5390,7 +4328,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5400,22 +4339,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		job_tasks.destroy = function(uuid)
@@ -5424,7 +4348,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5434,22 +4359,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobTask$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, job_uuid = resource$job_uuid,
-				sequence = resource$sequence, parameters = resource$parameters,
-				output = resource$output, progress = resource$progress,
-				success = resource$success, created_at = resource$created_at,
-				updated_at = resource$updated_at, created_by_job_task_uuid = resource$created_by_job_task_uuid,
-				qsequence = resource$qsequence, started_at = resource$started_at,
-				finished_at = resource$finished_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.get = function(uuid)
@@ -5458,7 +4368,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5468,19 +4379,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.index = function(filters = NULL, where = NULL,
@@ -5494,6 +4393,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5503,15 +4403,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- LinkList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.create = function(link, ensure_unique_name = "false")
@@ -5521,7 +4413,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- link$toJSON()
+			
+			if(length(link) > 0)
+				body <- jsonlite::toJSON(list(link = link), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5530,19 +4427,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.update = function(link, uuid)
@@ -5551,8 +4436,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- link$toJSON()
+			queryArgs <- NULL
+			
+			if(length(link) > 0)
+				body <- jsonlite::toJSON(list(link = link), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5561,19 +4451,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.delete = function(uuid)
@@ -5582,7 +4460,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5592,19 +4471,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.list = function(filters = NULL, where = NULL,
@@ -5618,6 +4485,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5627,15 +4495,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- LinkList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.show = function(uuid)
@@ -5644,7 +4504,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5654,19 +4515,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.destroy = function(uuid)
@@ -5675,7 +4524,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5685,19 +4535,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		links.get_permissions = function(uuid)
@@ -5706,7 +4544,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5716,19 +4555,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Link$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, tail_uuid = resource$tail_uuid,
-				link_class = resource$link_class, name = resource$name,
-				head_uuid = resource$head_uuid, properties = resource$properties,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.get = function(uuid)
@@ -5737,7 +4564,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -5747,32 +4575,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.index = function(filters = NULL, where = NULL,
@@ -5786,6 +4589,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5795,15 +4599,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.create = function(job, ensure_unique_name = "false",
@@ -5818,7 +4614,12 @@ Arvados <- R6::R6Class(
 				find_or_create = find_or_create, filters = filters,
 				minimum_script_version = minimum_script_version,
 				exclude_script_versions = exclude_script_versions)
-			body <- job$toJSON()
+			
+			if(length(job) > 0)
+				body <- jsonlite::toJSON(list(job = job), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5827,32 +4628,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.update = function(job, uuid)
@@ -5861,8 +4637,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- job$toJSON()
+			queryArgs <- NULL
+			
+			if(length(job) > 0)
+				body <- jsonlite::toJSON(list(job = job), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -5871,32 +4652,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.delete = function(uuid)
@@ -5905,7 +4661,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -5915,32 +4672,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.queue = function(filters = NULL, where = NULL,
@@ -5954,6 +4686,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -5963,32 +4696,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.queue_size = function()
@@ -5998,6 +4706,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6007,32 +4716,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.cancel = function(uuid)
@@ -6041,7 +4725,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -6051,32 +4736,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.lock = function(uuid)
@@ -6085,7 +4745,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -6095,32 +4756,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.list = function(filters = NULL, where = NULL,
@@ -6134,6 +4770,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6143,15 +4780,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- JobList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.show = function(uuid)
@@ -6160,7 +4789,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6170,32 +4800,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		jobs.destroy = function(uuid)
@@ -6204,7 +4809,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6214,32 +4820,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Job$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, submit_id = resource$submit_id,
-				script = resource$script, script_version = resource$script_version,
-				script_parameters = resource$script_parameters,
-				cancelled_by_client_uuid = resource$cancelled_by_client_uuid,
-				cancelled_by_user_uuid = resource$cancelled_by_user_uuid,
-				cancelled_at = resource$cancelled_at, started_at = resource$started_at,
-				finished_at = resource$finished_at, running = resource$running,
-				success = resource$success, output = resource$output,
-				created_at = resource$created_at, updated_at = resource$updated_at,
-				is_locked_by_uuid = resource$is_locked_by_uuid,
-				log = resource$log, tasks_summary = resource$tasks_summary,
-				runtime_constraints = resource$runtime_constraints,
-				nondeterministic = resource$nondeterministic,
-				repository = resource$repository, supplied_script_version = resource$supplied_script_version,
-				docker_image_locator = resource$docker_image_locator,
-				priority = resource$priority, description = resource$description,
-				state = resource$state, arvados_sdk_version = resource$arvados_sdk_version,
-				components = resource$components, script_parameters_digest = resource$script_parameters_digest)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.get = function(uuid)
@@ -6248,7 +4829,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6258,22 +4840,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.index = function(filters = NULL,
@@ -6288,6 +4855,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6297,25 +4865,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDiskList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		keep_disks.create = function(keep_disk, ensure_unique_name = "false")
+		keep_disks.create = function(keepdisk, ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("keep_disks")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- keep_disk$toJSON()
+			
+			if(length(keepdisk) > 0)
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6324,32 +4889,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		keep_disks.update = function(keep_disk, uuid)
+		keep_disks.update = function(keepdisk, uuid)
 		{
 			endPoint <- stringr::str_interp("keep_disks/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- keep_disk$toJSON()
+			queryArgs <- NULL
+			
+			if(length(keepdisk) > 0)
+				body <- jsonlite::toJSON(list(keepdisk = keepdisk), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6358,22 +4913,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.delete = function(uuid)
@@ -6382,7 +4922,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6392,22 +4933,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.ping = function(uuid = NULL, ping_secret,
@@ -6422,6 +4948,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -6431,22 +4958,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.list = function(filters = NULL,
@@ -6461,6 +4973,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6470,15 +4983,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDiskList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.show = function(uuid)
@@ -6487,7 +4992,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6497,22 +5003,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_disks.destroy = function(uuid)
@@ -6521,7 +5012,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6531,22 +5023,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepDisk$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, ping_secret = resource$ping_secret,
-				node_uuid = resource$node_uuid, filesystem_uuid = resource$filesystem_uuid,
-				bytes_total = resource$bytes_total, bytes_free = resource$bytes_free,
-				is_readable = resource$is_readable, is_writable = resource$is_writable,
-				last_read_at = resource$last_read_at, last_write_at = resource$last_write_at,
-				last_ping_at = resource$last_ping_at, created_at = resource$created_at,
-				updated_at = resource$updated_at, keep_service_uuid = resource$keep_service_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.get = function(uuid)
@@ -6555,7 +5032,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6565,19 +5043,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.index = function(filters = NULL,
@@ -6592,6 +5058,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6601,18 +5068,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepServiceList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		keep_services.create = function(keep_service,
+		keep_services.create = function(keepservice,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("keep_services")
@@ -6620,7 +5079,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- keep_service$toJSON()
+			
+			if(length(keepservice) > 0)
+				body <- jsonlite::toJSON(list(keepservice = keepservice), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6629,29 +5093,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		keep_services.update = function(keep_service, uuid)
+		keep_services.update = function(keepservice, 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 <- list(uuid = uuid)
-			body <- keep_service$toJSON()
+			queryArgs <- NULL
+			
+			if(length(keepservice) > 0)
+				body <- jsonlite::toJSON(list(keepservice = keepservice), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6660,19 +5117,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.delete = function(uuid)
@@ -6681,7 +5126,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6691,19 +5137,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.accessible = function()
@@ -6713,6 +5147,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6722,19 +5157,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.list = function(filters = NULL,
@@ -6749,6 +5172,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6758,15 +5182,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepServiceList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.show = function(uuid)
@@ -6775,7 +5191,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6785,19 +5202,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		keep_services.destroy = function(uuid)
@@ -6806,7 +5211,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6816,19 +5222,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- KeepService$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, service_host = resource$service_host,
-				service_port = resource$service_port, service_ssl_flag = resource$service_ssl_flag,
-				service_type = resource$service_type, created_at = resource$created_at,
-				updated_at = resource$updated_at, read_only = resource$read_only)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.get = function(uuid)
@@ -6837,7 +5231,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -6847,18 +5242,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.index = function(filters = NULL,
@@ -6873,6 +5257,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -6882,18 +5267,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplateList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		pipeline_templates.create = function(pipeline_template,
+		pipeline_templates.create = function(pipelinetemplate,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("pipeline_templates")
@@ -6901,7 +5278,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- pipeline_template$toJSON()
+			
+			if(length(pipelinetemplate) > 0)
+				body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6910,28 +5292,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		pipeline_templates.update = function(pipeline_template, uuid)
+		pipeline_templates.update = function(pipelinetemplate, uuid)
 		{
 			endPoint <- stringr::str_interp("pipeline_templates/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- pipeline_template$toJSON()
+			queryArgs <- NULL
+			
+			if(length(pipelinetemplate) > 0)
+				body <- jsonlite::toJSON(list(pipelinetemplate = pipelinetemplate), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -6940,18 +5316,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.delete = function(uuid)
@@ -6960,7 +5325,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -6970,18 +5336,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.list = function(filters = NULL,
@@ -6996,6 +5351,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7005,15 +5361,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplateList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.show = function(uuid)
@@ -7022,7 +5370,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7032,18 +5381,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_templates.destroy = function(uuid)
@@ -7052,7 +5390,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7062,18 +5401,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineTemplate$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				components = resource$components, updated_at = resource$updated_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.get = function(uuid)
@@ -7082,7 +5410,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7092,21 +5421,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.index = function(filters = NULL,
@@ -7121,6 +5436,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7130,18 +5446,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstanceList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		pipeline_instances.create = function(pipeline_instance,
+		pipeline_instances.create = function(pipelineinstance,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("pipeline_instances")
@@ -7149,7 +5457,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- pipeline_instance$toJSON()
+			
+			if(length(pipelineinstance) > 0)
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7158,31 +5471,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		pipeline_instances.update = function(pipeline_instance, uuid)
+		pipeline_instances.update = function(pipelineinstance, 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(uuid = uuid)
-			body <- pipeline_instance$toJSON()
+			queryArgs <- NULL
+			
+			if(length(pipelineinstance) > 0)
+				body <- jsonlite::toJSON(list(pipelineinstance = pipelineinstance), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7191,21 +5495,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.delete = function(uuid)
@@ -7214,7 +5504,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7224,21 +5515,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.cancel = function(uuid)
@@ -7247,7 +5524,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -7257,21 +5535,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.list = function(filters = NULL,
@@ -7286,6 +5550,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7295,15 +5560,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstanceList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.show = function(uuid)
@@ -7312,7 +5569,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7322,21 +5580,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		pipeline_instances.destroy = function(uuid)
@@ -7345,7 +5589,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7355,21 +5600,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- PipelineInstance$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, pipeline_template_uuid = resource$pipeline_template_uuid,
-				name = resource$name, components = resource$components,
-				updated_at = resource$updated_at, properties = resource$properties,
-				state = resource$state, components_summary = resource$components_summary,
-				started_at = resource$started_at, finished_at = resource$finished_at,
-				description = resource$description)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.get = function(uuid)
@@ -7378,7 +5609,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7388,21 +5620,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.index = function(filters = NULL, where = NULL,
@@ -7416,6 +5634,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7425,15 +5644,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- NodeList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.create = function(node, ensure_unique_name = "false",
@@ -7445,7 +5656,12 @@ Arvados <- R6::R6Class(
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name,
 				assign_slot = assign_slot)
-			body <- node$toJSON()
+			
+			if(length(node) > 0)
+				body <- jsonlite::toJSON(list(node = node), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7454,21 +5670,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.update = function(node, uuid, assign_slot = NULL)
@@ -7477,8 +5679,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid, assign_slot = assign_slot)
-			body <- node$toJSON()
+			queryArgs <- list(assign_slot = assign_slot)
+			
+			if(length(node) > 0)
+				body <- jsonlite::toJSON(list(node = node), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7487,21 +5694,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.delete = function(uuid)
@@ -7510,7 +5703,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7520,21 +5714,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.ping = function(uuid, ping_secret)
@@ -7543,7 +5723,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid, ping_secret = ping_secret)
+			queryArgs <- list(ping_secret = ping_secret)
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -7553,21 +5734,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.list = function(filters = NULL, where = NULL,
@@ -7581,6 +5748,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7590,15 +5758,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- NodeList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.show = function(uuid)
@@ -7607,7 +5767,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7617,21 +5778,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		nodes.destroy = function(uuid)
@@ -7640,7 +5787,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7650,21 +5798,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Node$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, slot_number = resource$slot_number,
-				hostname = resource$hostname, domain = resource$domain,
-				ip_address = resource$ip_address, first_ping_at = resource$first_ping_at,
-				last_ping_at = resource$last_ping_at, info = resource$info,
-				updated_at = resource$updated_at, properties = resource$properties,
-				job_uuid = resource$job_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.get = function(uuid)
@@ -7673,7 +5807,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7683,17 +5818,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.index = function(filters = NULL,
@@ -7708,6 +5833,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7717,15 +5843,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- RepositoryList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.create = function(repository, ensure_unique_name = "false")
@@ -7735,7 +5853,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- repository$toJSON()
+			
+			if(length(repository) > 0)
+				body <- jsonlite::toJSON(list(repository = repository), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7744,17 +5867,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.update = function(repository, uuid)
@@ -7763,8 +5876,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- repository$toJSON()
+			queryArgs <- NULL
+			
+			if(length(repository) > 0)
+				body <- jsonlite::toJSON(list(repository = repository), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -7773,17 +5891,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.delete = function(uuid)
@@ -7792,7 +5900,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7802,17 +5911,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.get_all_permissions = function()
@@ -7822,6 +5921,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7831,17 +5931,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.list = function(filters = NULL,
@@ -7856,6 +5946,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7865,15 +5956,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- RepositoryList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.show = function(uuid)
@@ -7882,7 +5965,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7892,17 +5976,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		repositories.destroy = function(uuid)
@@ -7911,7 +5985,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -7921,17 +5996,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Repository$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.get = function(uuid)
@@ -7940,7 +6005,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -7950,17 +6016,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.index = function(filters = NULL,
@@ -7975,6 +6031,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -7984,15 +6041,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- SpecimenList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.create = function(specimen, ensure_unique_name = "false")
@@ -8002,7 +6051,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- specimen$toJSON()
+			
+			if(length(specimen) > 0)
+				body <- jsonlite::toJSON(list(specimen = specimen), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8011,17 +6065,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.update = function(specimen, uuid)
@@ -8030,8 +6074,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- specimen$toJSON()
+			queryArgs <- NULL
+			
+			if(length(specimen) > 0)
+				body <- jsonlite::toJSON(list(specimen = specimen), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8040,17 +6089,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.delete = function(uuid)
@@ -8059,7 +6098,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8069,17 +6109,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.list = function(filters = NULL,
@@ -8094,6 +6124,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8103,15 +6134,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- SpecimenList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.show = function(uuid)
@@ -8120,7 +6143,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8130,17 +6154,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		specimens.destroy = function(uuid)
@@ -8149,7 +6163,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8159,17 +6174,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Specimen$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, material = resource$material,
-				updated_at = resource$updated_at, properties = resource$properties)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.get = function(uuid)
@@ -8178,7 +6183,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8188,19 +6194,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.index = function(filters = NULL, where = NULL,
@@ -8214,6 +6208,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8223,15 +6218,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- LogList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.create = function(log, ensure_unique_name = "false")
@@ -8241,7 +6228,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- log$toJSON()
+			
+			if(length(log) > 0)
+				body <- jsonlite::toJSON(list(log = log), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8250,19 +6242,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.update = function(log, uuid)
@@ -8271,8 +6251,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- log$toJSON()
+			queryArgs <- NULL
+			
+			if(length(log) > 0)
+				body <- jsonlite::toJSON(list(log = log), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8281,19 +6266,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.delete = function(uuid)
@@ -8302,7 +6275,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8312,19 +6286,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.list = function(filters = NULL, where = NULL,
@@ -8338,6 +6300,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8347,15 +6310,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- LogList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.show = function(uuid)
@@ -8364,7 +6319,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8374,19 +6330,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		logs.destroy = function(uuid)
@@ -8395,7 +6339,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8405,19 +6350,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Log$new(uuid = resource$uuid, etag = resource$etag,
-				owner_uuid = resource$owner_uuid, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				object_uuid = resource$object_uuid, event_at = resource$event_at,
-				event_type = resource$event_type, summary = resource$summary,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at, modified_at = resource$modified_at,
-				object_owner_uuid = resource$object_owner_uuid)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.get = function(uuid)
@@ -8426,7 +6359,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8436,18 +6370,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.index = function(filters = NULL, where = NULL,
@@ -8461,6 +6384,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8470,15 +6394,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- TraitList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.create = function(trait, ensure_unique_name = "false")
@@ -8488,7 +6404,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- trait$toJSON()
+			
+			if(length(trait) > 0)
+				body <- jsonlite::toJSON(list(trait = trait), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8497,18 +6418,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.update = function(trait, uuid)
@@ -8517,8 +6427,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- trait$toJSON()
+			queryArgs <- NULL
+			
+			if(length(trait) > 0)
+				body <- jsonlite::toJSON(list(trait = trait), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8527,18 +6442,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.delete = function(uuid)
@@ -8547,7 +6451,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8557,18 +6462,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.list = function(filters = NULL, where = NULL,
@@ -8582,6 +6476,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8591,15 +6486,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- TraitList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.show = function(uuid)
@@ -8608,7 +6495,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8618,18 +6506,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		traits.destroy = function(uuid)
@@ -8638,7 +6515,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8648,18 +6526,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Trait$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				properties = resource$properties, created_at = resource$created_at,
-				updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.get = function(uuid)
@@ -8668,7 +6535,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8678,17 +6546,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.index = function(filters = NULL,
@@ -8703,6 +6561,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8712,18 +6571,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachineList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		virtual_machines.create = function(virtual_machine,
+		virtual_machines.create = function(virtualmachine,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("virtual_machines")
@@ -8731,7 +6582,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- virtual_machine$toJSON()
+			
+			if(length(virtualmachine) > 0)
+				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8740,27 +6596,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		virtual_machines.update = function(virtual_machine, uuid)
+		virtual_machines.update = function(virtualmachine, uuid)
 		{
 			endPoint <- stringr::str_interp("virtual_machines/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- virtual_machine$toJSON()
+			queryArgs <- NULL
+			
+			if(length(virtualmachine) > 0)
+				body <- jsonlite::toJSON(list(virtualmachine = virtualmachine), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -8769,17 +6620,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.delete = function(uuid)
@@ -8788,7 +6629,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8798,17 +6640,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.logins = function(uuid)
@@ -8817,7 +6649,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8827,17 +6660,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.get_all_logins = function()
@@ -8847,6 +6670,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8856,17 +6680,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.list = function(filters = NULL,
@@ -8881,6 +6695,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -8890,15 +6705,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachineList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.show = function(uuid)
@@ -8907,7 +6714,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8917,17 +6725,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		virtual_machines.destroy = function(uuid)
@@ -8936,7 +6734,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -8946,17 +6745,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- VirtualMachine$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, hostname = resource$hostname,
-				created_at = resource$created_at, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.get = function(uuid)
@@ -8965,7 +6754,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -8975,18 +6765,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.index = function(filters = NULL,
@@ -9001,6 +6780,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -9010,15 +6790,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- WorkflowList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.create = function(workflow, ensure_unique_name = "false")
@@ -9028,7 +6800,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- workflow$toJSON()
+			
+			if(length(workflow) > 0)
+				body <- jsonlite::toJSON(list(workflow = workflow), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9037,18 +6814,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.update = function(workflow, uuid)
@@ -9057,8 +6823,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- workflow$toJSON()
+			queryArgs <- NULL
+			
+			if(length(workflow) > 0)
+				body <- jsonlite::toJSON(list(workflow = workflow), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9067,18 +6838,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.delete = function(uuid)
@@ -9087,7 +6847,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9097,18 +6858,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.list = function(filters = NULL,
@@ -9123,6 +6873,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -9132,15 +6883,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- WorkflowList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.show = function(uuid)
@@ -9149,7 +6892,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9159,18 +6903,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		workflows.destroy = function(uuid)
@@ -9179,7 +6912,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9189,18 +6923,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Workflow$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_at = resource$modified_at,
-				modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				name = resource$name, description = resource$description,
-				definition = resource$definition, updated_at = resource$updated_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.get = function(uuid)
@@ -9209,7 +6932,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9219,19 +6943,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.index = function(filters = NULL, where = NULL,
@@ -9247,6 +6959,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -9256,15 +6969,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- GroupList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.create = function(group, ensure_unique_name = "false")
@@ -9274,7 +6979,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- group$toJSON()
+			
+			if(length(group) > 0)
+				body <- jsonlite::toJSON(list(group = group), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9283,19 +6993,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.update = function(group, uuid)
@@ -9304,8 +7002,13 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- group$toJSON()
+			queryArgs <- NULL
+			
+			if(length(group) > 0)
+				body <- jsonlite::toJSON(list(group = group), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9314,19 +7017,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.delete = function(uuid)
@@ -9335,7 +7026,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9345,19 +7037,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.contents = function(filters = NULL,
@@ -9373,6 +7053,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -9382,19 +7063,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.trash = function(uuid)
@@ -9403,7 +7072,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -9413,19 +7083,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.untrash = function(uuid)
@@ -9434,7 +7092,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -9444,19 +7103,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.list = function(filters = NULL, where = NULL,
@@ -9472,6 +7119,7 @@ Arvados <- R6::R6Class(
 				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,
@@ -9481,15 +7129,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- GroupList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.show = function(uuid)
@@ -9498,7 +7138,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9508,19 +7149,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		groups.destroy = function(uuid)
@@ -9529,7 +7158,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9539,19 +7169,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- Group$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, name = resource$name,
-				description = resource$description, updated_at = resource$updated_at,
-				group_class = resource$group_class, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, delete_at = resource$delete_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.get = function(uuid)
@@ -9560,7 +7178,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9570,26 +7189,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.index = function(filters = NULL,
@@ -9604,6 +7204,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -9613,18 +7214,10 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreementList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		user_agreements.create = function(user_agreement,
+		user_agreements.create = function(useragreement,
 			ensure_unique_name = "false")
 		{
 			endPoint <- stringr::str_interp("user_agreements")
@@ -9632,7 +7225,12 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- list(ensure_unique_name = ensure_unique_name)
-			body <- user_agreement$toJSON()
+			
+			if(length(useragreement) > 0)
+				body <- jsonlite::toJSON(list(useragreement = useragreement), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9641,36 +7239,22 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
-		user_agreements.update = function(user_agreement, uuid)
+		user_agreements.update = function(useragreement, uuid)
 		{
 			endPoint <- stringr::str_interp("user_agreements/${uuid}")
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
-			body <- user_agreement$toJSON()
+			queryArgs <- NULL
+			
+			if(length(useragreement) > 0)
+				body <- jsonlite::toJSON(list(useragreement = useragreement), 
+			                           auto_unbox = TRUE)
+			else
+				body <- NULL
 			
 			response <- private$REST$http$exec("PUT", url, headers, body,
 			                                   queryArgs, private$numRetries)
@@ -9679,26 +7263,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.delete = function(uuid)
@@ -9707,7 +7272,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9717,26 +7283,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.signatures = function()
@@ -9746,6 +7293,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9755,26 +7303,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.sign = function()
@@ -9784,6 +7313,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("POST", url, headers, body,
@@ -9793,26 +7323,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.list = function(filters = NULL,
@@ -9827,6 +7338,7 @@ Arvados <- R6::R6Class(
 			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,
@@ -9836,15 +7348,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreementList$new(kind = resource$kind,
-				etag = resource$etag, items = resource$items,
-				next_link = resource$next_link, next_page_token = resource$next_page_token,
-				selfLink = resource$selfLink)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.new = function()
@@ -9854,6 +7358,7 @@ Arvados <- R6::R6Class(
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
 			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9863,26 +7368,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.show = function(uuid)
@@ -9891,7 +7377,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("GET", url, headers, body,
@@ -9901,26 +7388,7 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		user_agreements.destroy = function(uuid)
@@ -9929,7 +7397,8 @@ Arvados <- R6::R6Class(
 			url <- paste0(private$host, endPoint)
 			headers <- list(Authorization = paste("OAuth2", private$token), 
 			                "Content-Type" = "application/json")
-			queryArgs <- list(uuid = uuid)
+			queryArgs <- NULL
+			
 			body <- NULL
 			
 			response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -9939,31 +7408,13 @@ Arvados <- R6::R6Class(
 			if(!is.null(resource$errors))
 				stop(resource$errors)
 			
-			result <- UserAgreement$new(uuid = resource$uuid,
-				etag = resource$etag, owner_uuid = resource$owner_uuid,
-				created_at = resource$created_at, modified_by_client_uuid = resource$modified_by_client_uuid,
-				modified_by_user_uuid = resource$modified_by_user_uuid,
-				modified_at = resource$modified_at, portable_data_hash = resource$portable_data_hash,
-				replication_desired = resource$replication_desired,
-				replication_confirmed_at = resource$replication_confirmed_at,
-				replication_confirmed = resource$replication_confirmed,
-				updated_at = resource$updated_at, manifest_text = resource$manifest_text,
-				name = resource$name, description = resource$description,
-				properties = resource$properties, delete_at = resource$delete_at,
-				file_names = resource$file_names, trash_at = resource$trash_at,
-				is_trashed = resource$is_trashed, storage_classes_desired = resource$storage_classes_desired,
-				storage_classes_confirmed = resource$storage_classes_confirmed,
-				storage_classes_confirmed_at = resource$storage_classes_confirmed_at)
-			
-			if(result$isEmpty())
-				resource
-			else
-				result
+			resource
 		},
 
 		getHostName = function() private$host,
 		getToken = function() private$token,
-		setRESTService = function(newREST) private$REST <- newREST
+		setRESTService = function(newREST) private$REST <- newREST,
+		getRESTService = function() private$REST
 	),
 
 	private = list(
diff --git a/sdk/R/R/ArvadosClasses.R b/sdk/R/R/ArvadosClasses.R
deleted file mode 100644
index e969887..0000000
--- a/sdk/R/R/ArvadosClasses.R
+++ /dev/null
@@ -1,4689 +0,0 @@
-#' UserList
-#' 
-#' User list
-#' 
-#' @section Usage:
-#' \preformatted{userList -> UserList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#userList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Users.}
-#'     \item{next_link}{A link to the next page of Users.}
-#'     \item{next_page_token}{The page token for the next page of Users.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name UserList
-NULL
-
-#' @export
-UserList <- R6::R6Class(
-
-	"UserList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("userlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' User
-#' 
-#' User
-#' 
-#' @section Usage:
-#' \preformatted{user -> User$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, email = NULL,
-#' 	first_name = NULL, last_name = NULL, identity_url = NULL,
-#' 	is_admin = NULL, prefs = NULL, updated_at = NULL, default_owner_uuid = NULL,
-#' 	is_active = NULL, username = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{email}{}
-#'     \item{first_name}{}
-#'     \item{last_name}{}
-#'     \item{identity_url}{}
-#'     \item{is_admin}{}
-#'     \item{prefs}{}
-#'     \item{updated_at}{}
-#'     \item{default_owner_uuid}{}
-#'     \item{is_active}{}
-#'     \item{username}{}
-#'   }
-#' 
-#' @name User
-NULL
-
-#' @export
-User <- R6::R6Class(
-
-	"User",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		email = NULL,
-		first_name = NULL,
-		last_name = NULL,
-		identity_url = NULL,
-		is_admin = NULL,
-		prefs = NULL,
-		updated_at = NULL,
-		default_owner_uuid = NULL,
-		is_active = NULL,
-		username = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				email = NULL, first_name = NULL, last_name = NULL,
-				identity_url = NULL, is_admin = NULL, prefs = NULL,
-				updated_at = NULL, default_owner_uuid = NULL,
-				is_active = NULL, username = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$email <- email
-			self$first_name <- first_name
-			self$last_name <- last_name
-			self$identity_url <- identity_url
-			self$is_admin <- is_admin
-			self$prefs <- prefs
-			self$updated_at <- updated_at
-			self$default_owner_uuid <- default_owner_uuid
-			self$is_active <- is_active
-			self$username <- username
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "email",
-				"first_name", "last_name", "identity_url",
-				"is_admin", "prefs", "updated_at", "default_owner_uuid",
-				"is_active", "username")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("user" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ApiClientAuthorizationList
-#' 
-#' ApiClientAuthorization list
-#' 
-#' @section Usage:
-#' \preformatted{apiClientAuthorizationList -> ApiClientAuthorizationList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#apiClientAuthorizationList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of ApiClientAuthorizations.}
-#'     \item{next_link}{A link to the next page of ApiClientAuthorizations.}
-#'     \item{next_page_token}{The page token for the next page of ApiClientAuthorizations.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name ApiClientAuthorizationList
-NULL
-
-#' @export
-ApiClientAuthorizationList <- R6::R6Class(
-
-	"ApiClientAuthorizationList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("apiclientauthorizationlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ApiClientAuthorization
-#' 
-#' ApiClientAuthorization
-#' 
-#' @section Usage:
-#' \preformatted{apiClientAuthorization -> ApiClientAuthorization$new(uuid = NULL,
-#' 	etag = NULL, api_token = NULL, api_client_id = NULL,
-#' 	user_id = NULL, created_by_ip_address = NULL, last_used_by_ip_address = NULL,
-#' 	last_used_at = NULL, expires_at = NULL, created_at = NULL,
-#' 	updated_at = NULL, default_owner_uuid = NULL, scopes = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{api_token}{}
-#'     \item{api_client_id}{}
-#'     \item{user_id}{}
-#'     \item{created_by_ip_address}{}
-#'     \item{last_used_by_ip_address}{}
-#'     \item{last_used_at}{}
-#'     \item{expires_at}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{default_owner_uuid}{}
-#'     \item{scopes}{}
-#'     \item{uuid}{}
-#'   }
-#' 
-#' @name ApiClientAuthorization
-NULL
-
-#' @export
-ApiClientAuthorization <- R6::R6Class(
-
-	"ApiClientAuthorization",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		api_token = NULL,
-		api_client_id = NULL,
-		user_id = NULL,
-		created_by_ip_address = NULL,
-		last_used_by_ip_address = NULL,
-		last_used_at = NULL,
-		expires_at = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		default_owner_uuid = NULL,
-		scopes = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				api_token = NULL, api_client_id = NULL, user_id = NULL,
-				created_by_ip_address = NULL, last_used_by_ip_address = NULL,
-				last_used_at = NULL, expires_at = NULL, created_at = NULL,
-				updated_at = NULL, default_owner_uuid = NULL,
-				scopes = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$api_token <- api_token
-			self$api_client_id <- api_client_id
-			self$user_id <- user_id
-			self$created_by_ip_address <- created_by_ip_address
-			self$last_used_by_ip_address <- last_used_by_ip_address
-			self$last_used_at <- last_used_at
-			self$expires_at <- expires_at
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$default_owner_uuid <- default_owner_uuid
-			self$scopes <- scopes
-			
-			private$classFields <- c("uuid", "etag",
-				"api_token", "api_client_id", "user_id",
-				"created_by_ip_address", "last_used_by_ip_address",
-				"last_used_at", "expires_at", "created_at",
-				"updated_at", "default_owner_uuid", "scopes")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("apiclientauthorization" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ApiClientList
-#' 
-#' ApiClient list
-#' 
-#' @section Usage:
-#' \preformatted{apiClientList -> ApiClientList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#apiClientList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of ApiClients.}
-#'     \item{next_link}{A link to the next page of ApiClients.}
-#'     \item{next_page_token}{The page token for the next page of ApiClients.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name ApiClientList
-NULL
-
-#' @export
-ApiClientList <- R6::R6Class(
-
-	"ApiClientList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("apiclientlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ApiClient
-#' 
-#' ApiClient
-#' 
-#' @section Usage:
-#' \preformatted{apiClient -> ApiClient$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-#' 	url_prefix = NULL, created_at = NULL, updated_at = NULL,
-#' 	is_trusted = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{url_prefix}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{is_trusted}{}
-#'   }
-#' 
-#' @name ApiClient
-NULL
-
-#' @export
-ApiClient <- R6::R6Class(
-
-	"ApiClient",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		url_prefix = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		is_trusted = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, url_prefix = NULL, created_at = NULL,
-				updated_at = NULL, is_trusted = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$url_prefix <- url_prefix
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$is_trusted <- is_trusted
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"url_prefix", "created_at", "updated_at",
-				"is_trusted")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("apiclient" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ContainerRequestList
-#' 
-#' ContainerRequest list
-#' 
-#' @section Usage:
-#' \preformatted{containerRequestList -> ContainerRequestList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#containerRequestList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of ContainerRequests.}
-#'     \item{next_link}{A link to the next page of ContainerRequests.}
-#'     \item{next_page_token}{The page token for the next page of ContainerRequests.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name ContainerRequestList
-NULL
-
-#' @export
-ContainerRequestList <- R6::R6Class(
-
-	"ContainerRequestList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("containerrequestlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ContainerRequest
-#' 
-#' ContainerRequest
-#' 
-#' @section Usage:
-#' \preformatted{containerRequest -> ContainerRequest$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, name = NULL, description = NULL,
-#' 	properties = NULL, state = NULL, requesting_container_uuid = NULL,
-#' 	container_uuid = NULL, container_count_max = NULL,
-#' 	mounts = NULL, runtime_constraints = NULL, container_image = NULL,
-#' 	environment = NULL, cwd = NULL, command = NULL, output_path = NULL,
-#' 	priority = NULL, expires_at = NULL, filters = NULL,
-#' 	updated_at = NULL, container_count = NULL, use_existing = NULL,
-#' 	scheduling_parameters = NULL, output_uuid = NULL, log_uuid = NULL,
-#' 	output_name = NULL, output_ttl = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{name}{}
-#'     \item{description}{}
-#'     \item{properties}{}
-#'     \item{state}{}
-#'     \item{requesting_container_uuid}{}
-#'     \item{container_uuid}{}
-#'     \item{container_count_max}{}
-#'     \item{mounts}{}
-#'     \item{runtime_constraints}{}
-#'     \item{container_image}{}
-#'     \item{environment}{}
-#'     \item{cwd}{}
-#'     \item{command}{}
-#'     \item{output_path}{}
-#'     \item{priority}{}
-#'     \item{expires_at}{}
-#'     \item{filters}{}
-#'     \item{updated_at}{}
-#'     \item{container_count}{}
-#'     \item{use_existing}{}
-#'     \item{scheduling_parameters}{}
-#'     \item{output_uuid}{}
-#'     \item{log_uuid}{}
-#'     \item{output_name}{}
-#'     \item{output_ttl}{}
-#'   }
-#' 
-#' @name ContainerRequest
-NULL
-
-#' @export
-ContainerRequest <- R6::R6Class(
-
-	"ContainerRequest",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		name = NULL,
-		description = NULL,
-		properties = NULL,
-		state = NULL,
-		requesting_container_uuid = NULL,
-		container_uuid = NULL,
-		container_count_max = NULL,
-		mounts = NULL,
-		runtime_constraints = NULL,
-		container_image = NULL,
-		environment = NULL,
-		cwd = NULL,
-		command = NULL,
-		output_path = NULL,
-		priority = NULL,
-		expires_at = NULL,
-		filters = NULL,
-		updated_at = NULL,
-		container_count = NULL,
-		use_existing = NULL,
-		scheduling_parameters = NULL,
-		output_uuid = NULL,
-		log_uuid = NULL,
-		output_name = NULL,
-		output_ttl = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_at = NULL,
-				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-				name = NULL, description = NULL, properties = NULL,
-				state = NULL, requesting_container_uuid = NULL,
-				container_uuid = NULL, container_count_max = NULL,
-				mounts = NULL, runtime_constraints = NULL,
-				container_image = NULL, environment = NULL,
-				cwd = NULL, command = NULL, output_path = NULL,
-				priority = NULL, expires_at = NULL, filters = NULL,
-				updated_at = NULL, container_count = NULL,
-				use_existing = NULL, scheduling_parameters = NULL,
-				output_uuid = NULL, log_uuid = NULL, output_name = NULL,
-				output_ttl = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_at <- modified_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$name <- name
-			self$description <- description
-			self$properties <- properties
-			self$state <- state
-			self$requesting_container_uuid <- requesting_container_uuid
-			self$container_uuid <- container_uuid
-			self$container_count_max <- container_count_max
-			self$mounts <- mounts
-			self$runtime_constraints <- runtime_constraints
-			self$container_image <- container_image
-			self$environment <- environment
-			self$cwd <- cwd
-			self$command <- command
-			self$output_path <- output_path
-			self$priority <- priority
-			self$expires_at <- expires_at
-			self$filters <- filters
-			self$updated_at <- updated_at
-			self$container_count <- container_count
-			self$use_existing <- use_existing
-			self$scheduling_parameters <- scheduling_parameters
-			self$output_uuid <- output_uuid
-			self$log_uuid <- log_uuid
-			self$output_name <- output_name
-			self$output_ttl <- output_ttl
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_at",
-				"modified_by_client_uuid", "modified_by_user_uuid",
-				"name", "description", "properties", "state",
-				"requesting_container_uuid", "container_uuid",
-				"container_count_max", "mounts", "runtime_constraints",
-				"container_image", "environment", "cwd",
-				"command", "output_path", "priority", "expires_at",
-				"filters", "updated_at", "container_count",
-				"use_existing", "scheduling_parameters",
-				"output_uuid", "log_uuid", "output_name",
-				"output_ttl")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("containerrequest" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' AuthorizedKeyList
-#' 
-#' AuthorizedKey list
-#' 
-#' @section Usage:
-#' \preformatted{authorizedKeyList -> AuthorizedKeyList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#authorizedKeyList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of AuthorizedKeys.}
-#'     \item{next_link}{A link to the next page of AuthorizedKeys.}
-#'     \item{next_page_token}{The page token for the next page of AuthorizedKeys.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name AuthorizedKeyList
-NULL
-
-#' @export
-AuthorizedKeyList <- R6::R6Class(
-
-	"AuthorizedKeyList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("authorizedkeylist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' AuthorizedKey
-#' 
-#' AuthorizedKey
-#' 
-#' @section Usage:
-#' \preformatted{authorizedKey -> AuthorizedKey$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-#' 	key_type = NULL, authorized_user_uuid = NULL, public_key = NULL,
-#' 	expires_at = NULL, created_at = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{key_type}{}
-#'     \item{authorized_user_uuid}{}
-#'     \item{public_key}{}
-#'     \item{expires_at}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name AuthorizedKey
-NULL
-
-#' @export
-AuthorizedKey <- R6::R6Class(
-
-	"AuthorizedKey",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		key_type = NULL,
-		authorized_user_uuid = NULL,
-		public_key = NULL,
-		expires_at = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, key_type = NULL, authorized_user_uuid = NULL,
-				public_key = NULL, expires_at = NULL, created_at = NULL,
-				updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$key_type <- key_type
-			self$authorized_user_uuid <- authorized_user_uuid
-			self$public_key <- public_key
-			self$expires_at <- expires_at
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"key_type", "authorized_user_uuid", "public_key",
-				"expires_at", "created_at", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("authorizedkey" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' CollectionList
-#' 
-#' Collection list
-#' 
-#' @section Usage:
-#' \preformatted{collectionList -> CollectionList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#collectionList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Collections.}
-#'     \item{next_link}{A link to the next page of Collections.}
-#'     \item{next_page_token}{The page token for the next page of Collections.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name CollectionList
-NULL
-
-#' @export
-CollectionList <- R6::R6Class(
-
-	"CollectionList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("collectionlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' ContainerList
-#' 
-#' Container list
-#' 
-#' @section Usage:
-#' \preformatted{containerList -> ContainerList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#containerList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Containers.}
-#'     \item{next_link}{A link to the next page of Containers.}
-#'     \item{next_page_token}{The page token for the next page of Containers.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name ContainerList
-NULL
-
-#' @export
-ContainerList <- R6::R6Class(
-
-	"ContainerList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("containerlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Container
-#' 
-#' Container
-#' 
-#' @section Usage:
-#' \preformatted{container -> Container$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, state = NULL, started_at = NULL,
-#' 	finished_at = NULL, log = NULL, environment = NULL,
-#' 	cwd = NULL, command = NULL, output_path = NULL, mounts = NULL,
-#' 	runtime_constraints = NULL, output = NULL, container_image = NULL,
-#' 	progress = NULL, priority = NULL, updated_at = NULL,
-#' 	exit_code = NULL, auth_uuid = NULL, locked_by_uuid = NULL,
-#' 	scheduling_parameters = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{state}{}
-#'     \item{started_at}{}
-#'     \item{finished_at}{}
-#'     \item{log}{}
-#'     \item{environment}{}
-#'     \item{cwd}{}
-#'     \item{command}{}
-#'     \item{output_path}{}
-#'     \item{mounts}{}
-#'     \item{runtime_constraints}{}
-#'     \item{output}{}
-#'     \item{container_image}{}
-#'     \item{progress}{}
-#'     \item{priority}{}
-#'     \item{updated_at}{}
-#'     \item{exit_code}{}
-#'     \item{auth_uuid}{}
-#'     \item{locked_by_uuid}{}
-#'     \item{scheduling_parameters}{}
-#'   }
-#' 
-#' @name Container
-NULL
-
-#' @export
-Container <- R6::R6Class(
-
-	"Container",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		state = NULL,
-		started_at = NULL,
-		finished_at = NULL,
-		log = NULL,
-		environment = NULL,
-		cwd = NULL,
-		command = NULL,
-		output_path = NULL,
-		mounts = NULL,
-		runtime_constraints = NULL,
-		output = NULL,
-		container_image = NULL,
-		progress = NULL,
-		priority = NULL,
-		updated_at = NULL,
-		exit_code = NULL,
-		auth_uuid = NULL,
-		locked_by_uuid = NULL,
-		scheduling_parameters = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_at = NULL,
-				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-				state = NULL, started_at = NULL, finished_at = NULL,
-				log = NULL, environment = NULL, cwd = NULL,
-				command = NULL, output_path = NULL, mounts = NULL,
-				runtime_constraints = NULL, output = NULL,
-				container_image = NULL, progress = NULL,
-				priority = NULL, updated_at = NULL, exit_code = NULL,
-				auth_uuid = NULL, locked_by_uuid = NULL,
-				scheduling_parameters = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_at <- modified_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$state <- state
-			self$started_at <- started_at
-			self$finished_at <- finished_at
-			self$log <- log
-			self$environment <- environment
-			self$cwd <- cwd
-			self$command <- command
-			self$output_path <- output_path
-			self$mounts <- mounts
-			self$runtime_constraints <- runtime_constraints
-			self$output <- output
-			self$container_image <- container_image
-			self$progress <- progress
-			self$priority <- priority
-			self$updated_at <- updated_at
-			self$exit_code <- exit_code
-			self$auth_uuid <- auth_uuid
-			self$locked_by_uuid <- locked_by_uuid
-			self$scheduling_parameters <- scheduling_parameters
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_at",
-				"modified_by_client_uuid", "modified_by_user_uuid",
-				"state", "started_at", "finished_at", "log",
-				"environment", "cwd", "command", "output_path",
-				"mounts", "runtime_constraints", "output",
-				"container_image", "progress", "priority",
-				"updated_at", "exit_code", "auth_uuid", "locked_by_uuid",
-				"scheduling_parameters")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("container" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' HumanList
-#' 
-#' Human list
-#' 
-#' @section Usage:
-#' \preformatted{humanList -> HumanList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#humanList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Humans.}
-#'     \item{next_link}{A link to the next page of Humans.}
-#'     \item{next_page_token}{The page token for the next page of Humans.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name HumanList
-NULL
-
-#' @export
-HumanList <- R6::R6Class(
-
-	"HumanList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("humanlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Human
-#' 
-#' Human
-#' 
-#' @section Usage:
-#' \preformatted{human -> Human$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, properties = NULL,
-#' 	created_at = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{properties}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name Human
-NULL
-
-#' @export
-Human <- R6::R6Class(
-
-	"Human",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		properties = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				properties = NULL, created_at = NULL, updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$properties <- properties
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "properties",
-				"created_at", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("human" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' JobTaskList
-#' 
-#' JobTask list
-#' 
-#' @section Usage:
-#' \preformatted{jobTaskList -> JobTaskList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#jobTaskList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of JobTasks.}
-#'     \item{next_link}{A link to the next page of JobTasks.}
-#'     \item{next_page_token}{The page token for the next page of JobTasks.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name JobTaskList
-NULL
-
-#' @export
-JobTaskList <- R6::R6Class(
-
-	"JobTaskList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("jobtasklist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' JobTask
-#' 
-#' JobTask
-#' 
-#' @section Usage:
-#' \preformatted{jobTask -> JobTask$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, job_uuid = NULL,
-#' 	sequence = NULL, parameters = NULL, output = NULL,
-#' 	progress = NULL, success = NULL, created_at = NULL,
-#' 	updated_at = NULL, created_by_job_task_uuid = NULL,
-#' 	qsequence = NULL, started_at = NULL, finished_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{job_uuid}{}
-#'     \item{sequence}{}
-#'     \item{parameters}{}
-#'     \item{output}{}
-#'     \item{progress}{}
-#'     \item{success}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{created_by_job_task_uuid}{}
-#'     \item{qsequence}{}
-#'     \item{started_at}{}
-#'     \item{finished_at}{}
-#'   }
-#' 
-#' @name JobTask
-NULL
-
-#' @export
-JobTask <- R6::R6Class(
-
-	"JobTask",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		job_uuid = NULL,
-		sequence = NULL,
-		parameters = NULL,
-		output = NULL,
-		progress = NULL,
-		success = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		created_by_job_task_uuid = NULL,
-		qsequence = NULL,
-		started_at = NULL,
-		finished_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				job_uuid = NULL, sequence = NULL, parameters = NULL,
-				output = NULL, progress = NULL, success = NULL,
-				created_at = NULL, updated_at = NULL, created_by_job_task_uuid = NULL,
-				qsequence = NULL, started_at = NULL, finished_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$job_uuid <- job_uuid
-			self$sequence <- sequence
-			self$parameters <- parameters
-			self$output <- output
-			self$progress <- progress
-			self$success <- success
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$created_by_job_task_uuid <- created_by_job_task_uuid
-			self$qsequence <- qsequence
-			self$started_at <- started_at
-			self$finished_at <- finished_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "job_uuid",
-				"sequence", "parameters", "output", "progress",
-				"success", "created_at", "updated_at", "created_by_job_task_uuid",
-				"qsequence", "started_at", "finished_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("jobtask" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' LinkList
-#' 
-#' Link list
-#' 
-#' @section Usage:
-#' \preformatted{linkList -> LinkList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#linkList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Links.}
-#'     \item{next_link}{A link to the next page of Links.}
-#'     \item{next_page_token}{The page token for the next page of Links.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name LinkList
-NULL
-
-#' @export
-LinkList <- R6::R6Class(
-
-	"LinkList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("linklist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Link
-#' 
-#' Link
-#' 
-#' @section Usage:
-#' \preformatted{link -> Link$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, tail_uuid = NULL,
-#' 	link_class = NULL, name = NULL, head_uuid = NULL, properties = NULL,
-#' 	updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{tail_uuid}{}
-#'     \item{link_class}{}
-#'     \item{name}{}
-#'     \item{head_uuid}{}
-#'     \item{properties}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name Link
-NULL
-
-#' @export
-Link <- R6::R6Class(
-
-	"Link",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		tail_uuid = NULL,
-		link_class = NULL,
-		name = NULL,
-		head_uuid = NULL,
-		properties = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				tail_uuid = NULL, link_class = NULL, name = NULL,
-				head_uuid = NULL, properties = NULL, updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$tail_uuid <- tail_uuid
-			self$link_class <- link_class
-			self$name <- name
-			self$head_uuid <- head_uuid
-			self$properties <- properties
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "tail_uuid",
-				"link_class", "name", "head_uuid", "properties",
-				"updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("link" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' JobList
-#' 
-#' Job list
-#' 
-#' @section Usage:
-#' \preformatted{jobList -> JobList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#jobList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Jobs.}
-#'     \item{next_link}{A link to the next page of Jobs.}
-#'     \item{next_page_token}{The page token for the next page of Jobs.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name JobList
-NULL
-
-#' @export
-JobList <- R6::R6Class(
-
-	"JobList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("joblist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Job
-#' 
-#' Job
-#' 
-#' @section Usage:
-#' \preformatted{job -> Job$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, submit_id = NULL,
-#' 	script = NULL, script_version = NULL, script_parameters = NULL,
-#' 	cancelled_by_client_uuid = NULL, cancelled_by_user_uuid = NULL,
-#' 	cancelled_at = NULL, started_at = NULL, finished_at = NULL,
-#' 	running = NULL, success = NULL, output = NULL, created_at = NULL,
-#' 	updated_at = NULL, is_locked_by_uuid = NULL, log = NULL,
-#' 	tasks_summary = NULL, runtime_constraints = NULL, nondeterministic = NULL,
-#' 	repository = NULL, supplied_script_version = NULL,
-#' 	docker_image_locator = NULL, priority = NULL, description = NULL,
-#' 	state = NULL, arvados_sdk_version = NULL, components = NULL,
-#' 	script_parameters_digest = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{submit_id}{}
-#'     \item{script}{}
-#'     \item{script_version}{}
-#'     \item{script_parameters}{}
-#'     \item{cancelled_by_client_uuid}{}
-#'     \item{cancelled_by_user_uuid}{}
-#'     \item{cancelled_at}{}
-#'     \item{started_at}{}
-#'     \item{finished_at}{}
-#'     \item{running}{}
-#'     \item{success}{}
-#'     \item{output}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{is_locked_by_uuid}{}
-#'     \item{log}{}
-#'     \item{tasks_summary}{}
-#'     \item{runtime_constraints}{}
-#'     \item{nondeterministic}{}
-#'     \item{repository}{}
-#'     \item{supplied_script_version}{}
-#'     \item{docker_image_locator}{}
-#'     \item{priority}{}
-#'     \item{description}{}
-#'     \item{state}{}
-#'     \item{arvados_sdk_version}{}
-#'     \item{components}{}
-#'     \item{script_parameters_digest}{}
-#'   }
-#' 
-#' @name Job
-NULL
-
-#' @export
-Job <- R6::R6Class(
-
-	"Job",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		submit_id = NULL,
-		script = NULL,
-		script_version = NULL,
-		script_parameters = NULL,
-		cancelled_by_client_uuid = NULL,
-		cancelled_by_user_uuid = NULL,
-		cancelled_at = NULL,
-		started_at = NULL,
-		finished_at = NULL,
-		running = NULL,
-		success = NULL,
-		output = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		is_locked_by_uuid = NULL,
-		log = NULL,
-		tasks_summary = NULL,
-		runtime_constraints = NULL,
-		nondeterministic = NULL,
-		repository = NULL,
-		supplied_script_version = NULL,
-		docker_image_locator = NULL,
-		priority = NULL,
-		description = NULL,
-		state = NULL,
-		arvados_sdk_version = NULL,
-		components = NULL,
-		script_parameters_digest = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				submit_id = NULL, script = NULL, script_version = NULL,
-				script_parameters = NULL, cancelled_by_client_uuid = NULL,
-				cancelled_by_user_uuid = NULL, cancelled_at = NULL,
-				started_at = NULL, finished_at = NULL, running = NULL,
-				success = NULL, output = NULL, created_at = NULL,
-				updated_at = NULL, is_locked_by_uuid = NULL,
-				log = NULL, tasks_summary = NULL, runtime_constraints = NULL,
-				nondeterministic = NULL, repository = NULL,
-				supplied_script_version = NULL, docker_image_locator = NULL,
-				priority = NULL, description = NULL, state = NULL,
-				arvados_sdk_version = NULL, components = NULL,
-				script_parameters_digest = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$submit_id <- submit_id
-			self$script <- script
-			self$script_version <- script_version
-			self$script_parameters <- script_parameters
-			self$cancelled_by_client_uuid <- cancelled_by_client_uuid
-			self$cancelled_by_user_uuid <- cancelled_by_user_uuid
-			self$cancelled_at <- cancelled_at
-			self$started_at <- started_at
-			self$finished_at <- finished_at
-			self$running <- running
-			self$success <- success
-			self$output <- output
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$is_locked_by_uuid <- is_locked_by_uuid
-			self$log <- log
-			self$tasks_summary <- tasks_summary
-			self$runtime_constraints <- runtime_constraints
-			self$nondeterministic <- nondeterministic
-			self$repository <- repository
-			self$supplied_script_version <- supplied_script_version
-			self$docker_image_locator <- docker_image_locator
-			self$priority <- priority
-			self$description <- description
-			self$state <- state
-			self$arvados_sdk_version <- arvados_sdk_version
-			self$components <- components
-			self$script_parameters_digest <- script_parameters_digest
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "submit_id",
-				"script", "script_version", "script_parameters",
-				"cancelled_by_client_uuid", "cancelled_by_user_uuid",
-				"cancelled_at", "started_at", "finished_at",
-				"running", "success", "output", "created_at",
-				"updated_at", "is_locked_by_uuid", "log",
-				"tasks_summary", "runtime_constraints", "nondeterministic",
-				"repository", "supplied_script_version",
-				"docker_image_locator", "priority", "description",
-				"state", "arvados_sdk_version", "components",
-				"script_parameters_digest")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("job" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' KeepDiskList
-#' 
-#' KeepDisk list
-#' 
-#' @section Usage:
-#' \preformatted{keepDiskList -> KeepDiskList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#keepDiskList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of KeepDisks.}
-#'     \item{next_link}{A link to the next page of KeepDisks.}
-#'     \item{next_page_token}{The page token for the next page of KeepDisks.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name KeepDiskList
-NULL
-
-#' @export
-KeepDiskList <- R6::R6Class(
-
-	"KeepDiskList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("keepdisklist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' KeepDisk
-#' 
-#' KeepDisk
-#' 
-#' @section Usage:
-#' \preformatted{keepDisk -> KeepDisk$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, ping_secret = NULL,
-#' 	node_uuid = NULL, filesystem_uuid = NULL, bytes_total = NULL,
-#' 	bytes_free = NULL, is_readable = NULL, is_writable = NULL,
-#' 	last_read_at = NULL, last_write_at = NULL, last_ping_at = NULL,
-#' 	created_at = NULL, updated_at = NULL, keep_service_uuid = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{ping_secret}{}
-#'     \item{node_uuid}{}
-#'     \item{filesystem_uuid}{}
-#'     \item{bytes_total}{}
-#'     \item{bytes_free}{}
-#'     \item{is_readable}{}
-#'     \item{is_writable}{}
-#'     \item{last_read_at}{}
-#'     \item{last_write_at}{}
-#'     \item{last_ping_at}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{keep_service_uuid}{}
-#'   }
-#' 
-#' @name KeepDisk
-NULL
-
-#' @export
-KeepDisk <- R6::R6Class(
-
-	"KeepDisk",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		ping_secret = NULL,
-		node_uuid = NULL,
-		filesystem_uuid = NULL,
-		bytes_total = NULL,
-		bytes_free = NULL,
-		is_readable = NULL,
-		is_writable = NULL,
-		last_read_at = NULL,
-		last_write_at = NULL,
-		last_ping_at = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		keep_service_uuid = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				ping_secret = NULL, node_uuid = NULL, filesystem_uuid = NULL,
-				bytes_total = NULL, bytes_free = NULL, is_readable = NULL,
-				is_writable = NULL, last_read_at = NULL,
-				last_write_at = NULL, last_ping_at = NULL,
-				created_at = NULL, updated_at = NULL, keep_service_uuid = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$ping_secret <- ping_secret
-			self$node_uuid <- node_uuid
-			self$filesystem_uuid <- filesystem_uuid
-			self$bytes_total <- bytes_total
-			self$bytes_free <- bytes_free
-			self$is_readable <- is_readable
-			self$is_writable <- is_writable
-			self$last_read_at <- last_read_at
-			self$last_write_at <- last_write_at
-			self$last_ping_at <- last_ping_at
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$keep_service_uuid <- keep_service_uuid
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "ping_secret",
-				"node_uuid", "filesystem_uuid", "bytes_total",
-				"bytes_free", "is_readable", "is_writable",
-				"last_read_at", "last_write_at", "last_ping_at",
-				"created_at", "updated_at", "keep_service_uuid")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("keepdisk" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' KeepServiceList
-#' 
-#' KeepService list
-#' 
-#' @section Usage:
-#' \preformatted{keepServiceList -> KeepServiceList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#keepServiceList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of KeepServices.}
-#'     \item{next_link}{A link to the next page of KeepServices.}
-#'     \item{next_page_token}{The page token for the next page of KeepServices.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name KeepServiceList
-NULL
-
-#' @export
-KeepServiceList <- R6::R6Class(
-
-	"KeepServiceList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("keepservicelist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' KeepService
-#' 
-#' KeepService
-#' 
-#' @section Usage:
-#' \preformatted{keepService -> KeepService$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, service_host = NULL,
-#' 	service_port = NULL, service_ssl_flag = NULL, service_type = NULL,
-#' 	created_at = NULL, updated_at = NULL, read_only = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{service_host}{}
-#'     \item{service_port}{}
-#'     \item{service_ssl_flag}{}
-#'     \item{service_type}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{read_only}{}
-#'   }
-#' 
-#' @name KeepService
-NULL
-
-#' @export
-KeepService <- R6::R6Class(
-
-	"KeepService",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		service_host = NULL,
-		service_port = NULL,
-		service_ssl_flag = NULL,
-		service_type = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		read_only = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				service_host = NULL, service_port = NULL,
-				service_ssl_flag = NULL, service_type = NULL,
-				created_at = NULL, updated_at = NULL, read_only = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$service_host <- service_host
-			self$service_port <- service_port
-			self$service_ssl_flag <- service_ssl_flag
-			self$service_type <- service_type
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$read_only <- read_only
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "service_host",
-				"service_port", "service_ssl_flag", "service_type",
-				"created_at", "updated_at", "read_only")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("keepservice" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' PipelineTemplateList
-#' 
-#' PipelineTemplate list
-#' 
-#' @section Usage:
-#' \preformatted{pipelineTemplateList -> PipelineTemplateList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#pipelineTemplateList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of PipelineTemplates.}
-#'     \item{next_link}{A link to the next page of PipelineTemplates.}
-#'     \item{next_page_token}{The page token for the next page of PipelineTemplates.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name PipelineTemplateList
-NULL
-
-#' @export
-PipelineTemplateList <- R6::R6Class(
-
-	"PipelineTemplateList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("pipelinetemplatelist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' PipelineTemplate
-#' 
-#' PipelineTemplate
-#' 
-#' @section Usage:
-#' \preformatted{pipelineTemplate -> PipelineTemplate$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-#' 	modified_at = NULL, name = NULL, components = NULL,
-#' 	updated_at = NULL, description = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{components}{}
-#'     \item{updated_at}{}
-#'     \item{description}{}
-#'   }
-#' 
-#' @name PipelineTemplate
-NULL
-
-#' @export
-PipelineTemplate <- R6::R6Class(
-
-	"PipelineTemplate",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		components = NULL,
-		updated_at = NULL,
-		description = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, components = NULL, updated_at = NULL,
-				description = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$components <- components
-			self$updated_at <- updated_at
-			self$description <- description
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"components", "updated_at", "description")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("pipelinetemplate" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' PipelineInstanceList
-#' 
-#' PipelineInstance list
-#' 
-#' @section Usage:
-#' \preformatted{pipelineInstanceList -> PipelineInstanceList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#pipelineInstanceList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of PipelineInstances.}
-#'     \item{next_link}{A link to the next page of PipelineInstances.}
-#'     \item{next_page_token}{The page token for the next page of PipelineInstances.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name PipelineInstanceList
-NULL
-
-#' @export
-PipelineInstanceList <- R6::R6Class(
-
-	"PipelineInstanceList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("pipelineinstancelist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' PipelineInstance
-#' 
-#' PipelineInstance
-#' 
-#' @section Usage:
-#' \preformatted{pipelineInstance -> PipelineInstance$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-#' 	modified_at = NULL, pipeline_template_uuid = NULL,
-#' 	name = NULL, components = NULL, updated_at = NULL,
-#' 	properties = NULL, state = NULL, components_summary = NULL,
-#' 	started_at = NULL, finished_at = NULL, description = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{pipeline_template_uuid}{}
-#'     \item{name}{}
-#'     \item{components}{}
-#'     \item{updated_at}{}
-#'     \item{properties}{}
-#'     \item{state}{}
-#'     \item{components_summary}{}
-#'     \item{started_at}{}
-#'     \item{finished_at}{}
-#'     \item{description}{}
-#'   }
-#' 
-#' @name PipelineInstance
-NULL
-
-#' @export
-PipelineInstance <- R6::R6Class(
-
-	"PipelineInstance",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		pipeline_template_uuid = NULL,
-		name = NULL,
-		components = NULL,
-		updated_at = NULL,
-		properties = NULL,
-		state = NULL,
-		components_summary = NULL,
-		started_at = NULL,
-		finished_at = NULL,
-		description = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				pipeline_template_uuid = NULL, name = NULL,
-				components = NULL, updated_at = NULL, properties = NULL,
-				state = NULL, components_summary = NULL,
-				started_at = NULL, finished_at = NULL, description = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$pipeline_template_uuid <- pipeline_template_uuid
-			self$name <- name
-			self$components <- components
-			self$updated_at <- updated_at
-			self$properties <- properties
-			self$state <- state
-			self$components_summary <- components_summary
-			self$started_at <- started_at
-			self$finished_at <- finished_at
-			self$description <- description
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "pipeline_template_uuid",
-				"name", "components", "updated_at", "properties",
-				"state", "components_summary", "started_at",
-				"finished_at", "description")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("pipelineinstance" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' NodeList
-#' 
-#' Node list
-#' 
-#' @section Usage:
-#' \preformatted{nodeList -> NodeList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#nodeList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Nodes.}
-#'     \item{next_link}{A link to the next page of Nodes.}
-#'     \item{next_page_token}{The page token for the next page of Nodes.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name NodeList
-NULL
-
-#' @export
-NodeList <- R6::R6Class(
-
-	"NodeList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("nodelist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Node
-#' 
-#' Node
-#' 
-#' @section Usage:
-#' \preformatted{node -> Node$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, slot_number = NULL,
-#' 	hostname = NULL, domain = NULL, ip_address = NULL,
-#' 	first_ping_at = NULL, last_ping_at = NULL, info = NULL,
-#' 	updated_at = NULL, properties = NULL, job_uuid = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{slot_number}{}
-#'     \item{hostname}{}
-#'     \item{domain}{}
-#'     \item{ip_address}{}
-#'     \item{first_ping_at}{}
-#'     \item{last_ping_at}{}
-#'     \item{info}{}
-#'     \item{updated_at}{}
-#'     \item{properties}{}
-#'     \item{job_uuid}{}
-#'   }
-#' 
-#' @name Node
-NULL
-
-#' @export
-Node <- R6::R6Class(
-
-	"Node",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		slot_number = NULL,
-		hostname = NULL,
-		domain = NULL,
-		ip_address = NULL,
-		first_ping_at = NULL,
-		last_ping_at = NULL,
-		info = NULL,
-		updated_at = NULL,
-		properties = NULL,
-		job_uuid = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				slot_number = NULL, hostname = NULL, domain = NULL,
-				ip_address = NULL, first_ping_at = NULL,
-				last_ping_at = NULL, info = NULL, updated_at = NULL,
-				properties = NULL, job_uuid = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$slot_number <- slot_number
-			self$hostname <- hostname
-			self$domain <- domain
-			self$ip_address <- ip_address
-			self$first_ping_at <- first_ping_at
-			self$last_ping_at <- last_ping_at
-			self$info <- info
-			self$updated_at <- updated_at
-			self$properties <- properties
-			self$job_uuid <- job_uuid
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "slot_number",
-				"hostname", "domain", "ip_address", "first_ping_at",
-				"last_ping_at", "info", "updated_at", "properties",
-				"job_uuid")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("node" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' RepositoryList
-#' 
-#' Repository list
-#' 
-#' @section Usage:
-#' \preformatted{repositoryList -> RepositoryList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#repositoryList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Repositories.}
-#'     \item{next_link}{A link to the next page of Repositories.}
-#'     \item{next_page_token}{The page token for the next page of Repositories.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name RepositoryList
-NULL
-
-#' @export
-RepositoryList <- R6::R6Class(
-
-	"RepositoryList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("repositorylist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Repository
-#' 
-#' Repository
-#' 
-#' @section Usage:
-#' \preformatted{repository -> Repository$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-#' 	created_at = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name Repository
-NULL
-
-#' @export
-Repository <- R6::R6Class(
-
-	"Repository",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, created_at = NULL, updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"created_at", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("repository" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' SpecimenList
-#' 
-#' Specimen list
-#' 
-#' @section Usage:
-#' \preformatted{specimenList -> SpecimenList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#specimenList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Specimens.}
-#'     \item{next_link}{A link to the next page of Specimens.}
-#'     \item{next_page_token}{The page token for the next page of Specimens.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name SpecimenList
-NULL
-
-#' @export
-SpecimenList <- R6::R6Class(
-
-	"SpecimenList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("specimenlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Specimen
-#' 
-#' Specimen
-#' 
-#' @section Usage:
-#' \preformatted{specimen -> Specimen$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-#' 	modified_at = NULL, material = NULL, updated_at = NULL,
-#' 	properties = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{material}{}
-#'     \item{updated_at}{}
-#'     \item{properties}{}
-#'   }
-#' 
-#' @name Specimen
-NULL
-
-#' @export
-Specimen <- R6::R6Class(
-
-	"Specimen",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		material = NULL,
-		updated_at = NULL,
-		properties = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				material = NULL, updated_at = NULL, properties = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$material <- material
-			self$updated_at <- updated_at
-			self$properties <- properties
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "material",
-				"updated_at", "properties")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("specimen" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' LogList
-#' 
-#' Log list
-#' 
-#' @section Usage:
-#' \preformatted{logList -> LogList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#logList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Logs.}
-#'     \item{next_link}{A link to the next page of Logs.}
-#'     \item{next_page_token}{The page token for the next page of Logs.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name LogList
-NULL
-
-#' @export
-LogList <- R6::R6Class(
-
-	"LogList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("loglist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Log
-#' 
-#' Log
-#' 
-#' @section Usage:
-#' \preformatted{log -> Log$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, object_uuid = NULL, event_at = NULL,
-#' 	event_type = NULL, summary = NULL, properties = NULL,
-#' 	created_at = NULL, updated_at = NULL, modified_at = NULL,
-#' 	object_owner_uuid = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{object_uuid}{}
-#'     \item{event_at}{}
-#'     \item{event_type}{}
-#'     \item{summary}{}
-#'     \item{properties}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'     \item{modified_at}{}
-#'     \item{object_owner_uuid}{}
-#'   }
-#' 
-#' @name Log
-NULL
-
-#' @export
-Log <- R6::R6Class(
-
-	"Log",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		object_uuid = NULL,
-		event_at = NULL,
-		event_type = NULL,
-		summary = NULL,
-		properties = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-		modified_at = NULL,
-		object_owner_uuid = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, object_uuid = NULL,
-				event_at = NULL, event_type = NULL, summary = NULL,
-				properties = NULL, created_at = NULL, updated_at = NULL,
-				modified_at = NULL, object_owner_uuid = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$object_uuid <- object_uuid
-			self$event_at <- event_at
-			self$event_type <- event_type
-			self$summary <- summary
-			self$properties <- properties
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			self$modified_at <- modified_at
-			self$object_owner_uuid <- object_owner_uuid
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "object_uuid", "event_at",
-				"event_type", "summary", "properties", "created_at",
-				"updated_at", "modified_at", "object_owner_uuid")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("log" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' TraitList
-#' 
-#' Trait list
-#' 
-#' @section Usage:
-#' \preformatted{traitList -> TraitList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#traitList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Traits.}
-#'     \item{next_link}{A link to the next page of Traits.}
-#'     \item{next_page_token}{The page token for the next page of Traits.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name TraitList
-NULL
-
-#' @export
-TraitList <- R6::R6Class(
-
-	"TraitList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("traitlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Trait
-#' 
-#' Trait
-#' 
-#' @section Usage:
-#' \preformatted{trait -> Trait$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-#' 	properties = NULL, created_at = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{properties}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name Trait
-NULL
-
-#' @export
-Trait <- R6::R6Class(
-
-	"Trait",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		properties = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, properties = NULL, created_at = NULL,
-				updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$properties <- properties
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"properties", "created_at", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("trait" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' VirtualMachineList
-#' 
-#' VirtualMachine list
-#' 
-#' @section Usage:
-#' \preformatted{virtualMachineList -> VirtualMachineList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#virtualMachineList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of VirtualMachines.}
-#'     \item{next_link}{A link to the next page of VirtualMachines.}
-#'     \item{next_page_token}{The page token for the next page of VirtualMachines.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name VirtualMachineList
-NULL
-
-#' @export
-VirtualMachineList <- R6::R6Class(
-
-	"VirtualMachineList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("virtualmachinelist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' VirtualMachine
-#' 
-#' VirtualMachine
-#' 
-#' @section Usage:
-#' \preformatted{virtualMachine -> VirtualMachine$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, hostname = NULL,
-#' 	created_at = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{hostname}{}
-#'     \item{created_at}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name VirtualMachine
-NULL
-
-#' @export
-VirtualMachine <- R6::R6Class(
-
-	"VirtualMachine",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		hostname = NULL,
-		created_at = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				hostname = NULL, created_at = NULL, updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$hostname <- hostname
-			self$created_at <- created_at
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "hostname",
-				"created_at", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("virtualmachine" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' WorkflowList
-#' 
-#' Workflow list
-#' 
-#' @section Usage:
-#' \preformatted{workflowList -> WorkflowList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#workflowList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Workflows.}
-#'     \item{next_link}{A link to the next page of Workflows.}
-#'     \item{next_page_token}{The page token for the next page of Workflows.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name WorkflowList
-NULL
-
-#' @export
-WorkflowList <- R6::R6Class(
-
-	"WorkflowList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("workflowlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Workflow
-#' 
-#' Workflow
-#' 
-#' @section Usage:
-#' \preformatted{workflow -> Workflow$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, name = NULL, description = NULL,
-#' 	definition = NULL, updated_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{name}{}
-#'     \item{description}{}
-#'     \item{definition}{}
-#'     \item{updated_at}{}
-#'   }
-#' 
-#' @name Workflow
-NULL
-
-#' @export
-Workflow <- R6::R6Class(
-
-	"Workflow",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		name = NULL,
-		description = NULL,
-		definition = NULL,
-		updated_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_at = NULL,
-				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-				name = NULL, description = NULL, definition = NULL,
-				updated_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_at <- modified_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$name <- name
-			self$description <- description
-			self$definition <- definition
-			self$updated_at <- updated_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_at",
-				"modified_by_client_uuid", "modified_by_user_uuid",
-				"name", "description", "definition", "updated_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("workflow" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' GroupList
-#' 
-#' Group list
-#' 
-#' @section Usage:
-#' \preformatted{groupList -> GroupList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#groupList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of Groups.}
-#'     \item{next_link}{A link to the next page of Groups.}
-#'     \item{next_page_token}{The page token for the next page of Groups.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name GroupList
-NULL
-
-#' @export
-GroupList <- R6::R6Class(
-
-	"GroupList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("grouplist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' Group
-#' 
-#' Group
-#' 
-#' @section Usage:
-#' \preformatted{group -> Group$new(uuid = NULL, etag = NULL,
-#' 	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-#' 	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-#' 	description = NULL, updated_at = NULL, group_class = NULL,
-#' 	trash_at = NULL, is_trashed = NULL, delete_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{uuid}{}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{name}{}
-#'     \item{description}{}
-#'     \item{updated_at}{}
-#'     \item{group_class}{}
-#'     \item{trash_at}{}
-#'     \item{is_trashed}{}
-#'     \item{delete_at}{}
-#'   }
-#' 
-#' @name Group
-NULL
-
-#' @export
-Group <- R6::R6Class(
-
-	"Group",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		name = NULL,
-		description = NULL,
-		updated_at = NULL,
-		group_class = NULL,
-		trash_at = NULL,
-		is_trashed = NULL,
-		delete_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				name = NULL, description = NULL, updated_at = NULL,
-				group_class = NULL, trash_at = NULL, is_trashed = NULL,
-				delete_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$name <- name
-			self$description <- description
-			self$updated_at <- updated_at
-			self$group_class <- group_class
-			self$trash_at <- trash_at
-			self$is_trashed <- is_trashed
-			self$delete_at <- delete_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "name",
-				"description", "updated_at", "group_class",
-				"trash_at", "is_trashed", "delete_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("group" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' UserAgreementList
-#' 
-#' UserAgreement list
-#' 
-#' @section Usage:
-#' \preformatted{userAgreementList -> UserAgreementList$new(kind = NULL,
-#' 	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-#' 	selfLink = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{kind}{Object type. Always arvados#userAgreementList.}
-#'     \item{etag}{List version.}
-#'     \item{items}{The list of UserAgreements.}
-#'     \item{next_link}{A link to the next page of UserAgreements.}
-#'     \item{next_page_token}{The page token for the next page of UserAgreements.}
-#'     \item{selfLink}{A link back to this list.}
-#'   }
-#' 
-#' @name UserAgreementList
-NULL
-
-#' @export
-UserAgreementList <- R6::R6Class(
-
-	"UserAgreementList",
-
-	public = list(
-		kind = NULL,
-		etag = NULL,
-		items = NULL,
-		next_link = NULL,
-		next_page_token = NULL,
-		selfLink = NULL,
-
-		initialize = function(kind = NULL, etag = NULL,
-				items = NULL, next_link = NULL, next_page_token = NULL,
-				selfLink = NULL)
-		{
-			self$kind <- kind
-			self$etag <- etag
-			self$items <- items
-			self$next_link <- next_link
-			self$next_page_token <- next_page_token
-			self$selfLink <- selfLink
-			
-			private$classFields <- c("kind", "etag",
-				"items", "next_link", "next_page_token",
-				"selfLink")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("useragreementlist" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
-#' UserAgreement
-#' 
-#' UserAgreement
-#' 
-#' @section Usage:
-#' \preformatted{userAgreement -> UserAgreement$new(uuid = NULL,
-#' 	etag = NULL, owner_uuid = NULL, created_at = NULL,
-#' 	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-#' 	modified_at = NULL, portable_data_hash = NULL, replication_desired = NULL,
-#' 	replication_confirmed_at = NULL, replication_confirmed = NULL,
-#' 	updated_at = NULL, manifest_text = NULL, name = NULL,
-#' 	description = NULL, properties = NULL, delete_at = NULL,
-#' 	file_names = NULL, trash_at = NULL, is_trashed = NULL,
-#' 	storage_classes_desired = NULL, storage_classes_confirmed = NULL,
-#' 	storage_classes_confirmed_at = NULL)
-#' }
-#' 
-#' @section Arguments:
-#'   \describe{
-#'     \item{uuid}{Object ID.}
-#'     \item{etag}{Object version.}
-#'     \item{owner_uuid}{}
-#'     \item{created_at}{}
-#'     \item{modified_by_client_uuid}{}
-#'     \item{modified_by_user_uuid}{}
-#'     \item{modified_at}{}
-#'     \item{portable_data_hash}{}
-#'     \item{replication_desired}{}
-#'     \item{replication_confirmed_at}{}
-#'     \item{replication_confirmed}{}
-#'     \item{updated_at}{}
-#'     \item{uuid}{}
-#'     \item{manifest_text}{}
-#'     \item{name}{}
-#'     \item{description}{}
-#'     \item{properties}{}
-#'     \item{delete_at}{}
-#'     \item{file_names}{}
-#'     \item{trash_at}{}
-#'     \item{is_trashed}{}
-#'     \item{storage_classes_desired}{}
-#'     \item{storage_classes_confirmed}{}
-#'     \item{storage_classes_confirmed_at}{}
-#'   }
-#' 
-#' @name UserAgreement
-NULL
-
-#' @export
-UserAgreement <- R6::R6Class(
-
-	"UserAgreement",
-
-	public = list(
-		uuid = NULL,
-		etag = NULL,
-		owner_uuid = NULL,
-		created_at = NULL,
-		modified_by_client_uuid = NULL,
-		modified_by_user_uuid = NULL,
-		modified_at = NULL,
-		portable_data_hash = NULL,
-		replication_desired = NULL,
-		replication_confirmed_at = NULL,
-		replication_confirmed = NULL,
-		updated_at = NULL,
-		manifest_text = NULL,
-		name = NULL,
-		description = NULL,
-		properties = NULL,
-		delete_at = NULL,
-		file_names = NULL,
-		trash_at = NULL,
-		is_trashed = NULL,
-		storage_classes_desired = NULL,
-		storage_classes_confirmed = NULL,
-		storage_classes_confirmed_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL,
-				owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-				modified_by_user_uuid = NULL, modified_at = NULL,
-				portable_data_hash = NULL, replication_desired = NULL,
-				replication_confirmed_at = NULL, replication_confirmed = NULL,
-				updated_at = NULL, manifest_text = NULL,
-				name = NULL, description = NULL, properties = NULL,
-				delete_at = NULL, file_names = NULL, trash_at = NULL,
-				is_trashed = NULL, storage_classes_desired = NULL,
-				storage_classes_confirmed = NULL, storage_classes_confirmed_at = NULL)
-		{
-			self$uuid <- uuid
-			self$etag <- etag
-			self$owner_uuid <- owner_uuid
-			self$created_at <- created_at
-			self$modified_by_client_uuid <- modified_by_client_uuid
-			self$modified_by_user_uuid <- modified_by_user_uuid
-			self$modified_at <- modified_at
-			self$portable_data_hash <- portable_data_hash
-			self$replication_desired <- replication_desired
-			self$replication_confirmed_at <- replication_confirmed_at
-			self$replication_confirmed <- replication_confirmed
-			self$updated_at <- updated_at
-			self$manifest_text <- manifest_text
-			self$name <- name
-			self$description <- description
-			self$properties <- properties
-			self$delete_at <- delete_at
-			self$file_names <- file_names
-			self$trash_at <- trash_at
-			self$is_trashed <- is_trashed
-			self$storage_classes_desired <- storage_classes_desired
-			self$storage_classes_confirmed <- storage_classes_confirmed
-			self$storage_classes_confirmed_at <- storage_classes_confirmed_at
-			
-			private$classFields <- c("uuid", "etag",
-				"owner_uuid", "created_at", "modified_by_client_uuid",
-				"modified_by_user_uuid", "modified_at", "portable_data_hash",
-				"replication_desired", "replication_confirmed_at",
-				"replication_confirmed", "updated_at", "manifest_text",
-				"name", "description", "properties", "delete_at",
-				"file_names", "trash_at", "is_trashed", "storage_classes_desired",
-				"storage_classes_confirmed", "storage_classes_confirmed_at")
-		},
-
-		toJSON = function() {
-			fields <- sapply(private$classFields, function(field)
-			{
-				self[[field]]
-			}, USE.NAMES = TRUE)
-			
-			jsonlite::toJSON(list("useragreement" = 
-                     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
-		}
-	),
-
-	private = list(
-		classFields = NULL
-	),
-
-	cloneable = FALSE
-)
-
diff --git a/sdk/R/R/Collection.R b/sdk/R/R/Collection.R
index 211576b..fad452a 100644
--- a/sdk/R/R/Collection.R
+++ b/sdk/R/R/Collection.R
@@ -53,76 +53,18 @@ Collection <- R6::R6Class(
 
     public = list(
 
-		uuid                         = NULL,
-		etag                         = NULL,
-		owner_uuid                   = NULL,
-		created_at                   = NULL,
-		modified_by_client_uuid      = NULL,
-		modified_by_user_uuid        = NULL,
-		modified_at                  = NULL,
-		portable_data_hash           = NULL,
-		replication_desired          = NULL,
-		replication_confirmed_at     = NULL,
-		replication_confirmed        = NULL,
-		updated_at                   = NULL,
-		manifest_text                = NULL,
-		name                         = NULL,
-		description                  = NULL,
-		properties                   = NULL,
-		delete_at                    = NULL,
-		file_names                   = NULL,
-		trash_at                     = NULL,
-		is_trashed                   = NULL,
-        storage_classes_desired      = NULL,
-        storage_classes_confirmed    = NULL,
-        storage_classes_confirmed_at = NULL,
-
-		initialize = function(uuid = NULL, etag = NULL, owner_uuid = NULL,
-                              created_at = NULL, modified_by_client_uuid = NULL,
-                              modified_by_user_uuid = NULL, modified_at = NULL,
-                              portable_data_hash = NULL, replication_desired = NULL,
-                              replication_confirmed_at = NULL,
-                              replication_confirmed = NULL, updated_at = NULL,
-                              manifest_text = NULL, name = NULL, description = NULL,
-                              properties = NULL, delete_at = NULL, file_names = NULL,
-                              trash_at = NULL, is_trashed = NULL,
-                              storage_classes_desired = NULL,
-                              storage_classes_confirmed = NULL,
-                              storage_classes_confirmed_at = NULL) 
+		uuid = NULL,
+        # api  = NULL,
+
+		initialize = function(api, uuid) 
         {
-			self$uuid                         <- uuid
-			self$etag                         <- etag
-			self$owner_uuid                   <- owner_uuid
-			self$created_at                   <- created_at
-			self$modified_by_client_uuid      <- modified_by_client_uuid
-			self$modified_by_user_uuid        <- modified_by_user_uuid
-			self$modified_at                  <- modified_at
-			self$portable_data_hash           <- portable_data_hash
-			self$replication_desired          <- replication_desired
-			self$replication_confirmed_at     <- replication_confirmed_at
-			self$replication_confirmed        <- replication_confirmed
-			self$updated_at                   <- updated_at
-			self$manifest_text                <- manifest_text
-			self$name                         <- name
-			self$description                  <- description
-			self$properties                   <- properties
-			self$delete_at                    <- delete_at
-			self$file_names                   <- file_names
-			self$trash_at                     <- trash_at
-			self$is_trashed                   <- is_trashed
-            self$storage_classes_desired      <- storage_classes_desired
-            self$storage_classes_confirmed    <- storage_classes_confirmed
-            self$storage_classes_confirmed_at <- storage_classes_confirmed_at
-			
-			private$classFields <- c("uuid", "etag", "owner_uuid", 
-                                     "created_at", "modified_by_client_uuid",
-                                     "modified_by_user_uuid", "modified_at",
-                                     "portable_data_hash", "replication_desired",
-                                     "replication_confirmed_at",
-                                     "replication_confirmed", "updated_at",
-                                     "manifest_text", "name", "description", 
-                                     "properties", "delete_at", "file_names",
-                                     "trash_at", "is_trashed")
+            # 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 = "")
diff --git a/sdk/R/R/autoGenAPI.R b/sdk/R/R/autoGenAPI.R
index 2163e3a..a233938 100644
--- a/sdk/R/R/autoGenAPI.R
+++ b/sdk/R/R/autoGenAPI.R
@@ -10,24 +10,14 @@ generateAPI <- function()
 {
     #TODO: Consider passing discovery document URL as parameter.
     #TODO: Consider passing location where to create new files.
-    JSONDocument <- getAPIDocument()
+    discoveryDocument <- getAPIDocument()
 
-    generateArvadosClasses(JSONDocument)
-    generateArvadosAPIClass(JSONDocument)
-}
-
-#NOTE: Arvados class generation:
-
-generateArvadosAPIClass <- function(discoveryDocument)
-{
-    classMetaData   <- discoveryDocument$schemas
     methodResources <- discoveryDocument$resources
     resourceNames   <- names(methodResources)
 
     doc <- generateMethodsDocumentation(methodResources, resourceNames)
     arvadosAPIHeader <- generateAPIClassHeader()
-    arvadosClassMethods <- generateClassContent(methodResources, 
-                                                resourceNames, classMetaData)
+    arvadosClassMethods <- generateClassContent(methodResources, resourceNames)
     arvadosAPIFooter <- generateAPIClassFooter()
 
     arvadosClass <- c(doc,
@@ -77,7 +67,7 @@ generateAPIClassHeader <- function()
       "\t\t},\n")
 }
 
-generateClassContent <- function(methodResources, resourceNames, classMetaData)
+generateClassContent <- function(methodResources, resourceNames)
 {
     arvadosMethods <- Map(function(resource, resourceName)
     {
@@ -86,7 +76,7 @@ generateClassContent <- function(methodResources, resourceNames, classMetaData)
         functions <- Map(function(methodMetaData, methodName)
         {
             methodName <- paste0(resourceName, ".", methodName)
-            createMethod(methodName, methodMetaData, classMetaData)
+            createMethod(methodName, methodMetaData)
 
         }, resource$methods, methodNames)
 
@@ -101,7 +91,8 @@ generateAPIClassFooter <- function()
 {
     c("\t\tgetHostName = function() private$host,",
       "\t\tgetToken = function() private$token,",
-      "\t\tsetRESTService = function(newREST) private$REST <- newREST",
+      "\t\tsetRESTService = function(newREST) private$REST <- newREST,",
+      "\t\tgetRESTService = function() private$REST",
       "\t),",
       "",
       "\tprivate = list(",
@@ -116,11 +107,11 @@ generateAPIClassFooter <- function()
       ")")
 }
 
-createMethod <- function(name, methodMetaData, classMetaData)
+createMethod <- function(name, methodMetaData)
 {
     args      <- getMethodArguments(methodMetaData)
     signature <- getMethodSignature(name, args)
-    body      <- getMethodBody(methodMetaData, classMetaData)
+    body      <- getMethodBody(methodMetaData)
 
     c(signature,
       "\t\t{",
@@ -137,10 +128,12 @@ getMethodArguments <- function(methodMetaData)
 
     if(!is.null(request))
     {
+        resourceName <- tolower(request$properties[[1]][[1]])
+
         if(request$required)
-            requestArgs <- names(request$properties)
+            requestArgs <- resourceName
         else
-            requestArgs <- paste(names(request$properties), "=", "NULL")
+            requestArgs <- paste(resourceName, "=", "NULL")
     }
 
     argNames <- names(methodMetaData$parameters)
@@ -180,7 +173,7 @@ getMethodSignature <- function(methodName, args)
     }
 }
 
-getMethodBody <- function(methodMetaData, classMetaData)
+getMethodBody <- function(methodMetaData)
 {
     url              <- getRequestURL(methodMetaData)
     headers          <- getRequestHeaders()
@@ -189,16 +182,14 @@ getMethodBody <- function(methodMetaData, classMetaData)
     request          <- getRequest(methodMetaData)
     response         <- getResponse(methodMetaData)
     errorCheck       <- getErrorCheckingCode()
-    returnObject     <- getReturnObject(methodMetaData, classMetaData)
     returnStatement  <- getReturnObjectValidationCode()
 
     body <- c(url,
               headers,
-              requestQueryList,
+              requestQueryList, "",
               requestBody, "",
               request, response, "",
               errorCheck, "",
-              returnObject, "",
               returnStatement)
 
     paste0("\t\t\t", body)
@@ -221,16 +212,19 @@ getRequestHeaders <- function()
 
 getRequestQueryList <- function(methodMetaData)
 {
-    args <- names(methodMetaData$parameters)
+    queryArgs <- names(Filter(function(arg) arg$location == "query",
+                        methodMetaData$parameters))
 
-    if(length(args) == 0)
+    if(length(queryArgs) == 0)
         return("queryArgs <- NULL")
 
-    args <- sapply(args, function(arg) paste0(arg, " = ", arg))
-    collapsedArgs <- paste0(args, collapse = ", ")
+    queryArgs <- sapply(queryArgs, function(arg) paste0(arg, " = ", arg))
+    collapsedArgs <- paste0(queryArgs, collapse = ", ")
 
-    if(nchar(collapsedArgs) > 40)
-        return(formatArgs("queryArgs <- list(", "\t", args, ")", 40))
+    lineLengthLimit <- 40
+
+    if(nchar(collapsedArgs) > lineLengthLimit)
+        return(formatArgs("queryArgs <- list(", "\t", queryArgs, ")", lineLengthLimit))
     else
         return(paste0("queryArgs <- list(", collapsedArgs, ")"))
 }
@@ -242,8 +236,15 @@ getRequestBody <- function(methodMetaData)
     if(is.null(request) || !request$required)
         return("body <- NULL")
 
+    resourceName <- tolower(request$properties[[1]][[1]])
+
     requestParameterName <- names(request$properties)[1]
-    paste0("body <- ", requestParameterName, "$toJSON()")
+
+    c(paste0("if(length(", resourceName, ") > 0)"),
+      paste0("\tbody <- jsonlite::toJSON(list(", resourceName, " = ", resourceName, "), "),
+             "                           auto_unbox = TRUE)",
+      "else",
+      "\tbody <- NULL")
 }
 
 getRequest <- function(methodMetaData)
@@ -264,42 +265,11 @@ getErrorCheckingCode <- function()
       "\tstop(resource$errors)")
 }
 
-getReturnObject <- function(methodMetaData, classMetaData)
-{
-    returnClass <- methodMetaData$response[["$ref"]]
-    classArguments <- getReturnClassArguments(returnClass, classMetaData)
-
-    if(returnClass == "Collection")
-        return(c(formatArgs("result <- Collection$new(", "\t",
-                            classArguments, ")", 40),
-                 "",
-                 "result$setRESTService(private$REST)"))
-
-    formatArgs(paste0("result <- ", returnClass, "$new("),
-               "\t", classArguments, ")", 40)
-}
-
 getReturnObjectValidationCode <- function()
 {
-    c("if(result$isEmpty())",
-      "\tresource",
-      "else",
-      "\tresult")
-}
-
-getReturnClassArguments <- function(className, classMetaData)
-{
-    classArguments <- unique(names(classMetaData[[className]]$properties))
-
-    arguments <- sapply(classArguments, function(arg)
-    {
-        paste0(arg, " = resource$", arg)
-    })
-
-    arguments
+    "resource"
 }
 
-
 #NOTE: Arvados class documentation:
 
 generateMethodsDocumentation <- function(methodResources, resourceNames)
@@ -376,118 +346,6 @@ getMethodDescription <- function(methodMetaData)
     c(requestDoc, argsDoc)
 }
 
-#NOTE: API Classes generation:
-
-generateArvadosClasses <- function(resources)
-{
-    classes <- sapply(resources$schemas, function(classSchema)
-    {
-        #NOTE: Collection is implemented manually.
-        if(classSchema$id != "Collection")
-            getArvadosClass(classSchema)
-
-    }, USE.NAMES = TRUE)
-
-    fileConn <- file("./R/ArvadosClasses.R", "w")
-    writeLines(unlist(classes), fileConn)
-    close(fileConn)
-    NULL
-}
-
-getArvadosClass <- function(classSchema)
-{
-    name            <- classSchema$id
-    fields          <- unique(names(classSchema$properties))
-    constructorArgs <- paste(fields, "= NULL")
-    documentation   <- getClassDocumentation(classSchema, constructorArgs)
-
-    classString <- c(documentation,
-              paste0(name, " <- R6::R6Class("),
-                     "",
-              paste0("\t\"", name, "\","),
-                     "",
-                     "\tpublic = list(",
-              paste0("\t\t", fields, " = NULL,"),
-                     "",
-              paste0("\t\t", formatArgs("initialize = function(", "\t\t",
-                                        constructorArgs, ")", 40)),
-                     "\t\t{",
-              paste0("\t\t\tself$", fields, " <- ", fields),
-                     "\t\t\t",
-              paste0("\t\t\t", formatArgs("private$classFields <- c(", "\t",
-                                         paste0("\"", fields, "\""), ")", 40)),
-                     "\t\t},",
-                     "",
-                     "\t\ttoJSON = function() {",
-                     "\t\t\tfields <- sapply(private$classFields, function(field)",
-                     "\t\t\t{",
-                     "\t\t\t\tself[[field]]",
-                     "\t\t\t}, USE.NAMES = TRUE)",
-                     "\t\t\t",
-              paste0("\t\t\tjsonlite::toJSON(list(\"", tolower(name), "\" = 
-                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)"),
-                     "\t\t},",
-                     "",
-                     "\t\tisEmpty = function() {",
-                     "\t\t\tfields <- sapply(private$classFields,",
-                     "\t\t\t                 function(field) self[[field]])",
-                     "",
-              paste0("\t\t\tif(any(sapply(fields, function(field) !is.null(field)",
-                     " && field != \"\")))"),
-                     "\t\t\t\tFALSE",
-                     "\t\t\telse",
-                     "\t\t\t\tTRUE",
-                     "\t\t}",
-                     "\t),",
-                     "",
-                     "\tprivate = list(",
-                     "\t\tclassFields = NULL",
-                     "\t),",
-                     "",
-                     "\tcloneable = FALSE",
-                     ")",
-                     "")
-}
-
-#NOTE: API Classes documentation:
-
-getClassDocumentation <- function(classSchema, constructorArgs)
-{
-    name                     <- classSchema$id
-    description              <- classSchema$description
-    nameLowercaseFirstLetter <- paste0(tolower(substr(name, 1, 1)),
-                                       substr(name, 2, nchar(name)))
-    c(paste0("#' ", name),
-             "#' ",
-      paste0("#' ", description),
-             "#' ",
-             "#' @section Usage:",
-             formatArgs(paste0("#' \\preformatted{",
-                               nameLowercaseFirstLetter, " -> ", name, "$new("),
-                        "#' \t", constructorArgs, ")", 50),
-             "#' }",
-             "#' ",
-      paste0("#' @section Arguments:"),
-             "#'   \\describe{",
-      paste0("#'     ", getClassArgumentDescription(classSchema)),
-             "#'   }",
-             "#' ",
-      paste0("#' @name ", name),
-             "NULL",
-             "",
-             "#' @export")
-}
-
-getClassArgumentDescription <- function(classSchema)
-{
-    argDoc <- sapply(classSchema$properties, function(arg)
-    {    
-        paste0("{", arg$description, "}")
-    }, USE.NAMES = TRUE)
-
-    paste0("\\item{", names(classSchema$properties), "}", argDoc)
-}
-
 #NOTE: Utility functions:
 
 formatArgs <- function(prependAtStart, prependToEachSplit,
diff --git a/sdk/R/man/ApiClient.Rd b/sdk/R/man/ApiClient.Rd
deleted file mode 100644
index 1a0aaa5..0000000
--- a/sdk/R/man/ApiClient.Rd
+++ /dev/null
@@ -1,36 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ApiClient}
-\alias{ApiClient}
-\title{ApiClient}
-\description{
-ApiClient
-}
-\section{Usage}{
-
-\preformatted{apiClient -> ApiClient$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-	url_prefix = NULL, created_at = NULL, updated_at = NULL,
-	is_trusted = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{url_prefix}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{is_trusted}{}
-  }
-}
-
diff --git a/sdk/R/man/ApiClientAuthorization.Rd b/sdk/R/man/ApiClientAuthorization.Rd
deleted file mode 100644
index ef74a16..0000000
--- a/sdk/R/man/ApiClientAuthorization.Rd
+++ /dev/null
@@ -1,38 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ApiClientAuthorization}
-\alias{ApiClientAuthorization}
-\title{ApiClientAuthorization}
-\description{
-ApiClientAuthorization
-}
-\section{Usage}{
-
-\preformatted{apiClientAuthorization -> ApiClientAuthorization$new(uuid = NULL,
-	etag = NULL, api_token = NULL, api_client_id = NULL,
-	user_id = NULL, created_by_ip_address = NULL, last_used_by_ip_address = NULL,
-	last_used_at = NULL, expires_at = NULL, created_at = NULL,
-	updated_at = NULL, default_owner_uuid = NULL, scopes = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{api_token}{}
-    \item{api_client_id}{}
-    \item{user_id}{}
-    \item{created_by_ip_address}{}
-    \item{last_used_by_ip_address}{}
-    \item{last_used_at}{}
-    \item{expires_at}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{default_owner_uuid}{}
-    \item{scopes}{}
-    \item{uuid}{}
-  }
-}
-
diff --git a/sdk/R/man/ApiClientAuthorizationList.Rd b/sdk/R/man/ApiClientAuthorizationList.Rd
deleted file mode 100644
index 9c3a6b5..0000000
--- a/sdk/R/man/ApiClientAuthorizationList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ApiClientAuthorizationList}
-\alias{ApiClientAuthorizationList}
-\title{ApiClientAuthorizationList}
-\description{
-ApiClientAuthorization list
-}
-\section{Usage}{
-
-\preformatted{apiClientAuthorizationList -> ApiClientAuthorizationList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#apiClientAuthorizationList.}
-    \item{etag}{List version.}
-    \item{items}{The list of ApiClientAuthorizations.}
-    \item{next_link}{A link to the next page of ApiClientAuthorizations.}
-    \item{next_page_token}{The page token for the next page of ApiClientAuthorizations.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/ApiClientList.Rd b/sdk/R/man/ApiClientList.Rd
deleted file mode 100644
index c632c3f..0000000
--- a/sdk/R/man/ApiClientList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ApiClientList}
-\alias{ApiClientList}
-\title{ApiClientList}
-\description{
-ApiClient list
-}
-\section{Usage}{
-
-\preformatted{apiClientList -> ApiClientList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#apiClientList.}
-    \item{etag}{List version.}
-    \item{items}{The list of ApiClients.}
-    \item{next_link}{A link to the next page of ApiClients.}
-    \item{next_page_token}{The page token for the next page of ApiClients.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/AuthorizedKey.Rd b/sdk/R/man/AuthorizedKey.Rd
deleted file mode 100644
index 458b9ca..0000000
--- a/sdk/R/man/AuthorizedKey.Rd
+++ /dev/null
@@ -1,38 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{AuthorizedKey}
-\alias{AuthorizedKey}
-\title{AuthorizedKey}
-\description{
-AuthorizedKey
-}
-\section{Usage}{
-
-\preformatted{authorizedKey -> AuthorizedKey$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-	key_type = NULL, authorized_user_uuid = NULL, public_key = NULL,
-	expires_at = NULL, created_at = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{key_type}{}
-    \item{authorized_user_uuid}{}
-    \item{public_key}{}
-    \item{expires_at}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/AuthorizedKeyList.Rd b/sdk/R/man/AuthorizedKeyList.Rd
deleted file mode 100644
index 17c584f..0000000
--- a/sdk/R/man/AuthorizedKeyList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{AuthorizedKeyList}
-\alias{AuthorizedKeyList}
-\title{AuthorizedKeyList}
-\description{
-AuthorizedKey list
-}
-\section{Usage}{
-
-\preformatted{authorizedKeyList -> AuthorizedKeyList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#authorizedKeyList.}
-    \item{etag}{List version.}
-    \item{items}{The list of AuthorizedKeys.}
-    \item{next_link}{A link to the next page of AuthorizedKeys.}
-    \item{next_page_token}{The page token for the next page of AuthorizedKeys.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/CollectionList.Rd b/sdk/R/man/CollectionList.Rd
deleted file mode 100644
index 33bb954..0000000
--- a/sdk/R/man/CollectionList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{CollectionList}
-\alias{CollectionList}
-\title{CollectionList}
-\description{
-Collection list
-}
-\section{Usage}{
-
-\preformatted{collectionList -> CollectionList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#collectionList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Collections.}
-    \item{next_link}{A link to the next page of Collections.}
-    \item{next_page_token}{The page token for the next page of Collections.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Container.Rd b/sdk/R/man/Container.Rd
deleted file mode 100644
index bb078f2..0000000
--- a/sdk/R/man/Container.Rd
+++ /dev/null
@@ -1,56 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Container}
-\alias{Container}
-\title{Container}
-\description{
-Container
-}
-\section{Usage}{
-
-\preformatted{container -> Container$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, state = NULL, started_at = NULL,
-	finished_at = NULL, log = NULL, environment = NULL,
-	cwd = NULL, command = NULL, output_path = NULL, mounts = NULL,
-	runtime_constraints = NULL, output = NULL, container_image = NULL,
-	progress = NULL, priority = NULL, updated_at = NULL,
-	exit_code = NULL, auth_uuid = NULL, locked_by_uuid = NULL,
-	scheduling_parameters = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{state}{}
-    \item{started_at}{}
-    \item{finished_at}{}
-    \item{log}{}
-    \item{environment}{}
-    \item{cwd}{}
-    \item{command}{}
-    \item{output_path}{}
-    \item{mounts}{}
-    \item{runtime_constraints}{}
-    \item{output}{}
-    \item{container_image}{}
-    \item{progress}{}
-    \item{priority}{}
-    \item{updated_at}{}
-    \item{exit_code}{}
-    \item{auth_uuid}{}
-    \item{locked_by_uuid}{}
-    \item{scheduling_parameters}{}
-  }
-}
-
diff --git a/sdk/R/man/ContainerList.Rd b/sdk/R/man/ContainerList.Rd
deleted file mode 100644
index bfa8202..0000000
--- a/sdk/R/man/ContainerList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ContainerList}
-\alias{ContainerList}
-\title{ContainerList}
-\description{
-Container list
-}
-\section{Usage}{
-
-\preformatted{containerList -> ContainerList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#containerList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Containers.}
-    \item{next_link}{A link to the next page of Containers.}
-    \item{next_page_token}{The page token for the next page of Containers.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/ContainerRequest.Rd b/sdk/R/man/ContainerRequest.Rd
deleted file mode 100644
index 8b38410..0000000
--- a/sdk/R/man/ContainerRequest.Rd
+++ /dev/null
@@ -1,64 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ContainerRequest}
-\alias{ContainerRequest}
-\title{ContainerRequest}
-\description{
-ContainerRequest
-}
-\section{Usage}{
-
-\preformatted{containerRequest -> ContainerRequest$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, name = NULL, description = NULL,
-	properties = NULL, state = NULL, requesting_container_uuid = NULL,
-	container_uuid = NULL, container_count_max = NULL,
-	mounts = NULL, runtime_constraints = NULL, container_image = NULL,
-	environment = NULL, cwd = NULL, command = NULL, output_path = NULL,
-	priority = NULL, expires_at = NULL, filters = NULL,
-	updated_at = NULL, container_count = NULL, use_existing = NULL,
-	scheduling_parameters = NULL, output_uuid = NULL, log_uuid = NULL,
-	output_name = NULL, output_ttl = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{name}{}
-    \item{description}{}
-    \item{properties}{}
-    \item{state}{}
-    \item{requesting_container_uuid}{}
-    \item{container_uuid}{}
-    \item{container_count_max}{}
-    \item{mounts}{}
-    \item{runtime_constraints}{}
-    \item{container_image}{}
-    \item{environment}{}
-    \item{cwd}{}
-    \item{command}{}
-    \item{output_path}{}
-    \item{priority}{}
-    \item{expires_at}{}
-    \item{filters}{}
-    \item{updated_at}{}
-    \item{container_count}{}
-    \item{use_existing}{}
-    \item{scheduling_parameters}{}
-    \item{output_uuid}{}
-    \item{log_uuid}{}
-    \item{output_name}{}
-    \item{output_ttl}{}
-  }
-}
-
diff --git a/sdk/R/man/ContainerRequestList.Rd b/sdk/R/man/ContainerRequestList.Rd
deleted file mode 100644
index f44717d..0000000
--- a/sdk/R/man/ContainerRequestList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{ContainerRequestList}
-\alias{ContainerRequestList}
-\title{ContainerRequestList}
-\description{
-ContainerRequest list
-}
-\section{Usage}{
-
-\preformatted{containerRequestList -> ContainerRequestList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#containerRequestList.}
-    \item{etag}{List version.}
-    \item{items}{The list of ContainerRequests.}
-    \item{next_link}{A link to the next page of ContainerRequests.}
-    \item{next_page_token}{The page token for the next page of ContainerRequests.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Group.Rd b/sdk/R/man/Group.Rd
deleted file mode 100644
index e7e9139..0000000
--- a/sdk/R/man/Group.Rd
+++ /dev/null
@@ -1,39 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Group}
-\alias{Group}
-\title{Group}
-\description{
-Group
-}
-\section{Usage}{
-
-\preformatted{group -> Group$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-	description = NULL, updated_at = NULL, group_class = NULL,
-	trash_at = NULL, is_trashed = NULL, delete_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{description}{}
-    \item{updated_at}{}
-    \item{group_class}{}
-    \item{trash_at}{}
-    \item{is_trashed}{}
-    \item{delete_at}{}
-  }
-}
-
diff --git a/sdk/R/man/GroupList.Rd b/sdk/R/man/GroupList.Rd
deleted file mode 100644
index ddfc57b..0000000
--- a/sdk/R/man/GroupList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{GroupList}
-\alias{GroupList}
-\title{GroupList}
-\description{
-Group list
-}
-\section{Usage}{
-
-\preformatted{groupList -> GroupList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#groupList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Groups.}
-    \item{next_link}{A link to the next page of Groups.}
-    \item{next_page_token}{The page token for the next page of Groups.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Human.Rd b/sdk/R/man/Human.Rd
deleted file mode 100644
index d90e576..0000000
--- a/sdk/R/man/Human.Rd
+++ /dev/null
@@ -1,33 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Human}
-\alias{Human}
-\title{Human}
-\description{
-Human
-}
-\section{Usage}{
-
-\preformatted{human -> Human$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, properties = NULL,
-	created_at = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{properties}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/HumanList.Rd b/sdk/R/man/HumanList.Rd
deleted file mode 100644
index 4359f5e..0000000
--- a/sdk/R/man/HumanList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{HumanList}
-\alias{HumanList}
-\title{HumanList}
-\description{
-Human list
-}
-\section{Usage}{
-
-\preformatted{humanList -> HumanList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#humanList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Humans.}
-    \item{next_link}{A link to the next page of Humans.}
-    \item{next_page_token}{The page token for the next page of Humans.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Job.Rd b/sdk/R/man/Job.Rd
deleted file mode 100644
index feb8546..0000000
--- a/sdk/R/man/Job.Rd
+++ /dev/null
@@ -1,67 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Job}
-\alias{Job}
-\title{Job}
-\description{
-Job
-}
-\section{Usage}{
-
-\preformatted{job -> Job$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, submit_id = NULL,
-	script = NULL, script_version = NULL, script_parameters = NULL,
-	cancelled_by_client_uuid = NULL, cancelled_by_user_uuid = NULL,
-	cancelled_at = NULL, started_at = NULL, finished_at = NULL,
-	running = NULL, success = NULL, output = NULL, created_at = NULL,
-	updated_at = NULL, is_locked_by_uuid = NULL, log = NULL,
-	tasks_summary = NULL, runtime_constraints = NULL, nondeterministic = NULL,
-	repository = NULL, supplied_script_version = NULL,
-	docker_image_locator = NULL, priority = NULL, description = NULL,
-	state = NULL, arvados_sdk_version = NULL, components = NULL,
-	script_parameters_digest = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{submit_id}{}
-    \item{script}{}
-    \item{script_version}{}
-    \item{script_parameters}{}
-    \item{cancelled_by_client_uuid}{}
-    \item{cancelled_by_user_uuid}{}
-    \item{cancelled_at}{}
-    \item{started_at}{}
-    \item{finished_at}{}
-    \item{running}{}
-    \item{success}{}
-    \item{output}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{is_locked_by_uuid}{}
-    \item{log}{}
-    \item{tasks_summary}{}
-    \item{runtime_constraints}{}
-    \item{nondeterministic}{}
-    \item{repository}{}
-    \item{supplied_script_version}{}
-    \item{docker_image_locator}{}
-    \item{priority}{}
-    \item{description}{}
-    \item{state}{}
-    \item{arvados_sdk_version}{}
-    \item{components}{}
-    \item{script_parameters_digest}{}
-  }
-}
-
diff --git a/sdk/R/man/JobList.Rd b/sdk/R/man/JobList.Rd
deleted file mode 100644
index 4302d77..0000000
--- a/sdk/R/man/JobList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{JobList}
-\alias{JobList}
-\title{JobList}
-\description{
-Job list
-}
-\section{Usage}{
-
-\preformatted{jobList -> JobList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#jobList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Jobs.}
-    \item{next_link}{A link to the next page of Jobs.}
-    \item{next_page_token}{The page token for the next page of Jobs.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/JobTask.Rd b/sdk/R/man/JobTask.Rd
deleted file mode 100644
index 92b6e8f..0000000
--- a/sdk/R/man/JobTask.Rd
+++ /dev/null
@@ -1,45 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{JobTask}
-\alias{JobTask}
-\title{JobTask}
-\description{
-JobTask
-}
-\section{Usage}{
-
-\preformatted{jobTask -> JobTask$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, job_uuid = NULL,
-	sequence = NULL, parameters = NULL, output = NULL,
-	progress = NULL, success = NULL, created_at = NULL,
-	updated_at = NULL, created_by_job_task_uuid = NULL,
-	qsequence = NULL, started_at = NULL, finished_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{job_uuid}{}
-    \item{sequence}{}
-    \item{parameters}{}
-    \item{output}{}
-    \item{progress}{}
-    \item{success}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{created_by_job_task_uuid}{}
-    \item{qsequence}{}
-    \item{started_at}{}
-    \item{finished_at}{}
-  }
-}
-
diff --git a/sdk/R/man/JobTaskList.Rd b/sdk/R/man/JobTaskList.Rd
deleted file mode 100644
index 1b40c64..0000000
--- a/sdk/R/man/JobTaskList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{JobTaskList}
-\alias{JobTaskList}
-\title{JobTaskList}
-\description{
-JobTask list
-}
-\section{Usage}{
-
-\preformatted{jobTaskList -> JobTaskList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#jobTaskList.}
-    \item{etag}{List version.}
-    \item{items}{The list of JobTasks.}
-    \item{next_link}{A link to the next page of JobTasks.}
-    \item{next_page_token}{The page token for the next page of JobTasks.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/KeepDisk.Rd b/sdk/R/man/KeepDisk.Rd
deleted file mode 100644
index 08a9b50..0000000
--- a/sdk/R/man/KeepDisk.Rd
+++ /dev/null
@@ -1,46 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{KeepDisk}
-\alias{KeepDisk}
-\title{KeepDisk}
-\description{
-KeepDisk
-}
-\section{Usage}{
-
-\preformatted{keepDisk -> KeepDisk$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, ping_secret = NULL,
-	node_uuid = NULL, filesystem_uuid = NULL, bytes_total = NULL,
-	bytes_free = NULL, is_readable = NULL, is_writable = NULL,
-	last_read_at = NULL, last_write_at = NULL, last_ping_at = NULL,
-	created_at = NULL, updated_at = NULL, keep_service_uuid = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{ping_secret}{}
-    \item{node_uuid}{}
-    \item{filesystem_uuid}{}
-    \item{bytes_total}{}
-    \item{bytes_free}{}
-    \item{is_readable}{}
-    \item{is_writable}{}
-    \item{last_read_at}{}
-    \item{last_write_at}{}
-    \item{last_ping_at}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{keep_service_uuid}{}
-  }
-}
-
diff --git a/sdk/R/man/KeepDiskList.Rd b/sdk/R/man/KeepDiskList.Rd
deleted file mode 100644
index e94bf7f..0000000
--- a/sdk/R/man/KeepDiskList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{KeepDiskList}
-\alias{KeepDiskList}
-\title{KeepDiskList}
-\description{
-KeepDisk list
-}
-\section{Usage}{
-
-\preformatted{keepDiskList -> KeepDiskList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#keepDiskList.}
-    \item{etag}{List version.}
-    \item{items}{The list of KeepDisks.}
-    \item{next_link}{A link to the next page of KeepDisks.}
-    \item{next_page_token}{The page token for the next page of KeepDisks.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/KeepService.Rd b/sdk/R/man/KeepService.Rd
deleted file mode 100644
index 00e80d4..0000000
--- a/sdk/R/man/KeepService.Rd
+++ /dev/null
@@ -1,38 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{KeepService}
-\alias{KeepService}
-\title{KeepService}
-\description{
-KeepService
-}
-\section{Usage}{
-
-\preformatted{keepService -> KeepService$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, service_host = NULL,
-	service_port = NULL, service_ssl_flag = NULL, service_type = NULL,
-	created_at = NULL, updated_at = NULL, read_only = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{service_host}{}
-    \item{service_port}{}
-    \item{service_ssl_flag}{}
-    \item{service_type}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{read_only}{}
-  }
-}
-
diff --git a/sdk/R/man/KeepServiceList.Rd b/sdk/R/man/KeepServiceList.Rd
deleted file mode 100644
index 7e76d00..0000000
--- a/sdk/R/man/KeepServiceList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{KeepServiceList}
-\alias{KeepServiceList}
-\title{KeepServiceList}
-\description{
-KeepService list
-}
-\section{Usage}{
-
-\preformatted{keepServiceList -> KeepServiceList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#keepServiceList.}
-    \item{etag}{List version.}
-    \item{items}{The list of KeepServices.}
-    \item{next_link}{A link to the next page of KeepServices.}
-    \item{next_page_token}{The page token for the next page of KeepServices.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Link.Rd b/sdk/R/man/Link.Rd
deleted file mode 100644
index 3d6f004..0000000
--- a/sdk/R/man/Link.Rd
+++ /dev/null
@@ -1,38 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Link}
-\alias{Link}
-\title{Link}
-\description{
-Link
-}
-\section{Usage}{
-
-\preformatted{link -> Link$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, tail_uuid = NULL,
-	link_class = NULL, name = NULL, head_uuid = NULL, properties = NULL,
-	updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{tail_uuid}{}
-    \item{link_class}{}
-    \item{name}{}
-    \item{head_uuid}{}
-    \item{properties}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/LinkList.Rd b/sdk/R/man/LinkList.Rd
deleted file mode 100644
index ea8b625..0000000
--- a/sdk/R/man/LinkList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{LinkList}
-\alias{LinkList}
-\title{LinkList}
-\description{
-Link list
-}
-\section{Usage}{
-
-\preformatted{linkList -> LinkList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#linkList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Links.}
-    \item{next_link}{A link to the next page of Links.}
-    \item{next_page_token}{The page token for the next page of Links.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Log.Rd b/sdk/R/man/Log.Rd
deleted file mode 100644
index 244c75a..0000000
--- a/sdk/R/man/Log.Rd
+++ /dev/null
@@ -1,40 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Log}
-\alias{Log}
-\title{Log}
-\description{
-Log
-}
-\section{Usage}{
-
-\preformatted{log -> Log$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, object_uuid = NULL, event_at = NULL,
-	event_type = NULL, summary = NULL, properties = NULL,
-	created_at = NULL, updated_at = NULL, modified_at = NULL,
-	object_owner_uuid = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{object_uuid}{}
-    \item{event_at}{}
-    \item{event_type}{}
-    \item{summary}{}
-    \item{properties}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-    \item{modified_at}{}
-    \item{object_owner_uuid}{}
-  }
-}
-
diff --git a/sdk/R/man/LogList.Rd b/sdk/R/man/LogList.Rd
deleted file mode 100644
index 2a979d0..0000000
--- a/sdk/R/man/LogList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{LogList}
-\alias{LogList}
-\title{LogList}
-\description{
-Log list
-}
-\section{Usage}{
-
-\preformatted{logList -> LogList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#logList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Logs.}
-    \item{next_link}{A link to the next page of Logs.}
-    \item{next_page_token}{The page token for the next page of Logs.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Node.Rd b/sdk/R/man/Node.Rd
deleted file mode 100644
index 3c9d661..0000000
--- a/sdk/R/man/Node.Rd
+++ /dev/null
@@ -1,43 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Node}
-\alias{Node}
-\title{Node}
-\description{
-Node
-}
-\section{Usage}{
-
-\preformatted{node -> Node$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, slot_number = NULL,
-	hostname = NULL, domain = NULL, ip_address = NULL,
-	first_ping_at = NULL, last_ping_at = NULL, info = NULL,
-	updated_at = NULL, properties = NULL, job_uuid = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{slot_number}{}
-    \item{hostname}{}
-    \item{domain}{}
-    \item{ip_address}{}
-    \item{first_ping_at}{}
-    \item{last_ping_at}{}
-    \item{info}{}
-    \item{updated_at}{}
-    \item{properties}{}
-    \item{job_uuid}{}
-  }
-}
-
diff --git a/sdk/R/man/NodeList.Rd b/sdk/R/man/NodeList.Rd
deleted file mode 100644
index 67616af..0000000
--- a/sdk/R/man/NodeList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{NodeList}
-\alias{NodeList}
-\title{NodeList}
-\description{
-Node list
-}
-\section{Usage}{
-
-\preformatted{nodeList -> NodeList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#nodeList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Nodes.}
-    \item{next_link}{A link to the next page of Nodes.}
-    \item{next_page_token}{The page token for the next page of Nodes.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/PipelineInstance.Rd b/sdk/R/man/PipelineInstance.Rd
deleted file mode 100644
index 004e19f..0000000
--- a/sdk/R/man/PipelineInstance.Rd
+++ /dev/null
@@ -1,44 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{PipelineInstance}
-\alias{PipelineInstance}
-\title{PipelineInstance}
-\description{
-PipelineInstance
-}
-\section{Usage}{
-
-\preformatted{pipelineInstance -> PipelineInstance$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-	modified_at = NULL, pipeline_template_uuid = NULL,
-	name = NULL, components = NULL, updated_at = NULL,
-	properties = NULL, state = NULL, components_summary = NULL,
-	started_at = NULL, finished_at = NULL, description = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{pipeline_template_uuid}{}
-    \item{name}{}
-    \item{components}{}
-    \item{updated_at}{}
-    \item{properties}{}
-    \item{state}{}
-    \item{components_summary}{}
-    \item{started_at}{}
-    \item{finished_at}{}
-    \item{description}{}
-  }
-}
-
diff --git a/sdk/R/man/PipelineInstanceList.Rd b/sdk/R/man/PipelineInstanceList.Rd
deleted file mode 100644
index 7d02c8b..0000000
--- a/sdk/R/man/PipelineInstanceList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{PipelineInstanceList}
-\alias{PipelineInstanceList}
-\title{PipelineInstanceList}
-\description{
-PipelineInstance list
-}
-\section{Usage}{
-
-\preformatted{pipelineInstanceList -> PipelineInstanceList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#pipelineInstanceList.}
-    \item{etag}{List version.}
-    \item{items}{The list of PipelineInstances.}
-    \item{next_link}{A link to the next page of PipelineInstances.}
-    \item{next_page_token}{The page token for the next page of PipelineInstances.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/PipelineTemplate.Rd b/sdk/R/man/PipelineTemplate.Rd
deleted file mode 100644
index eecf3d3..0000000
--- a/sdk/R/man/PipelineTemplate.Rd
+++ /dev/null
@@ -1,36 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{PipelineTemplate}
-\alias{PipelineTemplate}
-\title{PipelineTemplate}
-\description{
-PipelineTemplate
-}
-\section{Usage}{
-
-\preformatted{pipelineTemplate -> PipelineTemplate$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-	modified_at = NULL, name = NULL, components = NULL,
-	updated_at = NULL, description = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{components}{}
-    \item{updated_at}{}
-    \item{description}{}
-  }
-}
-
diff --git a/sdk/R/man/PipelineTemplateList.Rd b/sdk/R/man/PipelineTemplateList.Rd
deleted file mode 100644
index 0cc0172..0000000
--- a/sdk/R/man/PipelineTemplateList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{PipelineTemplateList}
-\alias{PipelineTemplateList}
-\title{PipelineTemplateList}
-\description{
-PipelineTemplate list
-}
-\section{Usage}{
-
-\preformatted{pipelineTemplateList -> PipelineTemplateList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#pipelineTemplateList.}
-    \item{etag}{List version.}
-    \item{items}{The list of PipelineTemplates.}
-    \item{next_link}{A link to the next page of PipelineTemplates.}
-    \item{next_page_token}{The page token for the next page of PipelineTemplates.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Repository.Rd b/sdk/R/man/Repository.Rd
deleted file mode 100644
index 8f9913d..0000000
--- a/sdk/R/man/Repository.Rd
+++ /dev/null
@@ -1,33 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Repository}
-\alias{Repository}
-\title{Repository}
-\description{
-Repository
-}
-\section{Usage}{
-
-\preformatted{repository -> Repository$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-	created_at = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/RepositoryList.Rd b/sdk/R/man/RepositoryList.Rd
deleted file mode 100644
index e7c585e..0000000
--- a/sdk/R/man/RepositoryList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{RepositoryList}
-\alias{RepositoryList}
-\title{RepositoryList}
-\description{
-Repository list
-}
-\section{Usage}{
-
-\preformatted{repositoryList -> RepositoryList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#repositoryList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Repositories.}
-    \item{next_link}{A link to the next page of Repositories.}
-    \item{next_page_token}{The page token for the next page of Repositories.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Specimen.Rd b/sdk/R/man/Specimen.Rd
deleted file mode 100644
index 29d1c4e..0000000
--- a/sdk/R/man/Specimen.Rd
+++ /dev/null
@@ -1,35 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Specimen}
-\alias{Specimen}
-\title{Specimen}
-\description{
-Specimen
-}
-\section{Usage}{
-
-\preformatted{specimen -> Specimen$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-	modified_at = NULL, material = NULL, updated_at = NULL,
-	properties = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{material}{}
-    \item{updated_at}{}
-    \item{properties}{}
-  }
-}
-
diff --git a/sdk/R/man/SpecimenList.Rd b/sdk/R/man/SpecimenList.Rd
deleted file mode 100644
index 7a88cdd..0000000
--- a/sdk/R/man/SpecimenList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{SpecimenList}
-\alias{SpecimenList}
-\title{SpecimenList}
-\description{
-Specimen list
-}
-\section{Usage}{
-
-\preformatted{specimenList -> SpecimenList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#specimenList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Specimens.}
-    \item{next_link}{A link to the next page of Specimens.}
-    \item{next_page_token}{The page token for the next page of Specimens.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Trait.Rd b/sdk/R/man/Trait.Rd
deleted file mode 100644
index d476259..0000000
--- a/sdk/R/man/Trait.Rd
+++ /dev/null
@@ -1,34 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Trait}
-\alias{Trait}
-\title{Trait}
-\description{
-Trait
-}
-\section{Usage}{
-
-\preformatted{trait -> Trait$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, name = NULL,
-	properties = NULL, created_at = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{name}{}
-    \item{properties}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/TraitList.Rd b/sdk/R/man/TraitList.Rd
deleted file mode 100644
index b5ae767..0000000
--- a/sdk/R/man/TraitList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{TraitList}
-\alias{TraitList}
-\title{TraitList}
-\description{
-Trait list
-}
-\section{Usage}{
-
-\preformatted{traitList -> TraitList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#traitList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Traits.}
-    \item{next_link}{A link to the next page of Traits.}
-    \item{next_page_token}{The page token for the next page of Traits.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/User.Rd b/sdk/R/man/User.Rd
deleted file mode 100644
index 6fe8350..0000000
--- a/sdk/R/man/User.Rd
+++ /dev/null
@@ -1,43 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{User}
-\alias{User}
-\title{User}
-\description{
-User
-}
-\section{Usage}{
-
-\preformatted{user -> User$new(uuid = NULL, etag = NULL,
-	owner_uuid = NULL, created_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, email = NULL,
-	first_name = NULL, last_name = NULL, identity_url = NULL,
-	is_admin = NULL, prefs = NULL, updated_at = NULL, default_owner_uuid = NULL,
-	is_active = NULL, username = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{email}{}
-    \item{first_name}{}
-    \item{last_name}{}
-    \item{identity_url}{}
-    \item{is_admin}{}
-    \item{prefs}{}
-    \item{updated_at}{}
-    \item{default_owner_uuid}{}
-    \item{is_active}{}
-    \item{username}{}
-  }
-}
-
diff --git a/sdk/R/man/UserAgreement.Rd b/sdk/R/man/UserAgreement.Rd
deleted file mode 100644
index 2f1c65f..0000000
--- a/sdk/R/man/UserAgreement.Rd
+++ /dev/null
@@ -1,53 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{UserAgreement}
-\alias{UserAgreement}
-\title{UserAgreement}
-\description{
-UserAgreement
-}
-\section{Usage}{
-
-\preformatted{userAgreement -> UserAgreement$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
-	modified_at = NULL, portable_data_hash = NULL, replication_desired = NULL,
-	replication_confirmed_at = NULL, replication_confirmed = NULL,
-	updated_at = NULL, manifest_text = NULL, name = NULL,
-	description = NULL, properties = NULL, delete_at = NULL,
-	file_names = NULL, trash_at = NULL, is_trashed = NULL,
-	storage_classes_desired = NULL, storage_classes_confirmed = NULL,
-	storage_classes_confirmed_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{portable_data_hash}{}
-    \item{replication_desired}{}
-    \item{replication_confirmed_at}{}
-    \item{replication_confirmed}{}
-    \item{updated_at}{}
-    \item{uuid}{}
-    \item{manifest_text}{}
-    \item{name}{}
-    \item{description}{}
-    \item{properties}{}
-    \item{delete_at}{}
-    \item{file_names}{}
-    \item{trash_at}{}
-    \item{is_trashed}{}
-    \item{storage_classes_desired}{}
-    \item{storage_classes_confirmed}{}
-    \item{storage_classes_confirmed_at}{}
-  }
-}
-
diff --git a/sdk/R/man/UserAgreementList.Rd b/sdk/R/man/UserAgreementList.Rd
deleted file mode 100644
index 22a2d0e..0000000
--- a/sdk/R/man/UserAgreementList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{UserAgreementList}
-\alias{UserAgreementList}
-\title{UserAgreementList}
-\description{
-UserAgreement list
-}
-\section{Usage}{
-
-\preformatted{userAgreementList -> UserAgreementList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#userAgreementList.}
-    \item{etag}{List version.}
-    \item{items}{The list of UserAgreements.}
-    \item{next_link}{A link to the next page of UserAgreements.}
-    \item{next_page_token}{The page token for the next page of UserAgreements.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/UserList.Rd b/sdk/R/man/UserList.Rd
deleted file mode 100644
index 369bf53..0000000
--- a/sdk/R/man/UserList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{UserList}
-\alias{UserList}
-\title{UserList}
-\description{
-User list
-}
-\section{Usage}{
-
-\preformatted{userList -> UserList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#userList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Users.}
-    \item{next_link}{A link to the next page of Users.}
-    \item{next_page_token}{The page token for the next page of Users.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/VirtualMachine.Rd b/sdk/R/man/VirtualMachine.Rd
deleted file mode 100644
index 47cc12a..0000000
--- a/sdk/R/man/VirtualMachine.Rd
+++ /dev/null
@@ -1,33 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{VirtualMachine}
-\alias{VirtualMachine}
-\title{VirtualMachine}
-\description{
-VirtualMachine
-}
-\section{Usage}{
-
-\preformatted{virtualMachine -> VirtualMachine$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, modified_at = NULL, hostname = NULL,
-	created_at = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{modified_at}{}
-    \item{hostname}{}
-    \item{created_at}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/VirtualMachineList.Rd b/sdk/R/man/VirtualMachineList.Rd
deleted file mode 100644
index 80f6f97..0000000
--- a/sdk/R/man/VirtualMachineList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{VirtualMachineList}
-\alias{VirtualMachineList}
-\title{VirtualMachineList}
-\description{
-VirtualMachine list
-}
-\section{Usage}{
-
-\preformatted{virtualMachineList -> VirtualMachineList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#virtualMachineList.}
-    \item{etag}{List version.}
-    \item{items}{The list of VirtualMachines.}
-    \item{next_link}{A link to the next page of VirtualMachines.}
-    \item{next_page_token}{The page token for the next page of VirtualMachines.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/man/Workflow.Rd b/sdk/R/man/Workflow.Rd
deleted file mode 100644
index cf1fdbd..0000000
--- a/sdk/R/man/Workflow.Rd
+++ /dev/null
@@ -1,36 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{Workflow}
-\alias{Workflow}
-\title{Workflow}
-\description{
-Workflow
-}
-\section{Usage}{
-
-\preformatted{workflow -> Workflow$new(uuid = NULL,
-	etag = NULL, owner_uuid = NULL, created_at = NULL,
-	modified_at = NULL, modified_by_client_uuid = NULL,
-	modified_by_user_uuid = NULL, name = NULL, description = NULL,
-	definition = NULL, updated_at = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{uuid}{Object ID.}
-    \item{etag}{Object version.}
-    \item{uuid}{}
-    \item{owner_uuid}{}
-    \item{created_at}{}
-    \item{modified_at}{}
-    \item{modified_by_client_uuid}{}
-    \item{modified_by_user_uuid}{}
-    \item{name}{}
-    \item{description}{}
-    \item{definition}{}
-    \item{updated_at}{}
-  }
-}
-
diff --git a/sdk/R/man/WorkflowList.Rd b/sdk/R/man/WorkflowList.Rd
deleted file mode 100644
index 4b7b28d..0000000
--- a/sdk/R/man/WorkflowList.Rd
+++ /dev/null
@@ -1,28 +0,0 @@
-% Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/ArvadosClasses.R
-\name{WorkflowList}
-\alias{WorkflowList}
-\title{WorkflowList}
-\description{
-Workflow list
-}
-\section{Usage}{
-
-\preformatted{workflowList -> WorkflowList$new(kind = NULL,
-	etag = NULL, items = NULL, next_link = NULL, next_page_token = NULL,
-	selfLink = NULL)
-}
-}
-
-\section{Arguments}{
-
-  \describe{
-    \item{kind}{Object type. Always arvados#workflowList.}
-    \item{etag}{List version.}
-    \item{items}{The list of Workflows.}
-    \item{next_link}{A link to the next page of Workflows.}
-    \item{next_page_token}{The page token for the next page of Workflows.}
-    \item{selfLink}{A link back to this list.}
-  }
-}
-
diff --git a/sdk/R/tests/testthat/test-ArvadosFile.R b/sdk/R/tests/testthat/test-ArvadosFile.R
index 67ed0f6..0c1db1a 100644
--- a/sdk/R/tests/testthat/test-ArvadosFile.R
+++ b/sdk/R/tests/testthat/test-ArvadosFile.R
@@ -45,8 +45,9 @@ test_that(paste("getSizeInBytes delegates size calculation",
     returnSize <- 100
     fakeREST <- FakeRESTService$new(collectionContent, returnSize)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     resourceSize <- fish$getSizeInBytes()
@@ -80,8 +81,9 @@ test_that("read raises exception offset or length is negative number", {
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     expect_that(fish$read(contentType = "text", offset = -1),
@@ -98,8 +100,9 @@ test_that("read delegates reading operation to REST service class", {
     readContent <- "my file"
     fakeREST <- FakeRESTService$new(collectionContent, readContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
     
     fileContent <- fish$read("text")
@@ -115,8 +118,9 @@ test_that(paste("connection delegates connection creation ro RESTService class",
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     connection <- fish$connection("r")
@@ -130,8 +134,9 @@ test_that(paste("connection returns textConnection opened",
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     connection <- fish$connection("w")
@@ -151,8 +156,9 @@ test_that("flush sends data stored in a connection to a REST server", {
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     connection <- fish$connection("w")
@@ -178,8 +184,9 @@ test_that("write delegates writing operation to REST service class", {
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
     
     fileContent <- fish$write("new file content")
@@ -208,8 +215,10 @@ test_that(paste("move raises exception if newLocationInCollection",
 
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+
+    collection <- Collection$new(api, "myUUID")
     dog <- collection$get("animal/dog")
 
     expect_that(dog$move("objects/dog"),
@@ -227,8 +236,9 @@ test_that("move raises exception if new location contains content with the same
 
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     dog <- collection$get("animal/dog")
 
     expect_that(dog$move("dog"),
@@ -247,8 +257,9 @@ test_that("move moves arvados file inside collection tree", {
 
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     dog <- collection$get("animal/dog")
 
     dog$move("dog")
@@ -257,4 +268,4 @@ test_that("move moves arvados file inside collection tree", {
 
     expect_that(dogIsNullOnOldLocation, is_true())
     expect_that(dogExistsOnNewLocation, is_true())
-}) 
+})
diff --git a/sdk/R/tests/testthat/test-Collection.R b/sdk/R/tests/testthat/test-Collection.R
index 56e09f8..ec00ca3 100644
--- a/sdk/R/tests/testthat/test-Collection.R
+++ b/sdk/R/tests/testthat/test-Collection.R
@@ -8,8 +8,9 @@ test_that(paste("constructor creates file tree from text content",
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     root <- collection$get("")
 
@@ -23,8 +24,9 @@ test_that(paste("add raises exception if passed argumet is not",
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     newNumber <- 10
 
@@ -38,8 +40,9 @@ test_that("add raises exception if relative path is not valid", {
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     newPen <- ArvadosFile$new("pen")
 
@@ -53,8 +56,9 @@ test_that("add raises exception if content name is empty string", {
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     rootFolder <- Subcollection$new("")
 
@@ -68,8 +72,9 @@ test_that(paste("add adds ArvadosFile or Subcollection",
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     newDog <- ArvadosFile$new("dog")
     collection$add(newDog, "animal")
@@ -86,8 +91,9 @@ test_that("create raises exception if passed argumet is not character vector", {
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     expect_that(collection$create(10),
                 throws_error("Expected character vector, got (numeric).", 
@@ -102,8 +108,9 @@ test_that("create raises exception if relative path is not valid", {
 
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     newPen <- ArvadosFile$new("pen")
 
@@ -118,8 +125,9 @@ test_that(paste("create adds files specified by fileNames",
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     files <- c("dog", "cat")
     collection$create(files, "animal")
@@ -139,8 +147,9 @@ test_that("remove raises exception if passed argumet is not character vector", {
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     expect_that(collection$remove(10),
                 throws_error("Expected character vector, got (numeric).", 
@@ -152,8 +161,9 @@ test_that("remove raises exception if user tries to remove root folder", {
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     expect_that(collection$remove(""),
                 throws_error("You can't delete root folder.", fixed = TRUE))
@@ -165,8 +175,9 @@ test_that(paste("remove removes files specified by paths",
     collectionContent <- c("animal", "animal/fish", "animal/dog", "animal/cat", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     collection$remove(c("animal/dog", "animal/cat"))
 
@@ -186,8 +197,9 @@ test_that(paste("move moves content to a new location inside file tree",
     collectionContent <- c("animal", "animal/dog", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     collection$move("animal/dog", "dog")
 
@@ -204,8 +216,9 @@ test_that("move raises exception if new location is not valid", {
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     expect_that(collection$move("fish", "object"),
                 throws_error("Content you want to move doesn't exist in the collection.",
@@ -217,8 +230,9 @@ test_that("getFileListing returns sorted collection content received from REST s
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     contentMatchExpected <- all(collection$getFileListing() == 
                                 c("animal", "animal/fish", "ball"))
@@ -234,8 +248,9 @@ test_that("get returns arvados file or subcollection from internal tree structur
     collectionContent <- c("animal", "animal/fish", "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
 
     fish <- collection$get("animal/fish")
     fishIsNotNull <- !is.null(fish)
diff --git a/sdk/R/tests/testthat/test-Subcollection.R b/sdk/R/tests/testthat/test-Subcollection.R
index eafc747..b2b0bc9 100644
--- a/sdk/R/tests/testthat/test-Subcollection.R
+++ b/sdk/R/tests/testthat/test-Subcollection.R
@@ -117,9 +117,10 @@ test_that(paste("add post content to a REST service",
     collectionContent <- c("animal", "animal/fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     animal <- collection$get("animal")
     dog <- ArvadosFile$new("dog")
 
@@ -167,8 +168,9 @@ test_that(paste("remove removes content from REST service",
     collectionContent <- c("animal", "animal/fish", "animal/dog")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     animal <- collection$get("animal")
 
     animal$remove("fish")
@@ -276,8 +278,9 @@ test_that("move raises exception if new location contains content with the same
                            "fish")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     expect_that(fish$move("fish"),
@@ -295,8 +298,10 @@ test_that(paste("move raises exception if newLocationInCollection",
                            "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     expect_that(fish$move("objects/dog"),
@@ -312,8 +317,9 @@ test_that("move moves subcollection inside collection tree", {
                            "ball")
     fakeREST <- FakeRESTService$new(collectionContent)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     fish <- collection$get("animal/fish")
 
     fish$move("fish")
@@ -339,11 +345,12 @@ test_that(paste("getSizeInBytes delegates size calculation",
     returnSize <- 100
     fakeREST <- FakeRESTService$new(collectionContent, returnSize)
 
-    collection <- Collection$new("fakeUUID")
-    collection$setRESTService(fakeREST)
+    api <- Arvados$new("myToken", "myHostName")
+    api$setRESTService(fakeREST)
+    collection <- Collection$new(api, "myUUID")
     animal <- collection$get("animal")
 
     resourceSize <- animal$getSizeInBytes()
 
     expect_that(resourceSize, equals(100))
-}) 
+})

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list