Merge branch 'master' of git.curoverse.com:arvados into 11876-r-sdk
authorFuad Muhic <fmuhic@capeannenterprises.com>
Fri, 1 Dec 2017 15:21:32 +0000 (16:21 +0100)
committerFuad Muhic <fmuhic@capeannenterprises.com>
Fri, 1 Dec 2017 15:21:32 +0000 (16:21 +0100)
Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic@capeannenterprises.com>

19 files changed:
.gitignore
sdk/R/.RData [new file with mode: 0644]
sdk/R/.Rbuildignore [new file with mode: 0644]
sdk/R/ArvadosSDK.Rproj [new file with mode: 0644]
sdk/R/DESCRIPTION [new file with mode: 0644]
sdk/R/NAMESPACE [new file with mode: 0644]
sdk/R/R/Arvados.R [new file with mode: 0644]
sdk/R/R/HttpParser.R [new file with mode: 0644]
sdk/R/R/HttpRequest.R [new file with mode: 0644]
sdk/R/R/arvados_objects.R [new file with mode: 0644]
sdk/R/R/custom_classes.R [new file with mode: 0644]
sdk/R/README [new file with mode: 0644]
sdk/R/man/Arvados-class.Rd [new file with mode: 0644]
sdk/R/man/Collection.Rd [new file with mode: 0644]
sdk/R/man/HttrParser-class.Rd [new file with mode: 0644]
sdk/R/man/collection_create.Rd [new file with mode: 0644]
sdk/R/man/collection_delete.Rd [new file with mode: 0644]
sdk/R/man/collection_get.Rd [new file with mode: 0644]
sdk/R/man/collection_list.Rd [new file with mode: 0644]

index 0e876bb6f4d430eea2a79bbe34b0ee3f37c8a6fc..cbebe67bc03d5e4280f9a46cf72e41060ac4d7dc 100644 (file)
@@ -28,3 +28,4 @@ services/api/config/arvados-clients.yml
 *#*
 .DS_Store
 .vscode
