[ARVADOS] updated: 1.1.3-95-gfb76921

Git user git at public.curoverse.com
Fri Feb 23 11:56:07 EST 2018


Summary of changes:
 sdk/R/R/Arvados.R                      | 6618 ++++++++++++++++++++++++++++++++
 sdk/R/R/ArvadosClasses.R               | 2861 ++++++++++++++
 sdk/R/R/autoGenAPI.R                   |  126 +-
 sdk/python/arvados/arvfile.py          |    3 +
 sdk/python/arvados/collection.py       |   10 +-
 services/fuse/arvados_fuse/__init__.py |   27 +-
 services/fuse/arvados_fuse/fresh.py    |    4 +
 services/fuse/arvados_fuse/fusefile.py |    4 +
 8 files changed, 9622 insertions(+), 31 deletions(-)
 create mode 100644 sdk/R/R/Arvados.R
 create mode 100644 sdk/R/R/ArvadosClasses.R

       via  fb769214f5b4bc1f36ee85fba33225e73dbf66de (commit)
       via  2b11ab27a8508a49bb5e2c87babbbae9e95f4e3d (commit)
       via  6a731b2dd982f3453db9f5b6fcf6350899da48a8 (commit)
       via  f594d47faa4c606ccbfda0e1bcaac58552e4732d (commit)
       via  52f37db5889f22e4dc02e0e468d561783e76c188 (commit)
       via  92002b9af320e3229f59ca0778d1906e663f3066 (commit)
       via  6509f6ec0a997f74b9992b8ef9acb7ae0dbd8c7a (commit)
      from  4df7d22706adfd8654b87d22c3400a9dc33035a9 (commit)

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


commit fb769214f5b4bc1f36ee85fba33225e73dbf66de
Merge: 2b11ab2 6a731b2
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date:   Fri Feb 23 17:55:53 2018 +0100

    Merge branch 'master' of git.curoverse.com:arvados into 13076-r-autogen-api
    
    Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>


commit 2b11ab27a8508a49bb5e2c87babbbae9e95f4e3d
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date:   Fri Feb 23 17:53:57 2018 +0100

    Added error handlind code and proper folding to autogenerated content
    
    Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>

