Added project manipulation methods to autogenerated Arvados class.
[arvados.git] / sdk / R / R / Arvados.R
index 7c077c03a14bbbb82a69b1b78af18b7a897ad3c2..c69fe08490f462d01df52ff820f1aadd08e12127 100644 (file)
+#' users.get is a method defined in Arvados class.
+#' 
+#' @usage arv$users.get(uuid)
+#' @param uuid The UUID of the User in question.
+#' @return User object.
+#' @name users.get
+NULL
+
+#' users.index is a method defined in Arvados class.
+#' 
+#' @usage arv$users.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return UserList object.
+#' @name users.index
+NULL
+
+#' users.create is a method defined in Arvados class.
+#' 
+#' @usage arv$users.create(user, ensure_unique_name = "false")
+#' @param user User object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return User object.
+#' @name users.create
+NULL
+
+#' users.update is a method defined in Arvados class.
+#' 
+#' @usage arv$users.update(user, uuid)
+#' @param user User object.
+#' @param uuid The UUID of the User in question.
+#' @return User object.
+#' @name users.update
+NULL
+
+#' users.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$users.delete(uuid)
+#' @param uuid The UUID of the User in question.
+#' @return User object.
+#' @name users.delete
+NULL
+
+#' users.current is a method defined in Arvados class.
+#' 
+#' @usage arv$users.current(NULL)
+#' @return User object.
+#' @name users.current
+NULL
+
+#' users.system is a method defined in Arvados class.
+#' 
+#' @usage arv$users.system(NULL)
+#' @return User object.
+#' @name users.system
+NULL
+
+#' users.activate is a method defined in Arvados class.
+#' 
+#' @usage arv$users.activate(uuid)
+#' @param uuid 
+#' @return User object.
+#' @name users.activate
+NULL
+
+#' users.setup is a method defined in Arvados class.
+#' 
+#' @usage arv$users.setup(user = NULL, openid_prefix = NULL,
+#'     repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
+#' @param user 
+#' @param openid_prefix 
+#' @param repo_name 
+#' @param vm_uuid 
+#' @param send_notification_email 
+#' @return User object.
+#' @name users.setup
+NULL
+
+#' users.unsetup is a method defined in Arvados class.
+#' 
+#' @usage arv$users.unsetup(uuid)
+#' @param uuid 
+#' @return User object.
+#' @name users.unsetup
+NULL
+
+#' users.update_uuid is a method defined in Arvados class.
+#' 
+#' @usage arv$users.update_uuid(uuid, new_uuid)
+#' @param uuid 
+#' @param new_uuid 
+#' @return User object.
+#' @name users.update_uuid
+NULL
+
+#' users.list is a method defined in Arvados class.
+#' 
+#' @usage arv$users.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return UserList object.
+#' @name users.list
+NULL
+
+#' users.show is a method defined in Arvados class.
+#' 
+#' @usage arv$users.show(uuid)
+#' @param uuid 
+#' @return User object.
+#' @name users.show
+NULL
+
+#' users.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$users.destroy(uuid)
+#' @param uuid 
+#' @return User object.
+#' @name users.destroy
+NULL
+
+#' api_client_authorizations.get is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.get(uuid)
+#' @param uuid The UUID of the ApiClientAuthorization in question.
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.get
+NULL
+
+#' api_client_authorizations.index is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ApiClientAuthorizationList object.
+#' @name api_client_authorizations.index
+NULL
+
+#' api_client_authorizations.create is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.create(apiclientauthorization,
+#'     ensure_unique_name = "false")
+#' @param apiClientAuthorization ApiClientAuthorization object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.create
+NULL
+
+#' api_client_authorizations.update is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.update(apiclientauthorization,
+#'     uuid)
+#' @param apiClientAuthorization ApiClientAuthorization object.
+#' @param uuid The UUID of the ApiClientAuthorization in question.
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.update
+NULL
+
+#' api_client_authorizations.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.delete(uuid)
+#' @param uuid The UUID of the ApiClientAuthorization in question.
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.delete
+NULL
+
+#' api_client_authorizations.create_system_auth is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.create_system_auth(api_client_id = NULL,
+#'     scopes = NULL)
+#' @param api_client_id 
+#' @param scopes 
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.create_system_auth
+NULL
+
+#' api_client_authorizations.current is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.current(NULL)
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.current
+NULL
+
+#' api_client_authorizations.list is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ApiClientAuthorizationList object.
+#' @name api_client_authorizations.list
+NULL
+
+#' api_client_authorizations.show is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.show(uuid)
+#' @param uuid 
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.show
+NULL
+
+#' api_client_authorizations.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$api_client_authorizations.destroy(uuid)
+#' @param uuid 
+#' @return ApiClientAuthorization object.
+#' @name api_client_authorizations.destroy
+NULL
+
+#' containers.get is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.get(uuid)
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.get
+NULL
+
+#' containers.index is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ContainerList object.
+#' @name containers.index
+NULL
+
+#' containers.create is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.create(container,
+#'     ensure_unique_name = "false")
+#' @param container Container object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Container object.
+#' @name containers.create
+NULL
+
+#' containers.update is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.update(container,
+#'     uuid)
+#' @param container Container object.
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.update
+NULL
+
+#' containers.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.delete(uuid)
+#' @param uuid The UUID of the Container in question.
+#' @return Container object.
+#' @name containers.delete
+NULL
+
+#' containers.auth is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.auth(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.auth
+NULL
+
+#' containers.lock is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.lock(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.lock
+NULL
+
+#' containers.unlock is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.unlock(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.unlock
+NULL
+
+#' containers.secret_mounts is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.secret_mounts(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.secret_mounts
+NULL
+
+#' containers.current is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.current(NULL)
+#' @return Container object.
+#' @name containers.current
+NULL
+
+#' containers.list is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ContainerList object.
+#' @name containers.list
+NULL
+
+#' containers.show is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.show(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.show
+NULL
+
+#' containers.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$containers.destroy(uuid)
+#' @param uuid 
+#' @return Container object.
+#' @name containers.destroy
+NULL
+
+#' api_clients.get is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.get(uuid)
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.get
+NULL
+
+#' api_clients.index is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ApiClientList object.
+#' @name api_clients.index
+NULL
+
+#' api_clients.create is a method defined in Arvados class.
+#' 
+#' @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.
+#' @return ApiClient object.
+#' @name api_clients.create
+NULL
+
+#' api_clients.update is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.update(apiclient,
+#'     uuid)
+#' @param apiClient ApiClient object.
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.update
+NULL
+
+#' api_clients.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.delete(uuid)
+#' @param uuid The UUID of the ApiClient in question.
+#' @return ApiClient object.
+#' @name api_clients.delete
+NULL
+
+#' api_clients.list is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ApiClientList object.
+#' @name api_clients.list
+NULL
+
+#' api_clients.show is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.show(uuid)
+#' @param uuid 
+#' @return ApiClient object.
+#' @name api_clients.show
+NULL
+
+#' api_clients.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$api_clients.destroy(uuid)
+#' @param uuid 
+#' @return ApiClient object.
+#' @name api_clients.destroy
+NULL
+
+#' authorized_keys.get is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.get(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.get
+NULL
+
+#' authorized_keys.index is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return AuthorizedKeyList object.
+#' @name authorized_keys.index
+NULL
+
+#' authorized_keys.create is a method defined in Arvados class.
+#' 
+#' @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.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.create
+NULL
+
+#' authorized_keys.update is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.update(authorizedkey,
+#'     uuid)
+#' @param authorizedKey AuthorizedKey object.
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.update
+NULL
+
+#' authorized_keys.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.delete(uuid)
+#' @param uuid The UUID of the AuthorizedKey in question.
+#' @return AuthorizedKey object.
+#' @name authorized_keys.delete
+NULL
+
+#' authorized_keys.list is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return AuthorizedKeyList object.
+#' @name authorized_keys.list
+NULL
+
+#' authorized_keys.show is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.show(uuid)
+#' @param uuid 
+#' @return AuthorizedKey object.
+#' @name authorized_keys.show
+NULL
+
+#' authorized_keys.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$authorized_keys.destroy(uuid)
+#' @param uuid 
+#' @return AuthorizedKey object.
+#' @name authorized_keys.destroy
+NULL
+
+#' container_requests.get is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.get(uuid)
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.get
+NULL
+
+#' container_requests.index is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ContainerRequestList object.
+#' @name container_requests.index
+NULL
+
+#' container_requests.create is a method defined in Arvados class.
+#' 
+#' @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.
+#' @return ContainerRequest object.
+#' @name container_requests.create
+NULL
+
+#' container_requests.update is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.update(containerrequest,
+#'     uuid)
+#' @param containerRequest ContainerRequest object.
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.update
+NULL
+
+#' container_requests.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.delete(uuid)
+#' @param uuid The UUID of the ContainerRequest in question.
+#' @return ContainerRequest object.
+#' @name container_requests.delete
+NULL
+
+#' container_requests.list is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return ContainerRequestList object.
+#' @name container_requests.list
+NULL
+
+#' container_requests.show is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.show(uuid)
+#' @param uuid 
+#' @return ContainerRequest object.
+#' @name container_requests.show
+NULL
+
+#' container_requests.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$container_requests.destroy(uuid)
+#' @param uuid 
+#' @return ContainerRequest object.
+#' @name container_requests.destroy
+NULL
+
+#' collections.get is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.get(uuid)
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.get
+NULL
+
+#' collections.index is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", include_trash = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param include_trash Include collections whose is_trashed attribute is true.
+#' @return CollectionList object.
+#' @name collections.index
+NULL
+
+#' collections.create is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.create(collection,
+#'     ensure_unique_name = "false")
+#' @param collection Collection object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Collection object.
+#' @name collections.create
+NULL
+
+#' collections.update is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.update(collection,
+#'     uuid)
+#' @param collection Collection object.
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.update
+NULL
+
+#' collections.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.delete(uuid)
+#' @param uuid The UUID of the Collection in question.
+#' @return Collection object.
+#' @name collections.delete
+NULL
+
+#' collections.provenance is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.provenance(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.provenance
+NULL
+
+#' collections.used_by is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.used_by(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.used_by
+NULL
+
+#' collections.trash is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.trash(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.trash
+NULL
+
+#' collections.untrash is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.untrash(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.untrash
+NULL
+
+#' collections.list is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", include_trash = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param include_trash Include collections whose is_trashed attribute is true.
+#' @return CollectionList object.
+#' @name collections.list
+NULL
+
+#' collections.show is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.show(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.show
+NULL
+
+#' collections.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$collections.destroy(uuid)
+#' @param uuid 
+#' @return Collection object.
+#' @name collections.destroy
+NULL
+
+#' humans.get is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.get(uuid)
+#' @param uuid The UUID of the Human in question.
+#' @return Human object.
+#' @name humans.get
+NULL
+
+#' humans.index is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return HumanList object.
+#' @name humans.index
+NULL
+
+#' humans.create is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.create(human, ensure_unique_name = "false")
+#' @param human Human object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Human object.
+#' @name humans.create
+NULL
+
+#' humans.update is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.update(human, uuid)
+#' @param human Human object.
+#' @param uuid The UUID of the Human in question.
+#' @return Human object.
+#' @name humans.update
+NULL
+
+#' humans.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.delete(uuid)
+#' @param uuid The UUID of the Human in question.
+#' @return Human object.
+#' @name humans.delete
+NULL
+
+#' humans.list is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return HumanList object.
+#' @name humans.list
+NULL
+
+#' humans.show is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.show(uuid)
+#' @param uuid 
+#' @return Human object.
+#' @name humans.show
+NULL
+
+#' humans.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$humans.destroy(uuid)
+#' @param uuid 
+#' @return Human object.
+#' @name humans.destroy
+NULL
+
+#' job_tasks.get is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.get(uuid)
+#' @param uuid The UUID of the JobTask in question.
+#' @return JobTask object.
+#' @name job_tasks.get
+NULL
+
+#' job_tasks.index is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return JobTaskList object.
+#' @name job_tasks.index
+NULL
+
+#' job_tasks.create is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.create(jobtask, ensure_unique_name = "false")
+#' @param jobTask JobTask object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return JobTask object.
+#' @name job_tasks.create
+NULL
+
+#' job_tasks.update is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.update(jobtask, uuid)
+#' @param jobTask JobTask object.
+#' @param uuid The UUID of the JobTask in question.
+#' @return JobTask object.
+#' @name job_tasks.update
+NULL
+
+#' job_tasks.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.delete(uuid)
+#' @param uuid The UUID of the JobTask in question.
+#' @return JobTask object.
+#' @name job_tasks.delete
+NULL
+
+#' job_tasks.list is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return JobTaskList object.
+#' @name job_tasks.list
+NULL
+
+#' job_tasks.show is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.show(uuid)
+#' @param uuid 
+#' @return JobTask object.
+#' @name job_tasks.show
+NULL
+
+#' job_tasks.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$job_tasks.destroy(uuid)
+#' @param uuid 
+#' @return JobTask object.
+#' @name job_tasks.destroy
+NULL
+
+#' links.get is a method defined in Arvados class.
+#' 
+#' @usage arv$links.get(uuid)
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.get
+NULL
+
+#' links.index is a method defined in Arvados class.
+#' 
+#' @usage arv$links.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return LinkList object.
+#' @name links.index
+NULL
+
+#' links.create is a method defined in Arvados class.
+#' 
+#' @usage arv$links.create(link, ensure_unique_name = "false")
+#' @param link Link object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Link object.
+#' @name links.create
+NULL
+
+#' links.update is a method defined in Arvados class.
+#' 
+#' @usage arv$links.update(link, uuid)
+#' @param link Link object.
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.update
+NULL
+
+#' links.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$links.delete(uuid)
+#' @param uuid The UUID of the Link in question.
+#' @return Link object.
+#' @name links.delete
+NULL
+
+#' links.list is a method defined in Arvados class.
+#' 
+#' @usage arv$links.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return LinkList object.
+#' @name links.list
+NULL
+
+#' links.show is a method defined in Arvados class.
+#' 
+#' @usage arv$links.show(uuid)
+#' @param uuid 
+#' @return Link object.
+#' @name links.show
+NULL
+
+#' links.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$links.destroy(uuid)
+#' @param uuid 
+#' @return Link object.
+#' @name links.destroy
+NULL
+
+#' links.get_permissions is a method defined in Arvados class.
+#' 
+#' @usage arv$links.get_permissions(uuid)
+#' @param uuid 
+#' @return Link object.
+#' @name links.get_permissions
+NULL
+
+#' jobs.get is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.get(uuid)
+#' @param uuid The UUID of the Job in question.
+#' @return Job object.
+#' @name jobs.get
+NULL
+
+#' jobs.index is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return JobList object.
+#' @name jobs.index
+NULL
+
+#' jobs.create is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.create(job, ensure_unique_name = "false",
+#'     find_or_create = "false", filters = NULL,
+#'     minimum_script_version = NULL, exclude_script_versions = NULL)
+#' @param job Job object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param find_or_create 
+#' @param filters 
+#' @param minimum_script_version 
+#' @param exclude_script_versions 
+#' @return Job object.
+#' @name jobs.create
+NULL
+
+#' jobs.update is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.update(job, uuid)
+#' @param job Job object.
+#' @param uuid The UUID of the Job in question.
+#' @return Job object.
+#' @name jobs.update
+NULL
+
+#' jobs.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.delete(uuid)
+#' @param uuid The UUID of the Job in question.
+#' @return Job object.
+#' @name jobs.delete
+NULL
+
+#' jobs.queue is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.queue(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return Job object.
+#' @name jobs.queue
+NULL
+
+#' jobs.queue_size is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.queue_size(NULL)
+#' @return Job object.
+#' @name jobs.queue_size
+NULL
+
+#' jobs.cancel is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.cancel(uuid)
+#' @param uuid 
+#' @return Job object.
+#' @name jobs.cancel
+NULL
+
+#' jobs.lock is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.lock(uuid)
+#' @param uuid 
+#' @return Job object.
+#' @name jobs.lock
+NULL
+
+#' jobs.list is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.list(filters = NULL, where = NULL,
+#'     order = NULL, select = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return JobList object.
+#' @name jobs.list
+NULL
+
+#' jobs.show is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.show(uuid)
+#' @param uuid 
+#' @return Job object.
+#' @name jobs.show
+NULL
+
+#' jobs.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$jobs.destroy(uuid)
+#' @param uuid 
+#' @return Job object.
+#' @name jobs.destroy
+NULL
+
+#' keep_disks.get is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.get(uuid)
+#' @param uuid The UUID of the KeepDisk in question.
+#' @return KeepDisk object.
+#' @name keep_disks.get
+NULL
+
+#' keep_disks.index is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return KeepDiskList object.
+#' @name keep_disks.index
+NULL
+
+#' keep_disks.create is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.create(keepdisk,
+#'     ensure_unique_name = "false")
+#' @param keepDisk KeepDisk object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return KeepDisk object.
+#' @name keep_disks.create
+NULL
+
+#' keep_disks.update is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.update(keepdisk,
+#'     uuid)
+#' @param keepDisk KeepDisk object.
+#' @param uuid The UUID of the KeepDisk in question.
+#' @return KeepDisk object.
+#' @name keep_disks.update
+NULL
+
+#' keep_disks.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.delete(uuid)
+#' @param uuid The UUID of the KeepDisk in question.
+#' @return KeepDisk object.
+#' @name keep_disks.delete
+NULL
+
+#' keep_disks.ping is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.ping(uuid = NULL,
+#'     ping_secret, node_uuid = NULL, filesystem_uuid = NULL,
+#'     service_host = NULL, service_port, service_ssl_flag)
+#' @param uuid 
+#' @param ping_secret 
+#' @param node_uuid 
+#' @param filesystem_uuid 
+#' @param service_host 
+#' @param service_port 
+#' @param service_ssl_flag 
+#' @return KeepDisk object.
+#' @name keep_disks.ping
+NULL
+
+#' keep_disks.list is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return KeepDiskList object.
+#' @name keep_disks.list
+NULL
+
+#' keep_disks.show is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.show(uuid)
+#' @param uuid 
+#' @return KeepDisk object.
+#' @name keep_disks.show
+NULL
+
+#' keep_disks.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_disks.destroy(uuid)
+#' @param uuid 
+#' @return KeepDisk object.
+#' @name keep_disks.destroy
+NULL
+
+#' keep_services.get is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.get(uuid)
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.get
+NULL
+
+#' keep_services.index is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return KeepServiceList object.
+#' @name keep_services.index
+NULL
+
+#' keep_services.create is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.create(keepservice,
+#'     ensure_unique_name = "false")
+#' @param keepService KeepService object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return KeepService object.
+#' @name keep_services.create
+NULL
+
+#' keep_services.update is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.update(keepservice,
+#'     uuid)
+#' @param keepService KeepService object.
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.update
+NULL
+
+#' keep_services.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.delete(uuid)
+#' @param uuid The UUID of the KeepService in question.
+#' @return KeepService object.
+#' @name keep_services.delete
+NULL
+
+#' keep_services.accessible is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.accessible(NULL)
+#' @return KeepService object.
+#' @name keep_services.accessible
+NULL
+
+#' keep_services.list is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return KeepServiceList object.
+#' @name keep_services.list
+NULL
+
+#' keep_services.show is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.show(uuid)
+#' @param uuid 
+#' @return KeepService object.
+#' @name keep_services.show
+NULL
+
+#' keep_services.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$keep_services.destroy(uuid)
+#' @param uuid 
+#' @return KeepService object.
+#' @name keep_services.destroy
+NULL
+
+#' pipeline_templates.get is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.get(uuid)
+#' @param uuid The UUID of the PipelineTemplate in question.
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.get
+NULL
+
+#' pipeline_templates.index is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return PipelineTemplateList object.
+#' @name pipeline_templates.index
+NULL
+
+#' pipeline_templates.create is a method defined in Arvados class.
+#' 
+#' @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.
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.create
+NULL
+
+#' pipeline_templates.update is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.update(pipelinetemplate,
+#'     uuid)
+#' @param pipelineTemplate PipelineTemplate object.
+#' @param uuid The UUID of the PipelineTemplate in question.
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.update
+NULL
+
+#' pipeline_templates.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.delete(uuid)
+#' @param uuid The UUID of the PipelineTemplate in question.
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.delete
+NULL
+
+#' pipeline_templates.list is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return PipelineTemplateList object.
+#' @name pipeline_templates.list
+NULL
+
+#' pipeline_templates.show is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.show(uuid)
+#' @param uuid 
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.show
+NULL
+
+#' pipeline_templates.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_templates.destroy(uuid)
+#' @param uuid 
+#' @return PipelineTemplate object.
+#' @name pipeline_templates.destroy
+NULL
+
+#' pipeline_instances.get is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.get(uuid)
+#' @param uuid The UUID of the PipelineInstance in question.
+#' @return PipelineInstance object.
+#' @name pipeline_instances.get
+NULL
+
+#' pipeline_instances.index is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return PipelineInstanceList object.
+#' @name pipeline_instances.index
+NULL
+
+#' pipeline_instances.create is a method defined in Arvados class.
+#' 
+#' @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.
+#' @return PipelineInstance object.
+#' @name pipeline_instances.create
+NULL
+
+#' pipeline_instances.update is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.update(pipelineinstance,
+#'     uuid)
+#' @param pipelineInstance PipelineInstance object.
+#' @param uuid The UUID of the PipelineInstance in question.
+#' @return PipelineInstance object.
+#' @name pipeline_instances.update
+NULL
+
+#' pipeline_instances.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.delete(uuid)
+#' @param uuid The UUID of the PipelineInstance in question.
+#' @return PipelineInstance object.
+#' @name pipeline_instances.delete
+NULL
+
+#' pipeline_instances.cancel is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.cancel(uuid)
+#' @param uuid 
+#' @return PipelineInstance object.
+#' @name pipeline_instances.cancel
+NULL
+
+#' pipeline_instances.list is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return PipelineInstanceList object.
+#' @name pipeline_instances.list
+NULL
+
+#' pipeline_instances.show is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.show(uuid)
+#' @param uuid 
+#' @return PipelineInstance object.
+#' @name pipeline_instances.show
+NULL
+
+#' pipeline_instances.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$pipeline_instances.destroy(uuid)
+#' @param uuid 
+#' @return PipelineInstance object.
+#' @name pipeline_instances.destroy
+NULL
+
+#' nodes.get is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.get(uuid)
+#' @param uuid The UUID of the Node in question.
+#' @return Node object.
+#' @name nodes.get
+NULL
+
+#' nodes.index is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return NodeList object.
+#' @name nodes.index
+NULL
+
+#' nodes.create is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.create(node, ensure_unique_name = "false",
+#'     assign_slot = NULL)
+#' @param node Node object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @param assign_slot assign slot and hostname
+#' @return Node object.
+#' @name nodes.create
+NULL
+
+#' nodes.update is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.update(node, uuid, assign_slot = NULL)
+#' @param node Node object.
+#' @param uuid The UUID of the Node in question.
+#' @param assign_slot assign slot and hostname
+#' @return Node object.
+#' @name nodes.update
+NULL
+
+#' nodes.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.delete(uuid)
+#' @param uuid The UUID of the Node in question.
+#' @return Node object.
+#' @name nodes.delete
+NULL
+
+#' nodes.ping is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.ping(uuid, ping_secret)
+#' @param uuid 
+#' @param ping_secret 
+#' @return Node object.
+#' @name nodes.ping
+NULL
+
+#' nodes.list is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return NodeList object.
+#' @name nodes.list
+NULL
+
+#' nodes.show is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.show(uuid)
+#' @param uuid 
+#' @return Node object.
+#' @name nodes.show
+NULL
+
+#' nodes.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$nodes.destroy(uuid)
+#' @param uuid 
+#' @return Node object.
+#' @name nodes.destroy
+NULL
+
+#' repositories.get is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.get(uuid)
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.get
+NULL
+
+#' repositories.index is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return RepositoryList object.
+#' @name repositories.index
+NULL
+
+#' repositories.create is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.create(repository,
+#'     ensure_unique_name = "false")
+#' @param repository Repository object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Repository object.
+#' @name repositories.create
+NULL
+
+#' repositories.update is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.update(repository,
+#'     uuid)
+#' @param repository Repository object.
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.update
+NULL
+
+#' repositories.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.delete(uuid)
+#' @param uuid The UUID of the Repository in question.
+#' @return Repository object.
+#' @name repositories.delete
+NULL
+
+#' repositories.get_all_permissions is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.get_all_permissions(NULL)
+#' @return Repository object.
+#' @name repositories.get_all_permissions
+NULL
+
+#' repositories.list is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return RepositoryList object.
+#' @name repositories.list
+NULL
+
+#' repositories.show is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.show(uuid)
+#' @param uuid 
+#' @return Repository object.
+#' @name repositories.show
+NULL
+
+#' repositories.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$repositories.destroy(uuid)
+#' @param uuid 
+#' @return Repository object.
+#' @name repositories.destroy
+NULL
+
+#' specimens.get is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.get(uuid)
+#' @param uuid The UUID of the Specimen in question.
+#' @return Specimen object.
+#' @name specimens.get
+NULL
+
+#' specimens.index is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return SpecimenList object.
+#' @name specimens.index
+NULL
+
+#' specimens.create is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.create(specimen,
+#'     ensure_unique_name = "false")
+#' @param specimen Specimen object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Specimen object.
+#' @name specimens.create
+NULL
+
+#' specimens.update is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.update(specimen,
+#'     uuid)
+#' @param specimen Specimen object.
+#' @param uuid The UUID of the Specimen in question.
+#' @return Specimen object.
+#' @name specimens.update
+NULL
+
+#' specimens.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.delete(uuid)
+#' @param uuid The UUID of the Specimen in question.
+#' @return Specimen object.
+#' @name specimens.delete
+NULL
+
+#' specimens.list is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return SpecimenList object.
+#' @name specimens.list
+NULL
+
+#' specimens.show is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.show(uuid)
+#' @param uuid 
+#' @return Specimen object.
+#' @name specimens.show
+NULL
+
+#' specimens.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$specimens.destroy(uuid)
+#' @param uuid 
+#' @return Specimen object.
+#' @name specimens.destroy
+NULL
+
+#' logs.get is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.get(uuid)
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.get
+NULL
+
+#' logs.index is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return LogList object.
+#' @name logs.index
+NULL
+
+#' logs.create is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.create(log, ensure_unique_name = "false")
+#' @param log Log object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Log object.
+#' @name logs.create
+NULL
+
+#' logs.update is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.update(log, uuid)
+#' @param log Log object.
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.update
+NULL
+
+#' logs.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.delete(uuid)
+#' @param uuid The UUID of the Log in question.
+#' @return Log object.
+#' @name logs.delete
+NULL
+
+#' logs.list is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.list(filters = NULL, where = NULL,
+#'     order = NULL, select = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return LogList object.
+#' @name logs.list
+NULL
+
+#' logs.show is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.show(uuid)
+#' @param uuid 
+#' @return Log object.
+#' @name logs.show
+NULL
+
+#' logs.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$logs.destroy(uuid)
+#' @param uuid 
+#' @return Log object.
+#' @name logs.destroy
+NULL
+
+#' traits.get is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.get(uuid)
+#' @param uuid The UUID of the Trait in question.
+#' @return Trait object.
+#' @name traits.get
+NULL
+
+#' traits.index is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return TraitList object.
+#' @name traits.index
+NULL
+
+#' traits.create is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.create(trait, ensure_unique_name = "false")
+#' @param trait Trait object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Trait object.
+#' @name traits.create
+NULL
+
+#' traits.update is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.update(trait, uuid)
+#' @param trait Trait object.
+#' @param uuid The UUID of the Trait in question.
+#' @return Trait object.
+#' @name traits.update
+NULL
+
+#' traits.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.delete(uuid)
+#' @param uuid The UUID of the Trait in question.
+#' @return Trait object.
+#' @name traits.delete
+NULL
+
+#' traits.list is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return TraitList object.
+#' @name traits.list
+NULL
+
+#' traits.show is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.show(uuid)
+#' @param uuid 
+#' @return Trait object.
+#' @name traits.show
+NULL
+
+#' traits.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$traits.destroy(uuid)
+#' @param uuid 
+#' @return Trait object.
+#' @name traits.destroy
+NULL
+
+#' virtual_machines.get is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.get(uuid)
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.get
+NULL
+
+#' virtual_machines.index is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return VirtualMachineList object.
+#' @name virtual_machines.index
+NULL
+
+#' virtual_machines.create is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.create(virtualmachine,
+#'     ensure_unique_name = "false")
+#' @param virtualMachine VirtualMachine object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return VirtualMachine object.
+#' @name virtual_machines.create
+NULL
+
+#' virtual_machines.update is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.update(virtualmachine,
+#'     uuid)
+#' @param virtualMachine VirtualMachine object.
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.update
+NULL
+
+#' virtual_machines.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.delete(uuid)
+#' @param uuid The UUID of the VirtualMachine in question.
+#' @return VirtualMachine object.
+#' @name virtual_machines.delete
+NULL
+
+#' virtual_machines.logins is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.logins(uuid)
+#' @param uuid 
+#' @return VirtualMachine object.
+#' @name virtual_machines.logins
+NULL
+
+#' virtual_machines.get_all_logins is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.get_all_logins(NULL)
+#' @return VirtualMachine object.
+#' @name virtual_machines.get_all_logins
+NULL
+
+#' virtual_machines.list is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return VirtualMachineList object.
+#' @name virtual_machines.list
+NULL
+
+#' virtual_machines.show is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.show(uuid)
+#' @param uuid 
+#' @return VirtualMachine object.
+#' @name virtual_machines.show
+NULL
+
+#' virtual_machines.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$virtual_machines.destroy(uuid)
+#' @param uuid 
+#' @return VirtualMachine object.
+#' @name virtual_machines.destroy
+NULL
+
+#' workflows.get is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.get(uuid)
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.get
+NULL
+
+#' workflows.index is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return WorkflowList object.
+#' @name workflows.index
+NULL
+
+#' workflows.create is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.create(workflow,
+#'     ensure_unique_name = "false")
+#' @param workflow Workflow object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Workflow object.
+#' @name workflows.create
+NULL
+
+#' workflows.update is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.update(workflow,
+#'     uuid)
+#' @param workflow Workflow object.
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.update
+NULL
+
+#' workflows.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.delete(uuid)
+#' @param uuid The UUID of the Workflow in question.
+#' @return Workflow object.
+#' @name workflows.delete
+NULL
+
+#' workflows.list is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return WorkflowList object.
+#' @name workflows.list
+NULL
+
+#' workflows.show is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.show(uuid)
+#' @param uuid 
+#' @return Workflow object.
+#' @name workflows.show
+NULL
+
+#' workflows.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$workflows.destroy(uuid)
+#' @param uuid 
+#' @return Workflow object.
+#' @name workflows.destroy
+NULL
+
+#' groups.get is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.get(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name groups.get
+NULL
+
+#' groups.index is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", include_trash = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @return GroupList object.
+#' @name groups.index
+NULL
+
+#' groups.create is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.create(group, ensure_unique_name = "false")
+#' @param group Group object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return Group object.
+#' @name groups.create
+NULL
+
+#' groups.update is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.update(group, uuid)
+#' @param group Group object.
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name groups.update
+NULL
+
+#' groups.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.delete(uuid)
+#' @param uuid The UUID of the Group in question.
+#' @return Group object.
+#' @name groups.delete
+NULL
+
+#' groups.contents is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.contents(filters = NULL,
+#'     where = NULL, order = NULL, distinct = NULL,
+#'     limit = "100", offset = "0", count = "exact",
+#'     include_trash = NULL, uuid = NULL, recursive = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @param uuid 
+#' @param recursive Include contents from child groups recursively.
+#' @return Group object.
+#' @name groups.contents
+NULL
+
+#' groups.trash is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.trash(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.trash
+NULL
+
+#' groups.untrash is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.untrash(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.untrash
+NULL
+
+#' groups.list is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact", include_trash = NULL)
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @param include_trash Include items whose is_trashed attribute is true.
+#' @return GroupList object.
+#' @name groups.list
+NULL
+
+#' groups.show is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.show(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.show
+NULL
+
+#' groups.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$groups.destroy(uuid)
+#' @param uuid 
+#' @return Group object.
+#' @name groups.destroy
+NULL
+
+#' user_agreements.get is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.get(uuid)
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.get
+NULL
+
+#' user_agreements.index is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.index(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return UserAgreementList object.
+#' @name user_agreements.index
+NULL
+
+#' user_agreements.create is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.create(useragreement,
+#'     ensure_unique_name = "false")
+#' @param userAgreement UserAgreement object.
+#' @param ensure_unique_name Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.
+#' @return UserAgreement object.
+#' @name user_agreements.create
+NULL
+
+#' user_agreements.update is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.update(useragreement,
+#'     uuid)
+#' @param userAgreement UserAgreement object.
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.update
+NULL
+
+#' user_agreements.delete is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.delete(uuid)
+#' @param uuid The UUID of the UserAgreement in question.
+#' @return UserAgreement object.
+#' @name user_agreements.delete
+NULL
+
+#' user_agreements.signatures is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.signatures(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.signatures
+NULL
+
+#' user_agreements.sign is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.sign(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.sign
+NULL
+
+#' user_agreements.list is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.list(filters = NULL,
+#'     where = NULL, order = NULL, select = NULL,
+#'     distinct = NULL, limit = "100", offset = "0",
+#'     count = "exact")
+#' @param filters 
+#' @param where 
+#' @param order 
+#' @param select 
+#' @param distinct 
+#' @param limit 
+#' @param offset 
+#' @param count 
+#' @return UserAgreementList object.
+#' @name user_agreements.list
+NULL
+
+#' user_agreements.new is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.new(NULL)
+#' @return UserAgreement object.
+#' @name user_agreements.new
+NULL
+
+#' user_agreements.show is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.show(uuid)
+#' @param uuid 
+#' @return UserAgreement object.
+#' @name user_agreements.show
+NULL
+
+#' user_agreements.destroy is a method defined in Arvados class.
+#' 
+#' @usage arv$user_agreements.destroy(uuid)
+#' @param uuid 
+#' @return UserAgreement object.
+#' @name user_agreements.destroy
+NULL
+
 #' @export
 Arvados <- R6::R6Class(
 
@@ -30,13 +2443,46 @@ Arvados <- R6::R6Class(
 
                },
 
+               project.get = function(uuid)
+               {
+                       self$groups.get(uuid)
+               },
+
+               project.create = function(group, ensure_unique_name = "false")
+               {
+                       group <- c("group_class" = "project", group)
+                       self$groups.create(group, ensure_unique_name)
+               },
+
+               project.update = function(group, uuid)
+               {
+                       group <- c("group_class" = "project", group)
+                       self$groups.update(group, uuid)
+               },
+
+               project.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       include_trash = NULL)
+               {
+                       filters[[length(filters) + 1]] <- list("group_class", "=", "project")
+                       self$groups.list(filters, where, order, select, distinct,
+                                        limit, offset, count, include_trash)
+               },
+
+               project.delete = function(uuid)
+               {
+                       self$groups.delete(uuid)
+               },
+
                users.get = function(uuid)
                {
                        endPoint <- stringr::str_interp("users/${uuid}")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -46,32 +2492,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               users.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               users.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("users")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       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,
@@ -81,11 +2516,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.create = function(user, ensure_unique_name = "false")
@@ -95,7 +2526,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)
@@ -104,17 +2540,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.update = function(user, uuid)
@@ -123,8 +2549,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)
@@ -133,17 +2564,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.delete = function(uuid)
@@ -152,7 +2573,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,
@@ -162,17 +2584,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.current = function()
@@ -182,6 +2594,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,
@@ -191,17 +2604,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.system = function()
@@ -211,6 +2614,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,
@@ -220,17 +2624,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.activate = function(uuid)
@@ -239,7 +2633,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,
@@ -249,31 +2644,20 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               users.setup = function(
-                               user = NULL, openid_prefix = NULL, repo_name = NULL,
-                               vm_uuid = NULL, send_notification_email = "false")
+               users.setup = function(user = NULL, openid_prefix = NULL,
+                       repo_name = NULL, vm_uuid = NULL, send_notification_email = "false")
                {
                        endPoint <- stringr::str_interp("users/setup")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       user = user, openid_prefix = openid_prefix,
-                                       repo_name = repo_name, vm_uuid = vm_uuid,
-                                       send_notification_email = send_notification_email)
+                       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,
@@ -283,17 +2667,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.unsetup = function(uuid)
@@ -302,7 +2676,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,
@@ -312,17 +2687,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.update_uuid = function(uuid, new_uuid)
@@ -331,7 +2696,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,
@@ -341,32 +2707,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               users.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               users.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("users")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       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,
@@ -376,11 +2731,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.show = function(uuid)
@@ -389,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,
@@ -399,17 +2751,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                users.destroy = function(uuid)
@@ -418,7 +2760,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,
@@ -428,17 +2771,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.get = function(uuid)
@@ -447,7 +2780,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,
@@ -457,30 +2791,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_client_authorizations.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               api_client_authorizations.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("api_client_authorizations")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       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,
@@ -490,22 +2816,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_client_authorizations.create = function(
-                               api_client_authorization, ensure_unique_name = "false")
+               api_client_authorizations.create = function(apiclientauthorization,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("api_client_authorizations")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       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)
@@ -514,25 +2841,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -541,15 +2865,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.delete = function(uuid)
@@ -558,7 +2874,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,
@@ -568,15 +2885,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.create_system_auth = function(api_client_id = NULL, scopes = NULL)
@@ -585,8 +2894,9 @@ Arvados <- R6::R6Class(
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       api_client_id = api_client_id, scopes = scopes)
+                       queryArgs <- list(api_client_id = api_client_id,
+                                                         scopes = scopes)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
@@ -596,15 +2906,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.current = function()
@@ -614,6 +2916,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,
@@ -623,30 +2926,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_client_authorizations.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               api_client_authorizations.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("api_client_authorizations")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       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,
@@ -656,11 +2951,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.show = function(uuid)
@@ -669,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,
@@ -679,15 +2971,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                api_client_authorizations.destroy = function(uuid)
@@ -696,7 +2980,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,
@@ -706,24 +2991,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.get = function(uuid)
+               containers.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        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,
@@ -733,28 +3011,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               containers.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("api_clients")
+                       endPoint <- stringr::str_interp("containers")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       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,
@@ -764,21 +3036,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.create = function(api_client, ensure_unique_name = "false")
+               containers.create = function(container, ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("api_clients")
+                       endPoint <- stringr::str_interp("containers")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       body <- api_client$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)
@@ -787,23 +3060,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.update = function(api_client, uuid)
+               containers.update = function(container, uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${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(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)
@@ -812,22 +3084,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.delete = function(uuid)
+               containers.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        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,
@@ -837,28 +3104,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               containers.auth = function(uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients")
+                       endPoint <- stringr::str_interp("containers/${uuid}/auth")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -868,70 +3124,57 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.show = function(uuid)
+               containers.lock = function(uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/lock")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               api_clients.destroy = function(uuid)
+               containers.unlock = function(uuid)
                {
-                       endPoint <- stringr::str_interp("api_clients/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/unlock")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.get = function(uuid)
+               containers.secret_mounts = function(uuid)
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}/secret_mounts")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -941,41 +3184,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               containers.current = function()
                {
-                       endPoint <- stringr::str_interp("container_requests")
+                       endPoint <- stringr::str_interp("containers/current")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -985,97 +3204,62 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.create = function(
-                               container_request, ensure_unique_name = "false")
+               containers.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("container_requests")
+                       endPoint <- stringr::str_interp("containers")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       body <- container_request$toJSON()
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count)
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.update = function(container_request, uuid)
+               containers.show = function(uuid)
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${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
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.delete = function(uuid)
+               containers.destroy = function(uuid)
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
+                       endPoint <- stringr::str_interp("containers/${uuid}")
                        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,
@@ -1085,41 +3269,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               api_clients.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("container_requests")
+                       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(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -1129,20 +3289,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.show = function(uuid)
+               api_clients.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
+                       endPoint <- stringr::str_interp("api_clients")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       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,
@@ -1152,181 +3314,130 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               container_requests.destroy = function(uuid)
+               api_clients.create = function(apiclient, ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("container_requests/${uuid}")
+                       endPoint <- stringr::str_interp("api_clients")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
-                       body <- NULL
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       if(length(apiclient) > 0)
+                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
+                       
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.get = function(uuid)
+               api_clients.update = function(apiclient, uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${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 <- NULL
+                       queryArgs <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       if(length(apiclient) > 0)
+                               body <- jsonlite::toJSON(list(apiclient = apiclient), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
+                       
+                       response <- private$REST$http$exec("PUT", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               api_clients.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys")
+                       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(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.create = function(
-                               authorized_key, ensure_unique_name = "false")
+               api_clients.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("authorized_keys")
+                       endPoint <- stringr::str_interp("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 <- authorized_key$toJSON()
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count)
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.update = function(authorized_key, uuid)
+               api_clients.show = function(uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${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 <- authorized_key$toJSON()
+                       queryArgs <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.delete = function(uuid)
+               api_clients.destroy = function(uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -1336,29 +3447,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               authorized_keys.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("authorized_keys")
+                       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(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -1368,20 +3467,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.show = function(uuid)
+               authorized_keys.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+                       endPoint <- stringr::str_interp("authorized_keys")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       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,
@@ -1391,183 +3492,131 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               authorized_keys.destroy = function(uuid)
+               authorized_keys.create = function(authorizedkey,
+                       ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+                       endPoint <- stringr::str_interp("authorized_keys")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
-                       body <- NULL
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
                        
-                       response <- private$REST$http$exec("DELETE", url, headers, body,
+                       if(length(authorizedkey) > 0)
+                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
+                       
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               collections.get = function(uuid)
+               authorized_keys.update = function(authorizedkey, uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${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 <- NULL
+                       queryArgs <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       if(length(authorizedkey) > 0)
+                               body <- jsonlite::toJSON(list(authorizedkey = authorizedkey), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
+                       
+                       response <- private$REST$http$exec("PUT", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact", include_trash = NULL)
+               authorized_keys.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections")
+                       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(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count, include_trash = include_trash)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               collections.create = function(collection, ensure_unique_name = "false")
+               authorized_keys.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("collections")
+                       endPoint <- stringr::str_interp("authorized_keys")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       body <- collection$toJSON()
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count)
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.update = function(collection, uuid)
+               authorized_keys.show = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${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 <- collection$toJSON()
+                       queryArgs <- NULL
                        
-                       response <- private$REST$http$exec("PUT", url, headers, body,
+                       body <- NULL
+                       
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.delete = function(uuid)
+               authorized_keys.destroy = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -1577,32 +3626,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.provenance = function(uuid)
+               container_requests.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/provenance")
+                       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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -1612,32 +3646,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.used_by = function(uuid)
+               container_requests.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/used_by")
+                       endPoint <- stringr::str_interp("container_requests")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
+                       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,
@@ -1647,33 +3671,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.trash = function(uuid)
+               container_requests.create = function(containerrequest,
+                       ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/trash")
+                       endPoint <- stringr::str_interp("container_requests")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(uuid = uuid)
-                       body <- NULL
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name)
+                       
+                       if(length(containerrequest) > 0)
+                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -1682,73 +3696,66 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
+                       resource
+               },
+
+               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 <- NULL
+                       
+                       if(length(containerrequest) > 0)
+                               body <- jsonlite::toJSON(list(containerrequest = containerrequest), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
+                       
+                       response <- private$REST$http$exec("PUT", url, headers, body,
+                                                          queryArgs, private$numRetries)
+                       resource <- private$REST$httpParser$parseJSONResponse(response)
+                       
+                       if(!is.null(resource$errors))
+                               stop(resource$errors)
                        
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.untrash = function(uuid)
+               container_requests.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${uuid}/untrash")
+                       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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("POST", url, headers, body,
+                       response <- private$REST$http$exec("DELETE", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact", include_trash = NULL)
+               container_requests.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
-                       endPoint <- stringr::str_interp("collections")
+                       endPoint <- stringr::str_interp("container_requests")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count, include_trash = include_trash)
+                       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,
@@ -1758,20 +3765,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               collections.show = function(uuid)
+               container_requests.show = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -1781,32 +3785,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               collections.destroy = function(uuid)
+               container_requests.destroy = function(uuid)
                {
-                       endPoint <- stringr::str_interp("collections/${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)
+                       queryArgs <- NULL
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("DELETE", url, headers, body,
@@ -1816,32 +3805,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       collection <- 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)
-                       
-                       collection$setRESTService(private$REST)
-                       collection
+                       resource
                },
 
-               containers.get = function(uuid)
+               collections.get = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        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,
@@ -1851,36 +3825,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               collections.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", include_trash = NULL)
                {
-                       endPoint <- stringr::str_interp("containers")
+                       endPoint <- stringr::str_interp("collections")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         include_trash = include_trash)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -1890,21 +3851,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.create = function(container, ensure_unique_name = "false")
+               collections.create = function(collection, ensure_unique_name = "false")
                {
-                       endPoint <- stringr::str_interp("containers")
+                       endPoint <- stringr::str_interp("collections")
                        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 <- container$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)
@@ -1913,31 +3875,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.update = function(container, uuid)
+               collections.update = function(collection, uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        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(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)
@@ -1946,30 +3899,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.delete = function(uuid)
+               collections.delete = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        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,
@@ -1979,30 +3919,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.auth = function(uuid)
+               collections.provenance = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}/auth")
+                       endPoint <- stringr::str_interp("collections/${uuid}/provenance")
                        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,
@@ -2012,63 +3939,37 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.lock = function(uuid)
+               collections.used_by = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}/lock")
+                       endPoint <- stringr::str_interp("collections/${uuid}/used_by")
                        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,
+                       response <- private$REST$http$exec("GET", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.unlock = function(uuid)
+               collections.trash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}/unlock")
+                       endPoint <- stringr::str_interp("collections/${uuid}/trash")
                        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,
@@ -2078,69 +3979,43 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.current = function()
+               collections.untrash = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/current")
+                       endPoint <- stringr::str_interp("collections/${uuid}/untrash")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- NULL
+                       
                        body <- NULL
                        
-                       response <- private$REST$http$exec("GET", url, headers, body,
+                       response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
                        resource <- private$REST$httpParser$parseJSONResponse(response)
                        
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               collections.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact", include_trash = NULL)
                {
-                       endPoint <- stringr::str_interp("containers")
+                       endPoint <- stringr::str_interp("collections")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         include_trash = include_trash)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -2150,20 +4025,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.show = function(uuid)
+               collections.show = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        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,
@@ -2173,30 +4045,17 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               containers.destroy = function(uuid)
+               collections.destroy = function(uuid)
                {
-                       endPoint <- stringr::str_interp("containers/${uuid}")
+                       endPoint <- stringr::str_interp("collections/${uuid}")
                        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,
@@ -2206,21 +4065,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.get = function(uuid)
@@ -2229,7 +4074,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,
@@ -2239,27 +4085,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               humans.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               humans.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("humans")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2269,11 +4109,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.create = function(human, ensure_unique_name = "false")
@@ -2283,7 +4119,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)
@@ -2292,12 +4133,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.update = function(human, uuid)
@@ -2306,8 +4142,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)
@@ -2316,12 +4157,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.delete = function(uuid)
@@ -2330,7 +4166,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,
@@ -2340,27 +4177,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               humans.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               humans.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("humans")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2370,11 +4201,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.show = function(uuid)
@@ -2383,7 +4210,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,
@@ -2393,12 +4221,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                humans.destroy = function(uuid)
@@ -2407,7 +4230,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,
@@ -2417,12 +4241,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                job_tasks.get = function(uuid)
@@ -2431,7 +4250,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,
@@ -2441,32 +4261,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               job_tasks.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               job_tasks.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("job_tasks")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2476,21 +4286,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -2499,27 +4310,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -2528,17 +4334,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                job_tasks.delete = function(uuid)
@@ -2547,7 +4343,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,
@@ -2557,32 +4354,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               job_tasks.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               job_tasks.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("job_tasks")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2592,11 +4379,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                job_tasks.show = function(uuid)
@@ -2605,7 +4388,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,
@@ -2615,17 +4399,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                job_tasks.destroy = function(uuid)
@@ -2634,7 +4408,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,
@@ -2644,17 +4419,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.get = function(uuid)
@@ -2663,7 +4428,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,
@@ -2673,30 +4439,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               links.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               links.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("links")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2706,11 +4463,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.create = function(link, ensure_unique_name = "false")
@@ -2720,7 +4473,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)
@@ -2729,15 +4487,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.update = function(link, uuid)
@@ -2746,8 +4496,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)
@@ -2756,15 +4511,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.delete = function(uuid)
@@ -2773,7 +4520,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,
@@ -2783,30 +4531,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               links.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               links.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("links")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2816,11 +4555,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.show = function(uuid)
@@ -2829,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,
@@ -2839,15 +4575,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.destroy = function(uuid)
@@ -2856,7 +4584,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,
@@ -2866,15 +4595,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                links.get_permissions = function(uuid)
@@ -2883,7 +4604,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,
@@ -2893,15 +4615,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.get = function(uuid)
@@ -2910,7 +4624,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,
@@ -2920,43 +4635,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               jobs.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               jobs.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("jobs")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -2966,28 +4659,27 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               jobs.create = function(
-                               job, ensure_unique_name = "false", find_or_create = "false",
-                               filters = NULL, minimum_script_version = NULL,
-                               exclude_script_versions = NULL)
+               jobs.create = function(job, ensure_unique_name = "false",
+                       find_or_create = "false", filters = NULL,
+                       minimum_script_version = NULL, exclude_script_versions = NULL)
                {
                        endPoint <- stringr::str_interp("jobs")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       ensure_unique_name = ensure_unique_name,
-                                       find_or_create = find_or_create, filters = filters,
-                                       minimum_script_version = minimum_script_version,
-                                       exclude_script_versions = exclude_script_versions)
-                       body <- job$toJSON()
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         find_or_create = find_or_create, filters = filters,
+                                                         minimum_script_version = minimum_script_version,
+                                                         exclude_script_versions = exclude_script_versions)
+                       
+                       if(length(job) > 0)
+                               body <- jsonlite::toJSON(list(job = job), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -2996,28 +4688,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.update = function(job, uuid)
@@ -3026,8 +4697,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)
@@ -3036,28 +4712,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.delete = function(uuid)
@@ -3066,7 +4721,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,
@@ -3076,43 +4732,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               jobs.queue = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               jobs.queue = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("jobs/queue")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3122,28 +4756,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.queue_size = function()
@@ -3153,6 +4766,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,
@@ -3162,28 +4776,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.cancel = function(uuid)
@@ -3192,7 +4785,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,
@@ -3202,28 +4796,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.lock = function(uuid)
@@ -3232,7 +4805,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,
@@ -3242,43 +4816,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               jobs.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               jobs.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("jobs")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3288,11 +4840,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.show = function(uuid)
@@ -3301,7 +4849,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,
@@ -3311,28 +4860,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                jobs.destroy = function(uuid)
@@ -3341,7 +4869,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,
@@ -3351,28 +4880,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_disks.get = function(uuid)
@@ -3381,7 +4889,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,
@@ -3391,32 +4900,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_disks.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               keep_disks.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("keep_disks")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3426,21 +4925,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -3449,27 +4949,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -3478,17 +4973,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_disks.delete = function(uuid)
@@ -3497,7 +4982,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,
@@ -3507,32 +4993,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_disks.ping = function(
-                               uuid = NULL, ping_secret, node_uuid = NULL,
-                               filesystem_uuid = NULL, service_host = NULL,
-                               service_port, service_ssl_flag)
+               keep_disks.ping = function(uuid = NULL, ping_secret,
+                       node_uuid = NULL, filesystem_uuid = NULL,
+                       service_host = NULL, service_port, service_ssl_flag)
                {
                        endPoint <- stringr::str_interp("keep_disks/ping")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       uuid = uuid, ping_secret = ping_secret, node_uuid = node_uuid,
-                                       filesystem_uuid = filesystem_uuid, service_host = service_host,
-                                       service_port = service_port, service_ssl_flag = service_ssl_flag)
+                       queryArgs <- list(uuid = uuid, ping_secret = ping_secret,
+                                                         node_uuid = node_uuid, filesystem_uuid = filesystem_uuid,
+                                                         service_host = service_host, service_port = service_port,
+                                                         service_ssl_flag = service_ssl_flag)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
@@ -3542,32 +5018,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_disks.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               keep_disks.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("keep_disks")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3577,11 +5043,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_disks.show = function(uuid)
@@ -3590,7 +5052,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,
@@ -3600,17 +5063,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_disks.destroy = function(uuid)
@@ -3619,7 +5072,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,
@@ -3629,17 +5083,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_services.get = function(uuid)
@@ -3648,7 +5092,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,
@@ -3658,29 +5103,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_services.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               keep_services.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("keep_services")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,22 +5128,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_services.create = function(
-                               keep_service, ensure_unique_name = "false")
+               keep_services.create = function(keepservice,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("keep_services")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       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)
@@ -3714,24 +5153,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -3740,14 +5177,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_services.delete = function(uuid)
@@ -3756,7 +5186,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,
@@ -3766,14 +5197,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_services.accessible = function()
@@ -3783,6 +5207,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,
@@ -3792,29 +5217,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               keep_services.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               keep_services.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("keep_services")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3824,11 +5242,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_services.show = function(uuid)
@@ -3837,7 +5251,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,
@@ -3847,14 +5262,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                keep_services.destroy = function(uuid)
@@ -3863,7 +5271,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,
@@ -3873,14 +5282,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_templates.get = function(uuid)
@@ -3889,7 +5291,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,
@@ -3899,29 +5302,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_templates.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               pipeline_templates.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("pipeline_templates")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -3931,22 +5327,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_templates.create = function(
-                               pipeline_template, ensure_unique_name = "false")
+               pipeline_templates.create = function(pipelinetemplate,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("pipeline_templates")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       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)
@@ -3955,24 +5352,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -3981,14 +5376,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_templates.delete = function(uuid)
@@ -3997,7 +5385,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,
@@ -4007,29 +5396,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_templates.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               pipeline_templates.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("pipeline_templates")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4039,11 +5421,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_templates.show = function(uuid)
@@ -4052,7 +5430,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,
@@ -4062,14 +5441,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_templates.destroy = function(uuid)
@@ -4078,7 +5450,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,
@@ -4088,14 +5461,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_instances.get = function(uuid)
@@ -4104,7 +5470,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,
@@ -4114,32 +5481,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_instances.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               pipeline_instances.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("pipeline_instances")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4149,22 +5506,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_instances.create = function(
-                               pipeline_instance, ensure_unique_name = "false")
+               pipeline_instances.create = function(pipelineinstance,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("pipeline_instances")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
                        queryArgs <- list(ensure_unique_name = ensure_unique_name)
-                       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)
@@ -4173,27 +5531,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -4202,17 +5555,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_instances.delete = function(uuid)
@@ -4221,7 +5564,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,
@@ -4231,17 +5575,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_instances.cancel = function(uuid)
@@ -4250,7 +5584,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,
@@ -4260,32 +5595,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               pipeline_instances.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               pipeline_instances.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("pipeline_instances")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4295,11 +5620,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_instances.show = function(uuid)
@@ -4308,7 +5629,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,
@@ -4318,17 +5640,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                pipeline_instances.destroy = function(uuid)
@@ -4337,7 +5649,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,
@@ -4347,17 +5660,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.get = function(uuid)
@@ -4366,7 +5669,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,
@@ -4376,32 +5680,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               nodes.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               nodes.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("nodes")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4411,24 +5704,24 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               nodes.create = function(
-                               node, ensure_unique_name = "false", assign_slot = NULL)
+               nodes.create = function(node, ensure_unique_name = "false",
+                       assign_slot = NULL)
                {
                        endPoint <- stringr::str_interp("nodes")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       ensure_unique_name = ensure_unique_name,
-                                       assign_slot = assign_slot)
-                       body <- node$toJSON()
+                       queryArgs <- list(ensure_unique_name = ensure_unique_name,
+                                                         assign_slot = assign_slot)
+                       
+                       if(length(node) > 0)
+                               body <- jsonlite::toJSON(list(node = node), 
+                                                        auto_unbox = TRUE)
+                       else
+                               body <- NULL
                        
                        response <- private$REST$http$exec("POST", url, headers, body,
                                                           queryArgs, private$numRetries)
@@ -4437,17 +5730,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.update = function(node, uuid, assign_slot = NULL)
@@ -4456,8 +5739,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)
@@ -4466,17 +5754,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.delete = function(uuid)
@@ -4485,7 +5763,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,
@@ -4495,17 +5774,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.ping = function(uuid, ping_secret)
@@ -4514,7 +5783,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,
@@ -4524,32 +5794,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               nodes.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               nodes.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("nodes")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4559,11 +5818,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.show = function(uuid)
@@ -4572,7 +5827,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,
@@ -4582,17 +5838,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                nodes.destroy = function(uuid)
@@ -4601,7 +5847,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,
@@ -4611,17 +5858,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.get = function(uuid)
@@ -4630,7 +5867,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,
@@ -4640,27 +5878,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               repositories.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               repositories.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("repositories")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4670,11 +5903,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.create = function(repository, ensure_unique_name = "false")
@@ -4684,7 +5913,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)
@@ -4693,12 +5927,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.update = function(repository, uuid)
@@ -4707,8 +5936,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)
@@ -4717,12 +5951,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.delete = function(uuid)
@@ -4731,7 +5960,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,
@@ -4741,12 +5971,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.get_all_permissions = function()
@@ -4756,6 +5981,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,
@@ -4765,27 +5991,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               repositories.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               repositories.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("repositories")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4795,11 +6016,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.show = function(uuid)
@@ -4808,7 +6025,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,
@@ -4818,12 +6036,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                repositories.destroy = function(uuid)
@@ -4832,7 +6045,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,
@@ -4842,12 +6056,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.get = function(uuid)
@@ -4856,7 +6065,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,
@@ -4866,28 +6076,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               specimens.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               specimens.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("specimens")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -4897,11 +6101,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.create = function(specimen, ensure_unique_name = "false")
@@ -4911,7 +6111,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)
@@ -4920,13 +6125,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.update = function(specimen, uuid)
@@ -4935,8 +6134,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)
@@ -4945,13 +6149,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.delete = function(uuid)
@@ -4960,7 +6158,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,
@@ -4970,28 +6169,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               specimens.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               specimens.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("specimens")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5001,11 +6194,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.show = function(uuid)
@@ -5014,7 +6203,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,
@@ -5024,13 +6214,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                specimens.destroy = function(uuid)
@@ -5039,7 +6223,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,
@@ -5049,13 +6234,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.get = function(uuid)
@@ -5064,7 +6243,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,
@@ -5074,30 +6254,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               logs.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               logs.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("logs")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5107,11 +6278,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.create = function(log, ensure_unique_name = "false")
@@ -5121,7 +6288,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)
@@ -5130,15 +6302,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.update = function(log, uuid)
@@ -5147,8 +6311,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)
@@ -5157,15 +6326,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.delete = function(uuid)
@@ -5174,7 +6335,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,
@@ -5184,30 +6346,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               logs.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               logs.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("logs")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5217,11 +6370,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.show = function(uuid)
@@ -5230,7 +6379,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,
@@ -5240,15 +6390,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                logs.destroy = function(uuid)
@@ -5257,7 +6399,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,
@@ -5267,15 +6410,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.get = function(uuid)
@@ -5284,7 +6419,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,
@@ -5294,28 +6430,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               traits.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               traits.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("traits")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5325,11 +6454,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.create = function(trait, ensure_unique_name = "false")
@@ -5339,7 +6464,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)
@@ -5348,13 +6478,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.update = function(trait, uuid)
@@ -5363,8 +6487,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)
@@ -5373,13 +6502,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.delete = function(uuid)
@@ -5388,7 +6511,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,
@@ -5398,28 +6522,21 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               traits.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               traits.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact")
                {
                        endPoint <- stringr::str_interp("traits")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5429,11 +6546,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.show = function(uuid)
@@ -5442,7 +6555,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,
@@ -5452,13 +6566,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                traits.destroy = function(uuid)
@@ -5467,7 +6575,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,
@@ -5477,13 +6586,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.get = function(uuid)
@@ -5492,7 +6595,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,
@@ -5502,27 +6606,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               virtual_machines.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               virtual_machines.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("virtual_machines")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5532,22 +6631,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               virtual_machines.create = function(
-                               virtual_machine, ensure_unique_name = "false")
+               virtual_machines.create = function(virtualmachine,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("virtual_machines")
                        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 <- 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)
@@ -5556,22 +6656,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -5580,12 +6680,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.delete = function(uuid)
@@ -5594,7 +6689,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,
@@ -5604,12 +6700,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.logins = function(uuid)
@@ -5618,7 +6709,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,
@@ -5628,12 +6720,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.get_all_logins = function()
@@ -5643,6 +6730,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,
@@ -5652,27 +6740,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               virtual_machines.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               virtual_machines.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("virtual_machines")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5682,11 +6765,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.show = function(uuid)
@@ -5695,7 +6774,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,
@@ -5705,12 +6785,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                virtual_machines.destroy = function(uuid)
@@ -5719,7 +6794,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,
@@ -5729,12 +6805,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.get = function(uuid)
@@ -5743,7 +6814,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,
@@ -5753,28 +6825,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               workflows.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               workflows.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("workflows")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5784,11 +6850,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.create = function(workflow, ensure_unique_name = "false")
@@ -5798,7 +6860,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)
@@ -5807,13 +6874,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.update = function(workflow, uuid)
@@ -5822,8 +6883,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)
@@ -5832,13 +6898,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.delete = function(uuid)
@@ -5847,7 +6907,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,
@@ -5857,28 +6918,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               workflows.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               workflows.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("workflows")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -5888,11 +6943,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.show = function(uuid)
@@ -5901,7 +6952,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,
@@ -5911,13 +6963,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                workflows.destroy = function(uuid)
@@ -5926,7 +6972,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,
@@ -5936,13 +6983,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.get = function(uuid)
@@ -5951,7 +6992,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,
@@ -5961,30 +7003,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               groups.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact", include_trash = NULL)
+               groups.index = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       include_trash = NULL)
                {
                        endPoint <- stringr::str_interp("groups")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count, include_trash = include_trash)
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         include_trash = include_trash)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -5994,11 +7029,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.create = function(group, ensure_unique_name = "false")
@@ -6008,7 +7039,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)
@@ -6017,15 +7053,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.update = function(group, uuid)
@@ -6034,8 +7062,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)
@@ -6044,15 +7077,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.delete = function(uuid)
@@ -6061,7 +7086,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,
@@ -6071,32 +7097,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               groups.contents = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               distinct = NULL, limit = "100", offset = "0",
-                               count = "exact", include_trash = NULL, uuid = NULL,
-                               recursive = NULL)
+               groups.contents = function(filters = NULL,
+                       where = NULL, order = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       include_trash = NULL, uuid = NULL, recursive = NULL)
                {
                        endPoint <- stringr::str_interp("groups/contents")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       distinct = distinct, limit = limit, offset = offset,
-                                       count = count, include_trash = include_trash,
-                                       uuid = uuid, recursive = recursive)
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, distinct = distinct, limit = limit,
+                                                         offset = offset, count = count, include_trash = include_trash,
+                                                         uuid = uuid, recursive = recursive)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -6106,15 +7123,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.trash = function(uuid)
@@ -6123,7 +7132,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,
@@ -6133,15 +7143,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.untrash = function(uuid)
@@ -6150,7 +7152,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,
@@ -6160,30 +7163,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               groups.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact", include_trash = NULL)
+               groups.list = function(filters = NULL, where = NULL,
+                       order = NULL, select = NULL, distinct = NULL,
+                       limit = "100", offset = "0", count = "exact",
+                       include_trash = NULL)
                {
                        endPoint <- stringr::str_interp("groups")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count, include_trash = include_trash)
+                       queryArgs <- list(filters = filters, where = where,
+                                                         order = order, select = select, distinct = distinct,
+                                                         limit = limit, offset = offset, count = count,
+                                                         include_trash = include_trash)
+                       
                        body <- NULL
                        
                        response <- private$REST$http$exec("GET", url, headers, body,
@@ -6193,11 +7189,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.show = function(uuid)
@@ -6206,7 +7198,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,
@@ -6216,15 +7209,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                groups.destroy = function(uuid)
@@ -6233,7 +7218,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,
@@ -6243,15 +7229,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.get = function(uuid)
@@ -6260,7 +7238,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,
@@ -6270,35 +7249,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               user_agreements.index = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               user_agreements.index = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("user_agreements")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -6308,22 +7274,23 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               user_agreements.create = function(
-                               user_agreement, ensure_unique_name = "false")
+               user_agreements.create = function(useragreement,
+                       ensure_unique_name = "false")
                {
                        endPoint <- stringr::str_interp("user_agreements")
                        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 <- 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)
@@ -6332,30 +7299,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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)
@@ -6364,20 +7323,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.delete = function(uuid)
@@ -6386,7 +7332,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,
@@ -6396,20 +7343,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.signatures = function()
@@ -6419,6 +7353,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,
@@ -6428,20 +7363,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.sign = function()
@@ -6451,6 +7373,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,
@@ -6460,35 +7383,22 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
-               user_agreements.list = function(
-                               filters = NULL, where = NULL, order = NULL,
-                               select = NULL, distinct = NULL, limit = "100",
-                               offset = "0", count = "exact")
+               user_agreements.list = function(filters = NULL,
+                       where = NULL, order = NULL, select = NULL,
+                       distinct = NULL, limit = "100", offset = "0",
+                       count = "exact")
                {
                        endPoint <- stringr::str_interp("user_agreements")
                        url <- paste0(private$host, endPoint)
                        headers <- list(Authorization = paste("OAuth2", private$token), 
                                        "Content-Type" = "application/json")
-                       queryArgs <- list(
-                                       filters = filters, where = where, order = order,
-                                       select = select, distinct = distinct, limit = limit,
-                                       offset = offset, count = count)
+                       queryArgs <- list(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,
@@ -6498,11 +7408,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.new = function()
@@ -6512,6 +7418,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,
@@ -6521,20 +7428,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.show = function(uuid)
@@ -6543,7 +7437,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,
@@ -6553,20 +7448,7 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       resource
                },
 
                user_agreements.destroy = function(uuid)
@@ -6575,7 +7457,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,
@@ -6585,25 +7468,13 @@ Arvados <- R6::R6Class(
                        if(!is.null(resource$errors))
                                stop(resource$errors)
                        
-                       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)
+                       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(