+.Rproj.user
diff --git a/sdk/R/.RData b/sdk/R/.RData
new file mode 100644 (file)
index 0000000..2b5f989
Binary files /dev/null and b/sdk/R/.RData differ
diff --git a/sdk/R/.Rbuildignore b/sdk/R/.Rbuildignore
new file mode 100644 (file)
index 0000000..91114bf
--- /dev/null
@@ -0,0 +1,2 @@
+^.*\.Rproj$
+^\.Rproj\.user$
diff --git a/sdk/R/ArvadosSDK.Rproj b/sdk/R/ArvadosSDK.Rproj
new file mode 100644 (file)
index 0000000..a648ce1
--- /dev/null
@@ -0,0 +1,20 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 4
+Encoding: UTF-8
+
+RnwWeave: Sweave
+LaTeX: pdfLaTeX
+
+AutoAppendNewline: Yes
+StripTrailingWhitespace: Yes
+
+BuildType: Package
+PackageUseDevtools: Yes
+PackageInstallArgs: --no-multiarch --with-keep.source
diff --git a/sdk/R/DESCRIPTION b/sdk/R/DESCRIPTION
new file mode 100644 (file)
index 0000000..c6afbbb
--- /dev/null
@@ -0,0 +1,16 @@
+Package: ArvadosSDK
+Type: Package
+Title: What the Package Does (Title Case)
+Version: 0.1.0
+Author: Who wrote it
+Maintainer: The package maintainer <yourself@somewhere.net>
+Description: More about what it does (maybe more than one line)
+    Use four spaces when indenting paragraphs within the Description.
+License: What license is it under?
+Encoding: UTF-8
+LazyData: true
+RoxygenNote: 6.0.1.9000
+Imports:
+    httr,
+    stringr,
+    jsonlite
diff --git a/sdk/R/NAMESPACE b/sdk/R/NAMESPACE
new file mode 100644 (file)
index 0000000..41f3994
--- /dev/null
@@ -0,0 +1,4 @@
+# Generated by roxygen2: do not edit by hand
+
+export(Arvados)
+export(Collection)
diff --git a/sdk/R/R/Arvados.R b/sdk/R/R/Arvados.R
new file mode 100644 (file)
index 0000000..8b3b40b
--- /dev/null
@@ -0,0 +1,182 @@
+source("./R/HttpRequest.R")
+source("./R/HttpParser.R")
+
+#' Arvados SDK Object
+#'
+#' All Arvados logic is inside this class
+#'
+#' @field token Token represents user authentification token.
+#' @field host Host represents server name we wish to connect to.
+#' @examples arv = Arvados("token", "host_name")
+#' @export Arvados
+Arvados <- setRefClass(
+
+    "Arvados",
+
+    fields = list(
+        token = "character",
+        host  = "character"
+    ),
+
+    methods = list(
+
+        initialize = function(auth_token, host_name) 
+        {
+            version <- "v1"
+            #Todo(Fudo): Validate token
+            token <<- auth_token
+            host  <<- paste0("https://", host_name, "/arvados/", version, "/")
+        }
+    )
+)
+
+#' collection_get
+#'
+#' Get Arvados collection
+#'
+#' @name collection_get
+#' @field uuid UUID of the given collection
+#' @examples arv = Arvados("token", "hostName")
+#' @examples arv$collection_get("uuid")
+Arvados$methods(
+
+    collection_get = function(uuid) 
+    {
+        collection_relative_url <- paste0("collections/", uuid)
+        http_request <- HttpRequest("GET", token, host, collection_relative_url) 
+        server_response <- http_request$execute()
+
+        httpParser <- HttpParser()
+        collection <- httpParser$parseCollectionGet(server_response)
+
+        if(!is.null(collection$errors))
+            stop(collection$errors)       
+
+        class(collection) <- "ArvadosCollection"
+
+        return(collection)
+    }
+)
+
+#' collection_list
+#'
+#' Retreive list of collections based on provided filter.
+#'
+#' @name collection_list
+#' @field filters List of filters we want to use to retreive list of collections.
+#' @field limit Limits the number of result returned by server.
+#' @field offset Offset from beginning of the result set.
+#' @examples arv = Arvados("token", "hostName")
+#' @examples arv$collection_list(list("uuid", "=" "aaaaa-bbbbb-ccccccccccccccc"))
+Arvados$methods(
+
+    collection_list = function(filters = NULL, limit = NULL, offset = NULL) 
+    {
+        #Todo(Fudo): Implement limit and offset
+        collection_relative_url <- "collections"
+        http_request <- HttpRequest("GET", token, host, collection_relative_url,
+                                    body = NULL,  filters, limit, offset) 
+
+        server_response <- http_request$execute()
+
+        httpParser <- HttpParser()
+        collection <- httpParser$parseCollectionGet(server_response)
+
+        if(!is.null(collection$errors))
+            stop(collection$errors)       
+
+        class(collection) <- "ArvadosCollectionList"
+
+        return(collection)
+    }
+)
+
+#' collection_create
+#'
+#' Create Arvados collection
+#'
+#' @name collection_create
+#' @field body Structure of the collection we want to create.
+#' @examples arv = Arvados("token", "hostName")
+#' @examples arv$collection_create(list(collection = list(name = "myCollection")))
+Arvados$methods(
+
+    collection_create = function(body) 
+    {
+        collection_relative_url <- paste0("collections/", "/?alt=json")
+        body = jsonlite::toJSON(body, auto_unbox = T)
+
+        http_request    <- HttpRequest("POST", token, host, collection_relative_url, body) 
+        server_response <- http_request$execute()
+
+        httpParser <- HttpParser()
+        collection <- httpParser$parseCollectionGet(server_response)
+
+        if(!is.null(collection$errors))
+            stop(collection$errors)       
+
+        class(collection) <- "ArvadosCollection"
+
+        return(collection)
+    }
+)
+
+#' collection_delete
+#'
+#' Delete Arvados collection
+#'
+#' @name collection_delete
+#' @field uuid UUID of the collection we want to delete.
+#' @examples arv = Arvados("token", "hostName")
+#' @examples arv$collection_delete(uuid = "aaaaa-bbbbb-ccccccccccccccc")
+Arvados$methods(
+
+    collection_delete = function(uuid) 
+    {
+        collection_relative_url <- paste0("collections/", uuid, "/?alt=json")
+
+        http_request    <- HttpRequest("DELETE", token, host, collection_relative_url) 
+        server_response <- http_request$execute()
+
+        httpParser <- HttpParser()
+        collection <- httpParser$parseCollectionGet(server_response)
+
+        if(!is.null(collection$errors))
+            stop(collection$errors)       
+
+        class(collection) <- "ArvadosCollection"
+
+        return(collection)
+    }
+)
+
+#' collection_update
+#'
+#' Update Arvados collection
+#'
+#' @name collection_update
+#' @field uuid UUID of the collection we want to update.
+#' @field body New structure of the collection.
+#' @examples arv = Arvados("token", "hostName")
+#' @examples arv$collection_update(uuid = "aaaaa-bbbbb-ccccccccccccccc", list(collection = list(name = "newName")))
+Arvados$methods(
+
+    collection_update = function(uuid, body) 
+    {
+        collection_relative_url <- paste0("collections/", uuid, "/?alt=json")
+        body = jsonlite::toJSON(body, auto_unbox = T)
+
+        http_request    <- HttpRequest("PUT", token, host, collection_relative_url, body) 
+        server_response <- http_request$execute()
+
+        httpParser <- HttpParser()
+        collection <- httpParser$parseCollectionGet(server_response)
+
+        if(!is.null(collection$errors))
+            stop(collection$errors)       
+
+        class(collection) <- "ArvadosCollection"
+
+        return(collection)
+    }
+)
diff --git a/sdk/R/R/HttpParser.R b/sdk/R/R/HttpParser.R
new file mode 100644 (file)
index 0000000..09304fc
--- /dev/null
@@ -0,0 +1,22 @@
+#' HttpParser
+#'
+HttpParser <- setRefClass(
+
+    "HttrParser",
+
+    fields = list(
+    ),
+
+    methods = list(
+        initialize = function() 
+        {
+        },
+
+        parseCollectionGet = function(server_response) 
+        {
+            parsed_response <- httr::content(server_response, as = "parsed", type = "application/json")
+
+            #Todo(Fudo): Create new Collection object and populate it
+        }
+    )
+)
diff --git a/sdk/R/R/HttpRequest.R b/sdk/R/R/HttpRequest.R
new file mode 100644 (file)
index 0000000..041d64d
--- /dev/null
@@ -0,0 +1,167 @@
+source("./R/custom_classes.R")
+
+HttpRequest <- setRefClass(
+
+    "HttrRequest",
+
+    fields = list(
+        send_method         = "character",
+        server_base_url     = "character",
+        server_relative_url = "character",
+        auth_token          = "character",
+        allowed_methods     = "list",
+        request_body        = "ANY",
+        query_filters       = "ANY",
+        response_limit      = "ANY",
+        query_offset        = "ANY"
+    ),
+
+    methods = list(
+        initialize = function(method,
+                              token,
+                              base_url,
+                              relative_url,
+                              body = NULL,
+                              filters = NULL,
+                              limit = 100,
+                              offset = 0) 
+        {
+            send_method         <<- method
+            auth_token          <<- token
+            server_base_url     <<- base_url
+            server_relative_url <<- relative_url
+            request_body        <<- body
+            query_filters       <<- filters
+            response_limit      <<- limit
+            query_offset        <<- offset
+        },
+
+        execute = function() 
+        {
+            #Todo(Fudo): Get rid of the switch and make this module more general.
+            http_method <- switch(send_method,
+                                  "GET"    = .self$getRequest,
+                                  "POST"   = .self$postRequest,
+                                  "PUT"    = .self$putRequest,
+                                  "DELETE" = .self$deleteRequest,
+                                  "PATCH"  = .self$pathcRequest)
+            http_method()
+        },
+
+        getRequest = function() 
+        {
+            requestHeaders <- httr::add_headers(Authorization = .self$getAuthHeader())
+            requestQuery   <- .self$generateQuery()
+            url            <- paste0(server_base_url, server_relative_url, requestQuery)
+
+            server_data <- httr::GET(url    = url,
+                                     config = requestHeaders)
+        },
+
+        #Todo(Fudo): Try to make this more generic
+        postRequest = function() 
+        {
+            url <- paste0(server_base_url, server_relative_url)
+            requestHeaders <- httr::add_headers("Authorization" = .self$getAuthHeader(),
+                                                "Content-Type"  = "application/json")
+            response <- POST(url, body = request_body, config = requestHeaders)
+        },
+
+        putRequest = function() 
+        {
+            url <- paste0(server_base_url, server_relative_url)
+            requestHeaders <- httr::add_headers("Authorization" = .self$getAuthHeader(),
+                                                "Content-Type"  = "application/json")
+
+            response <- PUT(url, body = request_body, config = requestHeaders)
+        },
+
+        deleteRequest = function() 
+        {
+            url <- paste0(server_base_url, server_relative_url)
+            requestHeaders <- httr::add_headers("Authorization" = .self$getAuthHeader(),
+                                                "Content-Type"  = "application/json")
+            response <- DELETE(url, config = requestHeaders)
+        },
+
+        pathcRequest = function() 
+        {
+            #Todo(Fudo): Implement this later on.
+            print("PATCH method")
+        },
+
+        getAuthHeader = function() 
+        {
+            auth_method <- "OAuth2"
+            auth_header <- paste(auth_method, auth_token)
+        },
+
+        generateQuery = function() 
+        {
+            #Todo(Fudo): This function is a mess, refactor it
+            finalQuery <- "?alt=json"
+
+            if(!is.null(query_filters))
+            {
+                filters <- sapply(query_filters, function(filter)
+                {
+                    if(length(filter) != 3)
+                        stop("Filter list must have exacthey 3 elements.")
+
+                    attributeAndOperator = filter[c(1, 2)]
+                    filterList = filter[[3]]
+                    filterListIsPrimitive = TRUE
+                    if(length(filterList) > 1)
+                        filterListIsPrimitive = FALSE
+
+                    attributeAndOperator <- sapply(attributeAndOperator, function(component) {
+                        component <- paste0("\"", component, "\"")
+                    })
+
+                    filterList <- sapply(unlist(filterList), function(filter) {
+                        filter <- paste0("\"", filter, "\"")
+                    })
+
+                    filterList <- paste(filterList, collapse = ",+")
+
+                    if(!filterListIsPrimitive)
+                        filterList <- paste0("[", filterList, "]")
+
+                    filter <- c(attributeAndOperator, filterList)
+
+                    queryParameter <- paste(filter, collapse = ",+")
+                    queryParameter <- paste0("[", queryParameter, "]")
+        
+                })
+
+                filters <- paste(filters, collapse = ",+")
+                filters <- paste0("[", filters, "]")
+
+                encodedQuery <- URLencode(filters, reserved = T, repeated = T)
+
+                finalQuery <- paste0(finalQuery, "&filters=", encodedQuery)
+
+                #Todo(Fudo): This is a hack for now. Find a proper solution.
+                finalQuery <- stringr::str_replace_all(finalQuery, "%2B", "+")
+            }
+
+            if(!is.null(response_limit))
+            {
+                if(!is.numeric(response_limit))
+                    stop("Limit must be a numeric type.")
+                
+                finalQuery <- paste0(finalQuery, "&limit=", response_limit)
+            }
+
+            if(!is.null(query_offset))
+            {
+                if(!is.numeric(query_offset))
+                    stop("Offset must be a numeric type.")
+                
+                finalQuery <- paste0(finalQuery, "&offset=", query_offset)
+            }
+
+            finalQuery
+        }
+    )
+)
diff --git a/sdk/R/R/arvados_objects.R b/sdk/R/R/arvados_objects.R
new file mode 100644 (file)
index 0000000..88fd515
--- /dev/null
@@ -0,0 +1,75 @@
+#' Collection Object
+#' 
+#' @details 
+#' Todo: Update description
+#' Collection
+#' 
+#' @param uuid Object ID
+#' @param etag Object version
+#' @param owner_uuid No description
+#' @param created_at No description
+#' @param modified_by_client_uuid No description
+#' @param modified_by_user_uuid No description
+#' @param modified_at No description
+#' @param portable_data_hash No description
+#' @param replication_desired No description
+#' @param replication_confirmed_at No description
+#' @param replication_confirmed No description
+#' @param updated_at No description
+#' @param manifest_text No description
+#' @param name No description
+#' @param description No description
+#' @param properties No description
+#' @param delete_at No description
+#' @param file_names No description
+#' @param trash_at No description
+#' @param is_trashed No description
+#' 
+#' @return Collection object
+#' 
+#' @family Collection functions
+#' @export
+Collection <- 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)
+{
+    structure(list(uuid                     = uuid,
+                   etag                     = etag,
+                   owner_uuid               = owner_uuid,
+                   created_at               = created_at,
+                   modified_by_client_uuid  = modified_by_client_uuid,
+                   modified_by_user_uuid    = modified_by_user_uuid,
+                   modified_at              = modified_at,
+                   portable_data_hash       = portable_data_hash,
+                   replication_desired      = replication_desired,
+                   replication_confirmed_at = replication_confirmed_at,
+                   replication_confirmed    = replication_confirmed,
+                   updated_at               = updated_at,
+                   manifest_text            = manifest_text,
+                   name                     = name,
+                   description              = description,
+                   properties               = properties,
+                   delete_at                = delete_at,
+                   file_names               = file_names,
+                   trash_at                 = trash_at,
+                   is_trashed               = is_trashed),
+              class = "ArvadosCollection")
+}
+
diff --git a/sdk/R/R/custom_classes.R b/sdk/R/R/custom_classes.R
new file mode 100644 (file)
index 0000000..89d1d12
--- /dev/null
@@ -0,0 +1,11 @@
+#Study(Fudo): For some reason this doesnt seem to work,
+#see what seems to be a problem.
+
+setOldClass("characterOrNULL")
+setClassUnion("characterOrNULL", c("character", "NULL"))
+
+setClassUnion("listOrNULL", c("list", "NULL"))
+setOldClass("listOrNULL")
+
+setOldClass("numericOrNULL")
+setClassUnion("numericOrNULL", c("numeric", "NULL"))
diff --git a/sdk/R/README b/sdk/R/README
new file mode 100644 (file)
index 0000000..0d954b6
--- /dev/null
@@ -0,0 +1 @@
+R SDK for Arvados
\ No newline at end of file
diff --git a/sdk/R/man/Arvados-class.Rd b/sdk/R/man/Arvados-class.Rd
new file mode 100644 (file)
index 0000000..315f851
--- /dev/null
@@ -0,0 +1,22 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\docType{class}
+\name{Arvados-class}
+\alias{Arvados-class}
+\alias{Arvados}
+\title{Arvados SDK Object}
+\description{
+All Arvados logic is inside this class
+}
+\section{Fields}{
+
+\describe{
+\item{\code{token}}{Token represents user authentification token.}
+
+\item{\code{host}}{Host represents server name we wish to connect to.}
+}}
+
+
+\examples{
+arv = Arvados("token", "host_name")
+}
diff --git a/sdk/R/man/Collection.Rd b/sdk/R/man/Collection.Rd
new file mode 100644 (file)
index 0000000..add30b1
--- /dev/null
@@ -0,0 +1,67 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/arvados_objects.R
+\name{Collection}
+\alias{Collection}
+\title{Collection Object}
+\usage{
+Collection(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)
+}
+\arguments{
+\item{uuid}{Object ID}
+
+\item{etag}{Object version}
+
+\item{owner_uuid}{No description}
+
+\item{created_at}{No description}
+
+\item{modified_by_client_uuid}{No description}
+
+\item{modified_by_user_uuid}{No description}
+
+\item{modified_at}{No description}
+
+\item{portable_data_hash}{No description}
+
+\item{replication_desired}{No description}
+
+\item{replication_confirmed_at}{No description}
+
+\item{replication_confirmed}{No description}
+
+\item{updated_at}{No description}
+
+\item{manifest_text}{No description}
+
+\item{name}{No description}
+
+\item{description}{No description}
+
+\item{properties}{No description}
+
+\item{delete_at}{No description}
+
+\item{file_names}{No description}
+
+\item{trash_at}{No description}
+
+\item{is_trashed}{No description}
+}
+\value{
+Collection object
+}
+\description{
+Collection Object
+}
+\details{
+Todo: Update description
+Collection
+}
+\concept{Collection functions}
diff --git a/sdk/R/man/HttrParser-class.Rd b/sdk/R/man/HttrParser-class.Rd
new file mode 100644 (file)
index 0000000..5a6d1c7
--- /dev/null
@@ -0,0 +1,11 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/HttpParser.R
+\docType{class}
+\name{HttrParser-class}
+\alias{HttrParser-class}
+\alias{HttpParser}
+\title{HttpParser}
+\description{
+HttpParser
+}
+
diff --git a/sdk/R/man/collection_create.Rd b/sdk/R/man/collection_create.Rd
new file mode 100644 (file)
index 0000000..4a0509b
--- /dev/null
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\name{collection_create}
+\alias{collection_create}
+\title{collection_create}
+\description{
+Create Arvados collection
+}
+\section{Fields}{
+
+\describe{
+\item{\code{body}}{Structure of the collection we want to create.}
+}}
+
+\examples{
+arv = Arvados("token", "host_name")
+arv$collection_create(list(collection = list(name = "myCollection")))
+}
diff --git a/sdk/R/man/collection_delete.Rd b/sdk/R/man/collection_delete.Rd
new file mode 100644 (file)
index 0000000..5c37a9b
--- /dev/null
@@ -0,0 +1,24 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\name{collection_delete}
+\alias{collection_delete}
+\title{collection_delete}
+\description{
+Delete Arvados collection
+
+Delete Arvados collection
+}
+\section{Fields}{
+
+\describe{
+\item{\code{uuid}}{UUID of the collection we want to delete.}
+
+\item{\code{uuid}}{UUID of the collection we want to delete.}
+}}
+
+\examples{
+arv = Arvados("token", "host_name")
+arv$collection_delete(uuid = "aaaaa-bbbbb-ccccccccccccccc")
+arv = Arvados("token", "host_name")
+arv$collection_delete(uuid = "aaaaa-bbbbb-ccccccccccccccc")
+}
diff --git a/sdk/R/man/collection_get.Rd b/sdk/R/man/collection_get.Rd
new file mode 100644 (file)
index 0000000..e29170b
--- /dev/null
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\name{collection_get}
+\alias{collection_get}
+\title{collection_get}
+\description{
+Get Arvados collection
+}
+\section{Fields}{
+
+\describe{
+\item{\code{uuid}}{UUID of the given collection}
+}}
+
+\examples{
+arv = Arvados("token", "host_name")
+arv$collection_get("uuid")
+}
diff --git a/sdk/R/man/collection_list.Rd b/sdk/R/man/collection_list.Rd
new file mode 100644 (file)
index 0000000..a1a73d7
--- /dev/null
@@ -0,0 +1,22 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Arvados.R
+\name{collection_list}
+\alias{collection_list}
+\title{collection_list}
+\description{
+Retreive list of collections based on provided filter.
+}
+\section{Fields}{
+
+\describe{
+\item{\code{filters}}{List of filters we want to use to retreive list of collections.}
+
+\item{\code{limit}}{Limits the number of result returned by server.}
+
+\item{\code{offset}}{Offset from beginning of the result set.}
+}}
+
+\examples{
+arv = Arvados("token", "host_name")
+arv$collection_list(list("uuid", "=" "aaaaa-bbbbb-ccccccccccccccc"))
+}