diff --git a/sdk/R/R/Arvados.R b/sdk/R/R/Arvados.R
new file mode 100644
index 0000000..7c077c0
--- /dev/null
+++ b/sdk/R/R/Arvados.R
@@ -0,0 +1,6618 @@
+#' @export
+Arvados <- R6::R6Class(
+
+	"Arvados",
+
+	public = list(
+
+		initialize = function(authToken = NULL, hostName = NULL, numRetries = 0)
+		{
+			if(!is.null(hostName))
+				Sys.setenv(ARVADOS_API_HOST = hostName)
+
+			if(!is.null(authToken))
+				Sys.setenv(ARVADOS_API_TOKEN = authToken)
+
+			hostName <- Sys.getenv("ARVADOS_API_HOST")
+			token    <- Sys.getenv("ARVADOS_API_TOKEN")
+
+			if(hostName == "" | token == "")
+				stop(paste("Please provide host name and authentification token",
+						   "or set ARVADOS_API_HOST and ARVADOS_API_TOKEN",
+						   "environment variables."))
+
+			private$token <- token
+			private$host  <- paste0("https://", hostName, "/arvados/v1/")
+			private$numRetries <- numRetries
+			private$REST <- RESTService$new(token, hostName,
+			                                HttpRequest$new(), HttpParser$new(),
+			                                numRetries)
+
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		users.create = function(user, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("users")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- user$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		users.update = function(user, uuid)
+		{
+			endPoint <- stringr::str_interp("users/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- user$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		users.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("users/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.current = function()
+		{
+			endPoint <- stringr::str_interp("users/current")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.system = function()
+		{
+			endPoint <- stringr::str_interp("users/system")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.activate = function(uuid)
+		{
+			endPoint <- stringr::str_interp("users/${uuid}/activate")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.setup = function(
+				user = NULL, openid_prefix = NULL, repo_name = NULL,
+				vm_uuid = NULL, send_notification_email = "false")
+		{
+			endPoint <- stringr::str_interp("users/setup")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					user = user, openid_prefix = openid_prefix,
+					repo_name = repo_name, vm_uuid = vm_uuid,
+					send_notification_email = send_notification_email)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.unsetup = function(uuid)
+		{
+			endPoint <- stringr::str_interp("users/${uuid}/unsetup")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.update_uuid = function(uuid, new_uuid)
+		{
+			endPoint <- stringr::str_interp("users/${uuid}/update_uuid")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid, new_uuid = new_uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("users")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		users.show = 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)
+			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)
+			
+			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)
+		},
+
+		users.destroy = 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)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_client_authorizations.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		api_client_authorizations.create = function(
+				api_client_authorization, 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()
+			
+			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)
+			
+			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)
+		},
+
+		api_client_authorizations.update = function(api_client_authorization, 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()
+			
+			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)
+			
+			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)
+		},
+
+		api_client_authorizations.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_client_authorizations.create_system_auth = function(api_client_id = NULL, scopes = NULL)
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/create_system_auth")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					api_client_id = api_client_id, scopes = scopes)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_client_authorizations.current = function()
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/current")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_client_authorizations.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_client_authorizations.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		api_client_authorizations.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_client_authorizations/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_clients.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_clients/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		api_clients.index = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("api_clients")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_clients.create = function(api_client, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("api_clients")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- api_client$toJSON()
+			
+			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)
+		},
+
+		api_clients.update = function(api_client, uuid)
+		{
+			endPoint <- stringr::str_interp("api_clients/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- api_client$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		api_clients.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_clients/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_clients.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("api_clients")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		api_clients.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_clients/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		api_clients.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("api_clients/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		container_requests.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+		},
+
+		container_requests.index = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("container_requests")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		container_requests.create = function(
+				container_request, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("container_requests")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- container_request$toJSON()
+			
+			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)
+		},
+
+		container_requests.update = function(container_request, uuid)
+		{
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- container_request$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		container_requests.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		container_requests.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("container_requests")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		container_requests.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+		},
+
+		container_requests.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("container_requests/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		authorized_keys.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+		},
+
+		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")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		authorized_keys.create = function(
+				authorized_key, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("authorized_keys")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- authorized_key$toJSON()
+			
+			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)
+		},
+
+		authorized_keys.update = function(authorized_key, uuid)
+		{
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- authorized_key$toJSON()
+			
+			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)
+		},
+
+		authorized_keys.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		authorized_keys.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("authorized_keys")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		authorized_keys.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+		},
+
+		authorized_keys.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("authorized_keys/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		collections.get = function(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 <- 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
+		},
+
+		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("collections")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count, include_trash = include_trash)
+			body <- NULL
+			
+			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)
+			
+			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)
+		},
+
+		collections.create = function(collection, ensure_unique_name = "false")
+		{
+			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 <- collection$toJSON()
+			
+			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)
+			
+			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
+		},
+
+		collections.update = function(collection, 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 <- collection$toJSON()
+			
+			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
+		},
+
+		collections.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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
+		},
+
+		collections.provenance = function(uuid)
+		{
+			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)
+			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
+		},
+
+		collections.used_by = function(uuid)
+		{
+			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)
+			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
+		},
+
+		collections.trash = function(uuid)
+		{
+			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)
+			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)
+			
+			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
+		},
+
+		collections.untrash = function(uuid)
+		{
+			endPoint <- stringr::str_interp("collections/${uuid}/untrash")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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
+		},
+
+		collections.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact", include_trash = NULL)
+		{
+			endPoint <- stringr::str_interp("collections")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count, include_trash = include_trash)
+			body <- NULL
+			
+			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)
+			
+			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)
+		},
+
+		collections.show = function(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 <- 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
+		},
+
+		collections.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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
+		},
+
+		containers.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		containers.index = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("containers")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.create = function(container, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("containers")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- container$toJSON()
+			
+			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)
+		},
+
+		containers.update = function(container, uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- container$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		containers.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.auth = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}/auth")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		containers.lock = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}/lock")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.unlock = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}/unlock")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.current = function()
+		{
+			endPoint <- stringr::str_interp("containers/current")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.list = function(
+				filters = NULL, where = NULL, order = NULL,
+				select = NULL, distinct = NULL, limit = "100",
+				offset = "0", count = "exact")
+		{
+			endPoint <- stringr::str_interp("containers")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					filters = filters, where = where, order = order,
+					select = select, distinct = distinct, limit = limit,
+					offset = offset, count = count)
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		containers.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		containers.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("containers/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		humans.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("humans/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		humans.create = function(human, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("humans")
+			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 <- human$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		humans.update = function(human, uuid)
+		{
+			endPoint <- stringr::str_interp("humans/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- human$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		humans.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("humans/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		humans.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("humans/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		humans.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("humans/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		job_tasks.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		job_tasks.create = function(job_task, 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()
+			
+			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)
+			
+			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)
+		},
+
+		job_tasks.update = function(job_task, 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()
+			
+			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)
+			
+			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)
+		},
+
+		job_tasks.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		job_tasks.show = function(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 <- 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)
+			
+			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)
+		},
+
+		job_tasks.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		links.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("links/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		links.create = function(link, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("links")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- link$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		links.update = function(link, uuid)
+		{
+			endPoint <- stringr::str_interp("links/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- link$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		links.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("links/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		links.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("links/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		links.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("links/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		links.get_permissions = function(uuid)
+		{
+			endPoint <- stringr::str_interp("permissions/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		jobs.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		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()
+			
+			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)
+			
+			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)
+		},
+
+		jobs.update = function(job, uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- job$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		jobs.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		jobs.queue_size = function()
+		{
+			endPoint <- stringr::str_interp("jobs/queue_size")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		jobs.cancel = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}/cancel")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		jobs.lock = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}/lock")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		jobs.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		jobs.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("jobs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		keep_disks.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		keep_disks.create = function(keep_disk, 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()
+			
+			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)
+			
+			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)
+		},
+
+		keep_disks.update = function(keep_disk, 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()
+			
+			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)
+			
+			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)
+		},
+
+		keep_disks.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		keep_disks.ping = function(
+				uuid = NULL, ping_secret, node_uuid = NULL,
+				filesystem_uuid = NULL, service_host = NULL,
+				service_port, service_ssl_flag)
+		{
+			endPoint <- stringr::str_interp("keep_disks/ping")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(
+					uuid = uuid, ping_secret = ping_secret, node_uuid = node_uuid,
+					filesystem_uuid = filesystem_uuid, service_host = service_host,
+					service_port = service_port, service_ssl_flag = service_ssl_flag)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		keep_disks.show = function(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 <- 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)
+			
+			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)
+		},
+
+		keep_disks.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		keep_services.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		keep_services.create = function(
+				keep_service, 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()
+			
+			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)
+			
+			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)
+		},
+
+		keep_services.update = function(keep_service, 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()
+			
+			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)
+			
+			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)
+		},
+
+		keep_services.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		keep_services.accessible = function()
+		{
+			endPoint <- stringr::str_interp("keep_services/accessible")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		keep_services.show = function(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 <- 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)
+			
+			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)
+		},
+
+		keep_services.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		pipeline_templates.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		pipeline_templates.create = function(
+				pipeline_template, 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()
+			
+			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)
+			
+			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)
+		},
+
+		pipeline_templates.update = function(pipeline_template, 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()
+			
+			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)
+			
+			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)
+		},
+
+		pipeline_templates.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		pipeline_templates.show = function(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 <- 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)
+			
+			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)
+		},
+
+		pipeline_templates.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		pipeline_instances.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		pipeline_instances.create = function(
+				pipeline_instance, 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()
+			
+			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)
+			
+			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)
+		},
+
+		pipeline_instances.update = function(pipeline_instance, 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()
+			
+			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)
+			
+			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)
+		},
+
+		pipeline_instances.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		pipeline_instances.cancel = function(uuid)
+		{
+			endPoint <- stringr::str_interp("pipeline_instances/${uuid}/cancel")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		pipeline_instances.show = function(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 <- 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)
+			
+			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)
+		},
+
+		pipeline_instances.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		nodes.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		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()
+			
+			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)
+			
+			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)
+		},
+
+		nodes.update = function(node, uuid, assign_slot = NULL)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}")
+			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()
+			
+			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)
+			
+			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)
+		},
+
+		nodes.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		nodes.ping = function(uuid, ping_secret)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}/ping")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid, ping_secret = ping_secret)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		nodes.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		nodes.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("nodes/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		repositories.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("repositories/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		repositories.create = function(repository, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("repositories")
+			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 <- repository$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		repositories.update = function(repository, uuid)
+		{
+			endPoint <- stringr::str_interp("repositories/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- repository$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		repositories.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("repositories/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		repositories.get_all_permissions = function()
+		{
+			endPoint <- stringr::str_interp("repositories/get_all_permissions")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		repositories.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("repositories/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		repositories.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("repositories/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		specimens.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("specimens/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		specimens.create = function(specimen, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("specimens")
+			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 <- specimen$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		specimens.update = function(specimen, uuid)
+		{
+			endPoint <- stringr::str_interp("specimens/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- specimen$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		specimens.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("specimens/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		specimens.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("specimens/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		specimens.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("specimens/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		logs.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("logs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		logs.create = function(log, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("logs")
+			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 <- log$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		logs.update = function(log, uuid)
+		{
+			endPoint <- stringr::str_interp("logs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- log$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		logs.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("logs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		logs.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("logs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		logs.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("logs/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		traits.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("traits/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		traits.create = function(trait, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("traits")
+			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 <- trait$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		traits.update = function(trait, uuid)
+		{
+			endPoint <- stringr::str_interp("traits/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- trait$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		traits.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("traits/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		traits.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("traits/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		traits.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("traits/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		virtual_machines.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		virtual_machines.create = function(
+				virtual_machine, 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()
+			
+			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)
+			
+			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)
+		},
+
+		virtual_machines.update = function(virtual_machine, 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()
+			
+			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)
+			
+			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)
+		},
+
+		virtual_machines.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		virtual_machines.logins = function(uuid)
+		{
+			endPoint <- stringr::str_interp("virtual_machines/${uuid}/logins")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		virtual_machines.get_all_logins = function()
+		{
+			endPoint <- stringr::str_interp("virtual_machines/get_all_logins")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		virtual_machines.show = function(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 <- 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)
+			
+			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)
+		},
+
+		virtual_machines.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		workflows.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("workflows/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		workflows.create = function(workflow, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("workflows")
+			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 <- workflow$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		workflows.update = function(workflow, uuid)
+		{
+			endPoint <- stringr::str_interp("workflows/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- workflow$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		workflows.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("workflows/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		workflows.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("workflows/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		workflows.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("workflows/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		groups.get = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		groups.create = function(group, ensure_unique_name = "false")
+		{
+			endPoint <- stringr::str_interp("groups")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(ensure_unique_name = ensure_unique_name)
+			body <- group$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		groups.update = function(group, uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- group$toJSON()
+			
+			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)
+			
+			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)
+		},
+
+		groups.delete = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		groups.trash = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}/trash")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		groups.untrash = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}/untrash")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		groups.show = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			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)
+			
+			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)
+		},
+
+		groups.destroy = function(uuid)
+		{
+			endPoint <- stringr::str_interp("groups/${uuid}")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- list(uuid = uuid)
+			body <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		user_agreements.get = function(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 <- 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)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		user_agreements.create = function(
+				user_agreement, 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()
+			
+			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)
+			
+			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)
+		},
+
+		user_agreements.update = function(user_agreement, 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()
+			
+			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)
+			
+			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)
+		},
+
+		user_agreements.delete = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		user_agreements.signatures = function()
+		{
+			endPoint <- stringr::str_interp("user_agreements/signatures")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		user_agreements.sign = function()
+		{
+			endPoint <- stringr::str_interp("user_agreements/sign")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("POST", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		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)
+			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)
+			
+			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)
+		},
+
+		user_agreements.new = function()
+		{
+			endPoint <- stringr::str_interp("user_agreements/new")
+			url <- paste0(private$host, endPoint)
+			headers <- list(Authorization = paste("OAuth2", private$token), 
+			                "Content-Type" = "application/json")
+			queryArgs <- NULL
+			body <- NULL
+			
+			response <- private$REST$http$exec("GET", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		user_agreements.show = function(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 <- 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)
+			
+			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)
+		},
+
+		user_agreements.destroy = function(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 <- NULL
+			
+			response <- private$REST$http$exec("DELETE", url, headers, body,
+			                                   queryArgs, private$numRetries)
+			resource <- private$REST$httpParser$parseJSONResponse(response)
+			
+			if(!is.null(resource$errors))
+				stop(resource$errors)
+			
+			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)
+		},
+
+		getHostName = function() private$host,
+		getToken = function() private$token,
+		setRESTService = function(newREST) private$REST <- newREST
+	),
+
+	private = list(
+
+		token = NULL,
+		host = NULL,
+		REST = NULL,
+		numRetries = NULL
+	),
+
+	cloneable = FALSE
+)
diff --git a/sdk/R/R/ArvadosClasses.R b/sdk/R/R/ArvadosClasses.R
new file mode 100644
index 0000000..e97b6d3
--- /dev/null
+++ b/sdk/R/R/ArvadosClasses.R
@@ -0,0 +1,2861 @@
+#' @export
+UserList <- R6::R6Class(
+
+	"UserList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("userlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+User <- R6::R6Class(
+
+	"User",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		email = NULL,
+		first_name = NULL,
+		last_name = NULL,
+		identity_url = NULL,
+		is_admin = NULL,
+		prefs = NULL,
+		updated_at = NULL,
+		default_owner_uuid = NULL,
+		is_active = NULL,
+		username = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				email = NULL, first_name = NULL, last_name = NULL,
+				identity_url = NULL, is_admin = NULL, prefs = NULL,
+				updated_at = NULL, default_owner_uuid = NULL,
+				is_active = NULL, username = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$email <- email
+			self$first_name <- first_name
+			self$last_name <- last_name
+			self$identity_url <- identity_url
+			self$is_admin <- is_admin
+			self$prefs <- prefs
+			self$updated_at <- updated_at
+			self$default_owner_uuid <- default_owner_uuid
+			self$is_active <- is_active
+			self$username <- username
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, email,
+				first_name, last_name, identity_url, is_admin,
+				prefs, updated_at, default_owner_uuid, is_active,
+				username
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("user" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ApiClientAuthorizationList <- R6::R6Class(
+
+	"ApiClientAuthorizationList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("apiclientauthorizationlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ApiClientAuthorization <- R6::R6Class(
+
+	"ApiClientAuthorization",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		api_token = NULL,
+		api_client_id = NULL,
+		user_id = NULL,
+		created_by_ip_address = NULL,
+		last_used_by_ip_address = NULL,
+		last_used_at = NULL,
+		expires_at = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		default_owner_uuid = NULL,
+		scopes = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, api_token = NULL,
+				api_client_id = NULL, user_id = NULL, created_by_ip_address = NULL,
+				last_used_by_ip_address = NULL, last_used_at = NULL,
+				expires_at = NULL, created_at = NULL, updated_at = NULL,
+				default_owner_uuid = NULL, scopes = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$api_token <- api_token
+			self$api_client_id <- api_client_id
+			self$user_id <- user_id
+			self$created_by_ip_address <- created_by_ip_address
+			self$last_used_by_ip_address <- last_used_by_ip_address
+			self$last_used_at <- last_used_at
+			self$expires_at <- expires_at
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$default_owner_uuid <- default_owner_uuid
+			self$scopes <- scopes
+			
+			private$classFields <- c(
+				uuid, etag, api_token, api_client_id, user_id,
+				created_by_ip_address, last_used_by_ip_address,
+				last_used_at, expires_at, created_at, updated_at,
+				default_owner_uuid, scopes
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("apiclientauthorization" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ApiClientList <- R6::R6Class(
+
+	"ApiClientList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("apiclientlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ApiClient <- R6::R6Class(
+
+	"ApiClient",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		url_prefix = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		is_trusted = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, name = NULL, url_prefix = NULL,
+				created_at = NULL, updated_at = NULL, is_trusted = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$url_prefix <- url_prefix
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$is_trusted <- is_trusted
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				url_prefix, created_at, updated_at, is_trusted
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("apiclient" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ContainerRequestList <- R6::R6Class(
+
+	"ContainerRequestList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("containerrequestlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ContainerRequest <- R6::R6Class(
+
+	"ContainerRequest",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		name = NULL,
+		description = NULL,
+		properties = NULL,
+		state = NULL,
+		requesting_container_uuid = NULL,
+		container_uuid = NULL,
+		container_count_max = NULL,
+		mounts = NULL,
+		runtime_constraints = NULL,
+		container_image = NULL,
+		environment = NULL,
+		cwd = NULL,
+		command = NULL,
+		output_path = NULL,
+		priority = NULL,
+		expires_at = NULL,
+		filters = NULL,
+		updated_at = NULL,
+		container_count = NULL,
+		use_existing = NULL,
+		scheduling_parameters = NULL,
+		output_uuid = NULL,
+		log_uuid = NULL,
+		output_name = NULL,
+		output_ttl = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, name = NULL,
+				description = NULL, properties = NULL, state = NULL,
+				requesting_container_uuid = NULL, container_uuid = NULL,
+				container_count_max = NULL, mounts = NULL,
+				runtime_constraints = NULL, container_image = NULL,
+				environment = NULL, cwd = NULL, command = NULL,
+				output_path = NULL, priority = NULL, expires_at = NULL,
+				filters = NULL, updated_at = NULL, container_count = NULL,
+				use_existing = NULL, scheduling_parameters = NULL,
+				output_uuid = NULL, log_uuid = NULL, output_name = NULL,
+				output_ttl = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_at <- modified_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$name <- name
+			self$description <- description
+			self$properties <- properties
+			self$state <- state
+			self$requesting_container_uuid <- requesting_container_uuid
+			self$container_uuid <- container_uuid
+			self$container_count_max <- container_count_max
+			self$mounts <- mounts
+			self$runtime_constraints <- runtime_constraints
+			self$container_image <- container_image
+			self$environment <- environment
+			self$cwd <- cwd
+			self$command <- command
+			self$output_path <- output_path
+			self$priority <- priority
+			self$expires_at <- expires_at
+			self$filters <- filters
+			self$updated_at <- updated_at
+			self$container_count <- container_count
+			self$use_existing <- use_existing
+			self$scheduling_parameters <- scheduling_parameters
+			self$output_uuid <- output_uuid
+			self$log_uuid <- log_uuid
+			self$output_name <- output_name
+			self$output_ttl <- output_ttl
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_at,
+				modified_by_client_uuid, modified_by_user_uuid,
+				name, description, properties, state, requesting_container_uuid,
+				container_uuid, container_count_max, mounts,
+				runtime_constraints, container_image, environment,
+				cwd, command, output_path, priority, expires_at,
+				filters, updated_at, container_count, use_existing,
+				scheduling_parameters, output_uuid, log_uuid,
+				output_name, output_ttl
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("containerrequest" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+AuthorizedKeyList <- R6::R6Class(
+
+	"AuthorizedKeyList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("authorizedkeylist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+AuthorizedKey <- R6::R6Class(
+
+	"AuthorizedKey",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		key_type = NULL,
+		authorized_user_uuid = NULL,
+		public_key = NULL,
+		expires_at = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, name = NULL, key_type = NULL,
+				authorized_user_uuid = NULL, public_key = NULL,
+				expires_at = NULL, created_at = NULL, updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$key_type <- key_type
+			self$authorized_user_uuid <- authorized_user_uuid
+			self$public_key <- public_key
+			self$expires_at <- expires_at
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				key_type, authorized_user_uuid, public_key,
+				expires_at, created_at, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("authorizedkey" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+CollectionList <- R6::R6Class(
+
+	"CollectionList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("collectionlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+ContainerList <- R6::R6Class(
+
+	"ContainerList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("containerlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Container <- R6::R6Class(
+
+	"Container",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		state = NULL,
+		started_at = NULL,
+		finished_at = NULL,
+		log = NULL,
+		environment = NULL,
+		cwd = NULL,
+		command = NULL,
+		output_path = NULL,
+		mounts = NULL,
+		runtime_constraints = NULL,
+		output = NULL,
+		container_image = NULL,
+		progress = NULL,
+		priority = NULL,
+		updated_at = NULL,
+		exit_code = NULL,
+		auth_uuid = NULL,
+		locked_by_uuid = NULL,
+		scheduling_parameters = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, state = NULL,
+				started_at = NULL, finished_at = NULL, log = NULL,
+				environment = NULL, cwd = NULL, command = NULL,
+				output_path = NULL, mounts = NULL, runtime_constraints = NULL,
+				output = NULL, container_image = NULL, progress = NULL,
+				priority = NULL, updated_at = NULL, exit_code = NULL,
+				auth_uuid = NULL, locked_by_uuid = NULL,
+				scheduling_parameters = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_at <- modified_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$state <- state
+			self$started_at <- started_at
+			self$finished_at <- finished_at
+			self$log <- log
+			self$environment <- environment
+			self$cwd <- cwd
+			self$command <- command
+			self$output_path <- output_path
+			self$mounts <- mounts
+			self$runtime_constraints <- runtime_constraints
+			self$output <- output
+			self$container_image <- container_image
+			self$progress <- progress
+			self$priority <- priority
+			self$updated_at <- updated_at
+			self$exit_code <- exit_code
+			self$auth_uuid <- auth_uuid
+			self$locked_by_uuid <- locked_by_uuid
+			self$scheduling_parameters <- scheduling_parameters
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_at,
+				modified_by_client_uuid, modified_by_user_uuid,
+				state, started_at, finished_at, log, environment,
+				cwd, command, output_path, mounts, runtime_constraints,
+				output, container_image, progress, priority,
+				updated_at, exit_code, auth_uuid, locked_by_uuid,
+				scheduling_parameters
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("container" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+HumanList <- R6::R6Class(
+
+	"HumanList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("humanlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Human <- R6::R6Class(
+
+	"Human",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		properties = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, properties = NULL, created_at = NULL,
+				updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$properties <- properties
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, properties,
+				created_at, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("human" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+JobTaskList <- R6::R6Class(
+
+	"JobTaskList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("jobtasklist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+JobTask <- R6::R6Class(
+
+	"JobTask",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		job_uuid = NULL,
+		sequence = NULL,
+		parameters = NULL,
+		output = NULL,
+		progress = NULL,
+		success = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		created_by_job_task_uuid = NULL,
+		qsequence = NULL,
+		started_at = NULL,
+		finished_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, job_uuid = NULL, sequence = NULL,
+				parameters = NULL, output = NULL, progress = NULL,
+				success = NULL, created_at = NULL, updated_at = NULL,
+				created_by_job_task_uuid = NULL, qsequence = NULL,
+				started_at = NULL, finished_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$job_uuid <- job_uuid
+			self$sequence <- sequence
+			self$parameters <- parameters
+			self$output <- output
+			self$progress <- progress
+			self$success <- success
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$created_by_job_task_uuid <- created_by_job_task_uuid
+			self$qsequence <- qsequence
+			self$started_at <- started_at
+			self$finished_at <- finished_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, job_uuid,
+				sequence, parameters, output, progress, success,
+				created_at, updated_at, created_by_job_task_uuid,
+				qsequence, started_at, finished_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("jobtask" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+LinkList <- R6::R6Class(
+
+	"LinkList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("linklist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Link <- R6::R6Class(
+
+	"Link",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		tail_uuid = NULL,
+		link_class = NULL,
+		name = NULL,
+		head_uuid = NULL,
+		properties = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				tail_uuid = NULL, link_class = NULL, name = NULL,
+				head_uuid = NULL, properties = NULL, updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$tail_uuid <- tail_uuid
+			self$link_class <- link_class
+			self$name <- name
+			self$head_uuid <- head_uuid
+			self$properties <- properties
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, tail_uuid,
+				link_class, name, head_uuid, properties,
+				updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("link" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+JobList <- R6::R6Class(
+
+	"JobList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("joblist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Job <- R6::R6Class(
+
+	"Job",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		submit_id = NULL,
+		script = NULL,
+		script_version = NULL,
+		script_parameters = NULL,
+		cancelled_by_client_uuid = NULL,
+		cancelled_by_user_uuid = NULL,
+		cancelled_at = NULL,
+		started_at = NULL,
+		finished_at = NULL,
+		running = NULL,
+		success = NULL,
+		output = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		is_locked_by_uuid = NULL,
+		log = NULL,
+		tasks_summary = NULL,
+		runtime_constraints = NULL,
+		nondeterministic = NULL,
+		repository = NULL,
+		supplied_script_version = NULL,
+		docker_image_locator = NULL,
+		priority = NULL,
+		description = NULL,
+		state = NULL,
+		arvados_sdk_version = NULL,
+		components = NULL,
+		script_parameters_digest = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, submit_id = NULL, script = NULL,
+				script_version = NULL, script_parameters = NULL,
+				cancelled_by_client_uuid = NULL, cancelled_by_user_uuid = NULL,
+				cancelled_at = NULL, started_at = NULL, finished_at = NULL,
+				running = NULL, success = NULL, output = NULL,
+				created_at = NULL, updated_at = NULL, is_locked_by_uuid = NULL,
+				log = NULL, tasks_summary = NULL, runtime_constraints = NULL,
+				nondeterministic = NULL, repository = NULL,
+				supplied_script_version = NULL, docker_image_locator = NULL,
+				priority = NULL, description = NULL, state = NULL,
+				arvados_sdk_version = NULL, components = NULL,
+				script_parameters_digest = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$submit_id <- submit_id
+			self$script <- script
+			self$script_version <- script_version
+			self$script_parameters <- script_parameters
+			self$cancelled_by_client_uuid <- cancelled_by_client_uuid
+			self$cancelled_by_user_uuid <- cancelled_by_user_uuid
+			self$cancelled_at <- cancelled_at
+			self$started_at <- started_at
+			self$finished_at <- finished_at
+			self$running <- running
+			self$success <- success
+			self$output <- output
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$is_locked_by_uuid <- is_locked_by_uuid
+			self$log <- log
+			self$tasks_summary <- tasks_summary
+			self$runtime_constraints <- runtime_constraints
+			self$nondeterministic <- nondeterministic
+			self$repository <- repository
+			self$supplied_script_version <- supplied_script_version
+			self$docker_image_locator <- docker_image_locator
+			self$priority <- priority
+			self$description <- description
+			self$state <- state
+			self$arvados_sdk_version <- arvados_sdk_version
+			self$components <- components
+			self$script_parameters_digest <- script_parameters_digest
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, submit_id,
+				script, script_version, script_parameters,
+				cancelled_by_client_uuid, cancelled_by_user_uuid,
+				cancelled_at, started_at, finished_at, running,
+				success, output, created_at, updated_at,
+				is_locked_by_uuid, log, tasks_summary, runtime_constraints,
+				nondeterministic, repository, supplied_script_version,
+				docker_image_locator, priority, description,
+				state, arvados_sdk_version, components, script_parameters_digest
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("job" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+KeepDiskList <- R6::R6Class(
+
+	"KeepDiskList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("keepdisklist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+KeepDisk <- R6::R6Class(
+
+	"KeepDisk",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		ping_secret = NULL,
+		node_uuid = NULL,
+		filesystem_uuid = NULL,
+		bytes_total = NULL,
+		bytes_free = NULL,
+		is_readable = NULL,
+		is_writable = NULL,
+		last_read_at = NULL,
+		last_write_at = NULL,
+		last_ping_at = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		keep_service_uuid = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, ping_secret = NULL, node_uuid = NULL,
+				filesystem_uuid = NULL, bytes_total = NULL,
+				bytes_free = NULL, is_readable = NULL, is_writable = NULL,
+				last_read_at = NULL, last_write_at = NULL,
+				last_ping_at = NULL, created_at = NULL, updated_at = NULL,
+				keep_service_uuid = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$ping_secret <- ping_secret
+			self$node_uuid <- node_uuid
+			self$filesystem_uuid <- filesystem_uuid
+			self$bytes_total <- bytes_total
+			self$bytes_free <- bytes_free
+			self$is_readable <- is_readable
+			self$is_writable <- is_writable
+			self$last_read_at <- last_read_at
+			self$last_write_at <- last_write_at
+			self$last_ping_at <- last_ping_at
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$keep_service_uuid <- keep_service_uuid
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, ping_secret,
+				node_uuid, filesystem_uuid, bytes_total,
+				bytes_free, is_readable, is_writable, last_read_at,
+				last_write_at, last_ping_at, created_at,
+				updated_at, keep_service_uuid
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("keepdisk" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+KeepServiceList <- R6::R6Class(
+
+	"KeepServiceList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("keepservicelist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+KeepService <- R6::R6Class(
+
+	"KeepService",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		service_host = NULL,
+		service_port = NULL,
+		service_ssl_flag = NULL,
+		service_type = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		read_only = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, service_host = NULL,
+				service_port = NULL, service_ssl_flag = NULL,
+				service_type = NULL, created_at = NULL, updated_at = NULL,
+				read_only = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$service_host <- service_host
+			self$service_port <- service_port
+			self$service_ssl_flag <- service_ssl_flag
+			self$service_type <- service_type
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$read_only <- read_only
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, service_host,
+				service_port, service_ssl_flag, service_type,
+				created_at, updated_at, read_only
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("keepservice" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+PipelineTemplateList <- R6::R6Class(
+
+	"PipelineTemplateList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("pipelinetemplatelist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+PipelineTemplate <- R6::R6Class(
+
+	"PipelineTemplate",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		components = NULL,
+		updated_at = NULL,
+		description = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				name = NULL, components = NULL, updated_at = NULL,
+				description = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$components <- components
+			self$updated_at <- updated_at
+			self$description <- description
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				components, updated_at, description
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("pipelinetemplate" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+PipelineInstanceList <- R6::R6Class(
+
+	"PipelineInstanceList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("pipelineinstancelist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+PipelineInstance <- R6::R6Class(
+
+	"PipelineInstance",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		pipeline_template_uuid = NULL,
+		name = NULL,
+		components = NULL,
+		updated_at = NULL,
+		properties = NULL,
+		state = NULL,
+		components_summary = NULL,
+		started_at = NULL,
+		finished_at = NULL,
+		description = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				pipeline_template_uuid = NULL, name = NULL,
+				components = NULL, updated_at = NULL, properties = NULL,
+				state = NULL, components_summary = NULL,
+				started_at = NULL, finished_at = NULL, description = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$pipeline_template_uuid <- pipeline_template_uuid
+			self$name <- name
+			self$components <- components
+			self$updated_at <- updated_at
+			self$properties <- properties
+			self$state <- state
+			self$components_summary <- components_summary
+			self$started_at <- started_at
+			self$finished_at <- finished_at
+			self$description <- description
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, pipeline_template_uuid,
+				name, components, updated_at, properties,
+				state, components_summary, started_at, finished_at,
+				description
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("pipelineinstance" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+NodeList <- R6::R6Class(
+
+	"NodeList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("nodelist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Node <- R6::R6Class(
+
+	"Node",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		slot_number = NULL,
+		hostname = NULL,
+		domain = NULL,
+		ip_address = NULL,
+		first_ping_at = NULL,
+		last_ping_at = NULL,
+		info = NULL,
+		updated_at = NULL,
+		properties = NULL,
+		job_uuid = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				slot_number = NULL, hostname = NULL, domain = NULL,
+				ip_address = NULL, first_ping_at = NULL,
+				last_ping_at = NULL, info = NULL, updated_at = NULL,
+				properties = NULL, job_uuid = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$slot_number <- slot_number
+			self$hostname <- hostname
+			self$domain <- domain
+			self$ip_address <- ip_address
+			self$first_ping_at <- first_ping_at
+			self$last_ping_at <- last_ping_at
+			self$info <- info
+			self$updated_at <- updated_at
+			self$properties <- properties
+			self$job_uuid <- job_uuid
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, slot_number,
+				hostname, domain, ip_address, first_ping_at,
+				last_ping_at, info, updated_at, properties,
+				job_uuid
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("node" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+RepositoryList <- R6::R6Class(
+
+	"RepositoryList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("repositorylist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Repository <- R6::R6Class(
+
+	"Repository",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, name = NULL, created_at = NULL,
+				updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				created_at, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("repository" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+SpecimenList <- R6::R6Class(
+
+	"SpecimenList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("specimenlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Specimen <- R6::R6Class(
+
+	"Specimen",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		material = NULL,
+		updated_at = NULL,
+		properties = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				material = NULL, updated_at = NULL, properties = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$material <- material
+			self$updated_at <- updated_at
+			self$properties <- properties
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, material,
+				updated_at, properties
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("specimen" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+LogList <- R6::R6Class(
+
+	"LogList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("loglist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Log <- R6::R6Class(
+
+	"Log",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		object_uuid = NULL,
+		event_at = NULL,
+		event_type = NULL,
+		summary = NULL,
+		properties = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+		modified_at = NULL,
+		object_owner_uuid = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				object_uuid = NULL, event_at = NULL, event_type = NULL,
+				summary = NULL, properties = NULL, created_at = NULL,
+				updated_at = NULL, modified_at = NULL, object_owner_uuid = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$object_uuid <- object_uuid
+			self$event_at <- event_at
+			self$event_type <- event_type
+			self$summary <- summary
+			self$properties <- properties
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			self$modified_at <- modified_at
+			self$object_owner_uuid <- object_owner_uuid
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, object_uuid, event_at,
+				event_type, summary, properties, created_at,
+				updated_at, modified_at, object_owner_uuid
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("log" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+TraitList <- R6::R6Class(
+
+	"TraitList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("traitlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Trait <- R6::R6Class(
+
+	"Trait",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		properties = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, name = NULL, properties = NULL,
+				created_at = NULL, updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$properties <- properties
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				properties, created_at, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("trait" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+VirtualMachineList <- R6::R6Class(
+
+	"VirtualMachineList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("virtualmachinelist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+VirtualMachine <- R6::R6Class(
+
+	"VirtualMachine",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		hostname = NULL,
+		created_at = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				modified_by_client_uuid = NULL, modified_by_user_uuid = NULL,
+				modified_at = NULL, hostname = NULL, created_at = NULL,
+				updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$hostname <- hostname
+			self$created_at <- created_at
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, hostname,
+				created_at, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("virtualmachine" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+WorkflowList <- R6::R6Class(
+
+	"WorkflowList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("workflowlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Workflow <- R6::R6Class(
+
+	"Workflow",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		name = NULL,
+		description = NULL,
+		definition = NULL,
+		updated_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, name = NULL,
+				description = NULL, definition = NULL, updated_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_at <- modified_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$name <- name
+			self$description <- description
+			self$definition <- definition
+			self$updated_at <- updated_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_at,
+				modified_by_client_uuid, modified_by_user_uuid,
+				name, description, definition, updated_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("workflow" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+GroupList <- R6::R6Class(
+
+	"GroupList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("grouplist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+Group <- R6::R6Class(
+
+	"Group",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		name = NULL,
+		description = NULL,
+		updated_at = NULL,
+		group_class = NULL,
+		trash_at = NULL,
+		is_trashed = NULL,
+		delete_at = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				name = NULL, description = NULL, updated_at = NULL,
+				group_class = NULL, trash_at = NULL, is_trashed = NULL,
+				delete_at = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$name <- name
+			self$description <- description
+			self$updated_at <- updated_at
+			self$group_class <- group_class
+			self$trash_at <- trash_at
+			self$is_trashed <- is_trashed
+			self$delete_at <- delete_at
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, name,
+				description, updated_at, group_class, trash_at,
+				is_trashed, delete_at
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("group" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+UserAgreementList <- R6::R6Class(
+
+	"UserAgreementList",
+
+	public = list(
+		kind = NULL,
+		etag = NULL,
+		items = NULL,
+		next_link = NULL,
+		next_page_token = NULL,
+		selfLink = NULL,
+
+		initialize = function(
+				kind = NULL, etag = NULL, items = NULL, next_link = NULL,
+				next_page_token = NULL, selfLink = NULL)
+		{
+			self$kind <- kind
+			self$etag <- etag
+			self$items <- items
+			self$next_link <- next_link
+			self$next_page_token <- next_page_token
+			self$selfLink <- selfLink
+			
+			private$classFields <- c(
+				kind, etag, items, next_link, next_page_token,
+				selfLink
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("useragreementlist" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
+#' @export
+UserAgreement <- R6::R6Class(
+
+	"UserAgreement",
+
+	public = list(
+		uuid = NULL,
+		etag = NULL,
+		owner_uuid = NULL,
+		created_at = NULL,
+		modified_by_client_uuid = NULL,
+		modified_by_user_uuid = NULL,
+		modified_at = NULL,
+		portable_data_hash = NULL,
+		replication_desired = NULL,
+		replication_confirmed_at = NULL,
+		replication_confirmed = NULL,
+		updated_at = NULL,
+		manifest_text = NULL,
+		name = NULL,
+		description = NULL,
+		properties = NULL,
+		delete_at = NULL,
+		file_names = NULL,
+		trash_at = NULL,
+		is_trashed = NULL,
+
+		initialize = function(
+				uuid = NULL, etag = NULL, owner_uuid = NULL,
+				created_at = NULL, modified_by_client_uuid = NULL,
+				modified_by_user_uuid = NULL, modified_at = NULL,
+				portable_data_hash = NULL, replication_desired = NULL,
+				replication_confirmed_at = NULL, replication_confirmed = NULL,
+				updated_at = NULL, manifest_text = NULL,
+				name = NULL, description = NULL, properties = NULL,
+				delete_at = NULL, file_names = NULL, trash_at = NULL,
+				is_trashed = NULL)
+		{
+			self$uuid <- uuid
+			self$etag <- etag
+			self$owner_uuid <- owner_uuid
+			self$created_at <- created_at
+			self$modified_by_client_uuid <- modified_by_client_uuid
+			self$modified_by_user_uuid <- modified_by_user_uuid
+			self$modified_at <- modified_at
+			self$portable_data_hash <- portable_data_hash
+			self$replication_desired <- replication_desired
+			self$replication_confirmed_at <- replication_confirmed_at
+			self$replication_confirmed <- replication_confirmed
+			self$updated_at <- updated_at
+			self$manifest_text <- manifest_text
+			self$name <- name
+			self$description <- description
+			self$properties <- properties
+			self$delete_at <- delete_at
+			self$file_names <- file_names
+			self$trash_at <- trash_at
+			self$is_trashed <- is_trashed
+			
+			private$classFields <- c(
+				uuid, etag, owner_uuid, created_at, modified_by_client_uuid,
+				modified_by_user_uuid, modified_at, portable_data_hash,
+				replication_desired, replication_confirmed_at,
+				replication_confirmed, updated_at, manifest_text,
+				name, description, properties, delete_at,
+				file_names, trash_at, is_trashed
+			)
+		},
+
+		toJSON = function() {
+			fields <- sapply(private$classFields, function(field)
+			{
+				self[[field]]
+			}, USE.NAMES = TRUE)
+			
+			jsonlite::toJSON(list("useragreement" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)
+		}
+	),
+
+	private = list(
+		classFields = NULL
+	),
+
+	cloneable = FALSE
+)
+
diff --git a/sdk/R/R/autoGenAPI.R b/sdk/R/R/autoGenAPI.R
index 95206a4..7dedfa5 100644
--- a/sdk/R/R/autoGenAPI.R
+++ b/sdk/R/R/autoGenAPI.R
@@ -64,9 +64,9 @@ getFunctionArguments <- function(functionMetaData)
 
     if(!is.null(request))
         if(request$required)
-            requestArgument <- names(request$properties)[1]
+            requestArgument <- names(request$properties)
         else
-            requestArgument <- paste(names(request$properties)[1], "=", "NULL")
+            requestArgument <- paste(names(request$properties), "=", "NULL")
 
     argNames <- names(functionMetaData$parameters)
 
@@ -85,7 +85,7 @@ getFunctionArguments <- function(functionMetaData)
         argName
     })
 
-    paste0(c(requestArgument, args), collapse = ", ")
+    paste0(c(requestArgument, args))
 }
 
 getFunctionBody <- function(functionMetaData, classMetaData)
@@ -96,12 +96,25 @@ getFunctionBody <- function(functionMetaData, classMetaData)
     requestBody <- getRequestBody(functionMetaData)
     request <- getRequest(functionMetaData)
     response <- getResponse(functionMetaData)
+    errorCheck <- getErrorCheckingCode()
     returnObject <- getReturnObject(functionMetaData, classMetaData)
 
-    body <- c(url, headers, requestQueryList, requestBody, request, response, returnObject)
+    body <- c(url,
+              headers,
+              requestQueryList,
+              requestBody, "",
+              request, response, "",
+              errorCheck, "",
+              returnObject)
+
     paste0("\t\t\t", body)
 }
 
+getErrorCheckingCode <- function()
+{
+    c("if(!is.null(resource$errors))", "\tstop(resource$errors)")
+}
+
 getRequestBody <- function(functionMetaData)
 {
     request <- functionMetaData$request
@@ -115,8 +128,8 @@ getRequestBody <- function(functionMetaData)
 
 getRequestHeaders <- function()
 {
-    paste0("headers <- list(Authorization = paste(\"OAuth2\", private$token), ",
-                            "\"Content-Type\" = \"application/json\")")
+    c("headers <- list(Authorization = paste(\"OAuth2\", private$token), ",
+      "                \"Content-Type\" = \"application/json\")")
 }
 
 getReturnObject <- function(functionMetaData, classMetaData)
@@ -124,12 +137,16 @@ getReturnObject <- function(functionMetaData, classMetaData)
     returnClass <- functionMetaData$response[["$ref"]]
     classArguments <- getReturnClassArguments(returnClass, classMetaData)
 
+
     if(returnClass == "Collection")
-        return(c(paste0("collection <- ", returnClass, "$new(", classArguments, ")"),
+        return(c("collection <- Collection$new(",
+                 paste0("\t", splitArgs(classArguments, 40, ")")),
+                 "",
                  "collection$setRESTService(private$REST)",
                  "collection"))
 
-    c(paste0(returnClass, "$new(", classArguments, ")"))
+    c(paste0(returnClass, "$new("),
+      paste0("\t", splitArgs(classArguments, 40, ")")))
 }
 
 getReturnClassArguments <- function(className, classMetaData)
@@ -141,13 +158,14 @@ getReturnClassArguments <- function(className, classMetaData)
         paste0(arg, " = resource$", arg)
     })
 
-    paste0(arguments, collapse = ", ")
+    arguments
 }
 
 getRequest <- function(functionMetaData)
 {
     method <- functionMetaData$httpMethod
-    paste0("response <- private$REST$http$exec(\"", method, "\", url, headers, body, queryArgs)")
+    c(paste0("response <- private$REST$http$exec(\"", method, "\", url, headers, body,"),
+      "                                   queryArgs, private$numRetries)")
 }
 
 getResponse <- function(functionMetaData)
@@ -166,30 +184,56 @@ getRequestURL <- function(functionMetaData)
 
 getRequestQueryList <- function(functionMetaData)
 {
-    argNames <- names(functionMetaData$parameters)
+    args <- names(functionMetaData$parameters)
 
-    if(length(argNames) == 0)
+    if(length(args) == 0)
         return("queryArgs <- NULL")
 
-    queryListContent <- sapply(argNames, function(arg) paste0(arg, " = ", arg))
+    args <- sapply(args, function(arg) paste0(arg, " = ", arg))
+    collapsedArgs <- paste0(args, collapse = ", ")
 
-    paste0("queryArgs <- list(", paste0(queryListContent, collapse = ', ') , ")")
+    if(nchar(collapsedArgs) > 40)
+    {
+        formatedArgs <- splitArgs(args, 40, ")")
+        return(c(paste0("queryArgs <- list("),
+                 paste0("\t\t", formatedArgs)))
+    }
+    else
+    {
+        return(paste0("queryArgs <- list(", collapsedArgs, ")"))
+    }
 }
 
 createFunction <- function(functionName, functionMetaData, classMetaData)
 {
     args <- getFunctionArguments(functionMetaData)
-    aditionalArgs <- 
     body <- getFunctionBody(functionMetaData, classMetaData)
+    funSignature <- getFunSignature(functionName, args)
 
-    functionString <- c(paste0("\t\t", functionName, " = function(", args, ")"),
-                       "\t\t{",
-                           body,
-                       "\t\t},\n")
+    functionString <- c(funSignature,
+                        "\t\t{",
+                            body,
+                        "\t\t},\n")
 
     functionString
 }
 
+getFunSignature <- function(funName, args)
+{
+    collapsedArgs <- paste0(args, collapse = ", ")
+
+    if(nchar(collapsedArgs) > 40)
+    {
+        formatedArgs <- splitArgs(args, 40, ")")
+        return(c(paste0("\t\t", funName, " = function("),
+                 paste0("\t\t\t\t", formatedArgs)))
+    }
+    else
+    {
+        return(paste0("\t\t", funName, " = function(", collapsedArgs, ")"))
+    }
+}
+
 generateAPIClassHeader <- function()
 {
     c("#' @export",
@@ -266,8 +310,8 @@ getArvadosClass <- function(classSchema)
 {
     name   <- classSchema$id
     fields <- unique(names(classSchema$properties))
-    fieldsList <- paste0("c(", paste0("\"", fields, "\"", collapse = ", "), ")")
-    constructorArgs <- paste0(fields, " = NULL", collapse = ", ")
+    #fieldsList <- paste0("c(", paste0("\"", fields, "\"", collapse = ", "), ")")
+    constructorArgs <- paste(fields, "= NULL")
 
     classString <- c("#' @export",
               paste0(name, " <- R6::R6Class("),
@@ -277,10 +321,14 @@ getArvadosClass <- function(classSchema)
                      "\tpublic = list(",
               paste0("\t\t", fields, " = NULL,"),
                      "",
-              paste0("\t\tinitialize = function(", constructorArgs, ") {"),
+                     "\t\tinitialize = function(",
+                     paste0("\t\t\t\t", splitArgs(constructorArgs, 40, ")")),
+                     "\t\t{", 
               paste0("\t\t\tself$", fields, " <- ", fields),
                      "\t\t\t",
-              paste0("\t\t\tprivate$classFields <- ", fieldsList),
+                     "\t\t\tprivate$classFields <- c(",
+              paste0("\t\t\t\t", splitArgs(fields, 40)),
+                     "\t\t\t)",
                      "\t\t},",
                      "",
                      "\t\ttoJSON = function() {",
@@ -289,7 +337,8 @@ getArvadosClass <- function(classSchema)
                      "\t\t\t\tself[[field]]",
                      "\t\t\t}, USE.NAMES = TRUE)",
                      "\t\t\t",
-              paste0("\t\t\tjsonlite::toJSON(list(\"", tolower(name), "\" = Filter(Negate(is.null), fields)), auto_unbox = TRUE)"),
+              paste0("\t\t\tjsonlite::toJSON(list(\"", tolower(name), "\" = 
+                     Filter(Negate(is.null), fields)), auto_unbox = TRUE)"),
                      "\t\t}",
                      "\t),",
                      "",
@@ -301,3 +350,32 @@ getArvadosClass <- function(classSchema)
                      ")",
                      "")
 }
+
+splitArgs <- function(args, lineLength, appendAtEnd = "")
+{
+    
+    if(length(args) > 1)
+        args[1:(length(args) - 1)] <- paste0(args[1:(length(args) - 1)], ",") 
+
+    args[length(args)] <- paste0(args[length(args)], appendAtEnd)
+
+    argsLength <- length(args)
+    argLines <- list()
+    index <- 1
+
+    while(index <= argsLength)
+    {
+        line <- args[index]
+        index <- index + 1
+
+        while(nchar(line) < lineLength && index <= argsLength)
+        {
+            line <- paste(line, args[index])
+            index <- index + 1
+        }
+
+        argLines <- c(argLines, line)
+    }
+    
+    unlist(argLines)
+}

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list