UsageReports

pt.tecnico.dsi.openstack.nova.services.UsageReports
final class UsageReports[F[_]](baseUri: Uri, session: Session)(using evidence$1: Concurrent[F], evidence$2: Client[F]) extends PartialCrudService[F]

Attributes

Source
UsageReports.scala
Graph
Supertypes
class Service[F]
class Object
trait Matchable
class Any

Members list

Type members

Inherited types

type /=>[-T, +R] = PartialFunction[T, R]

Attributes

Inherited from:
Service
Source
Service.scala

Value members

Concrete methods

def apply(projectId: String, start: Option[LocalDateTime], end: Option[LocalDateTime]): F[UsageReport]

Shows the usage report for a project assuming the project exist.

Shows the usage report for a project assuming the project exist.

Value parameters

projectId

UUID of the project.

Attributes

Source
UsageReports.scala
def get(projectId: String, start: Option[LocalDateTime], end: Option[LocalDateTime]): F[Option[UsageReport]]

Shows the usage report for a project.

Shows the usage report for a project.

Value parameters

projectId

UUID of the project.

Attributes

Source
UsageReports.scala

Inherited methods

protected def defaultOnError[R](request: Request[F], response: Response[F]): F[R]

Attributes

Inherited from:
Service
Source
Service.scala
protected def delete(uri: Uri, extraHeaders: ToRaw*): F[Unit]

An idempotent delete. If NotFound or Gone are returned this method will succeed.

An idempotent delete. If NotFound or Gone are returned this method will succeed.

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

uri

the uri to which the request will be made.

Attributes

Inherited from:
Service
Source
Service.scala
protected def expect[R](wrappedAt: Option[String], method: Method, uri: Uri, extraHeaders: ToRaw*)(using evidence$9: Decoder[R]): F[R]

Invokes method on the specified uri without any body. The response will be parsed to an R.

Invokes method on the specified uri without any body. The response will be parsed to an R.

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

method

the method to use, eg: GET, POST, etc.

uri

the uri to which the request will be made.

wrappedAt

whether to decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala

Invokes method on the specified uri passing as body value. The response will be parsed to an R.

Invokes method on the specified uri passing as body value. The response will be parsed to an R.

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

method

the method to use, eg: GET, POST, etc.

uri

the uri to which the request will be made.

value

the value to send in the body. This value will be json encoded using wrapped.

wrappedAt

whether to encode B and decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala

Invokes method on the specified uri without any body. The response will be parsed to an Option[R].

Invokes method on the specified uri without any body. The response will be parsed to an Option[R].

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

method

the method to use, eg: GET, POST, etc.

uri

the uri to which the request will be made.

wrappedAt

whether to decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala

Invokes method on the specified uri passing as body value. The response will be parsed to an Option[R].

Invokes method on the specified uri passing as body value. The response will be parsed to an Option[R].

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

method

the method to use, eg: GET, POST, etc.

uri

the uri to which the request will be made.

value

the value to send in the body. This value will be json encoded using wrapped.

wrappedAt

whether to encode B and decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala

Submits request and decodes the response to a Option[R] on success.

Submits request and decodes the response to a Option[R] on success.

Value parameters

request

the request to execute.

wrappedAt

whether to decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala
protected def expectUnwrapped[R](wrappedAt: Option[String], request: Request[F])(using evidence$3: Decoder[R]): F[R]

Submits request and decodes the response to a R on success.

Submits request and decodes the response to a R on success.

Value parameters

request

the request to execute.

wrappedAt

whether to decode R at the Json root, or at the field at.

Attributes

Inherited from:
Service
Source
Service.scala
protected def get[R](wrappedAt: Option[String], uri: Uri, extraHeaders: ToRaw*)(using evidence$11: Decoder[R]): F[R]

Attributes

Inherited from:
Service
Source
Service.scala
protected def getOption[R](wrappedAt: Option[String], uri: Uri, extraHeaders: ToRaw*)(using evidence$12: Decoder[R]): F[Option[R]]

Attributes

Inherited from:
Service
Source
Service.scala
protected def list[R](wrappedAt: String, uri: Uri, extraHeaders: ToRaw*)(using evidence$25: Decoder[R]): F[List[R]]

Invokes a GET request on the specified uri, expecting to receive a list of elements. If the response is paginated all elements will be returned, be careful as this might take a lot of time and memory.

Invokes a GET request on the specified uri, expecting to receive a list of elements. If the response is paginated all elements will be returned, be careful as this might take a lot of time and memory.

Type parameters

R

the type of the elements returned.

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

uri

the uri to which the request will be made. Query params related with pagination will be overwritten after the first request.

wrappedAt

the Json object field where R will be decoded from.

Attributes

Inherited from:
Service
Source
Service.scala
protected def patch[V, R](wrappedAt: Option[String], value: V, uri: Uri, extraHeaders: ToRaw*)(using evidence$15: Encoder[V], evidence$16: Decoder[R]): F[R]

Attributes

Inherited from:
Service
Source
Service.scala
protected def post[V, R](wrappedAt: Option[String], value: V, uri: Uri, extraHeaders: ToRaw*)(using evidence$17: Encoder[V], evidence$18: Decoder[R]): F[R]

Attributes

Inherited from:
Service
Source
Service.scala

Attributes

Inherited from:
Service
Source
Service.scala

Attributes

Inherited from:
Service
Source
Service.scala
protected def put[V, R](wrappedAt: Option[String], value: V, uri: Uri, extraHeaders: ToRaw*)(using evidence$13: Encoder[V], evidence$14: Decoder[R]): F[R]

Attributes

Inherited from:
Service
Source
Service.scala
protected def stream[R](wrappedAt: String, uri: Uri, extraHeaders: ToRaw*)(using evidence$24: Decoder[R]): Stream[F, R]

Invokes a GET request on the specified uri, expecting the returned json to be paginated. Automatically fetches more pages if more elements of the stream are consumed.

Invokes a GET request on the specified uri, expecting the returned json to be paginated. Automatically fetches more pages if more elements of the stream are consumed.

Type parameters

R

the type of the elements returned.

Value parameters

extraHeaders

extra headers to be used. The authToken header is always added.

uri

the uri to which the request will be made. Query params related with pagination will be overwritten after the first request.

wrappedAt

the Json object field where R will be decoded from.

Attributes

Inherited from:
{ valnext:Option[Uri]=links.collectFirst[Uri](((x$1:Link)=>(x$1:@unchecked)match{ caseLink("next",uri)=> (`uri₂`:Uri) })) Tuple2.apply[List[Link],Option[Uri]](links,next) })).flatMap[DecodingFailure,Tuple2[Option[Uri],List[R]]](((`x$1₂`:Tuple2[List[Link],Option[Uri]])=>(`x$1₂`:@unchecked)match{ caseTuple2(links,next)=> c.downField(wrappedAt).as[List[R]](decodeList[R](evidence$24)).map[Tuple2[Option[Uri],List[R]]](((objectList:List[R])=>Tuple2.apply[Option[Uri],List[R]](`next₂`,objectList))) }))) Stream.unfoldChunkEval[F,Option[Uri],R](Some.apply[Uri](uri))(((`x$1₃`:Option[Uri])=>`x$1₃`match{ caseSome(uri)=> toFunctorOps[F,Tuple2[Option[Uri],List[R]]](client.expect[Tuple2[Option[Uri],List[R]]](Service.this.dsl.http4sClientSyntaxMethod(GET).apply(`uri₃`,extraHeaders.+:[ToRaw](Service.this.subjectTokenHeader):_*))(Service.this.jsonDecoder[Tuple2[Option[Uri],List[R]]](paginatedDecoder)))(F).map[Option[Tuple2[Chunk[R],Option[Uri]]]](((`x$1₄`:Tuple2[Option[Uri],List[R]])=>`x$1₄`match{ caseTuple2(next,entries)=> Some.apply[Tuple2[Chunk[R],Option[Uri]]](Tuple2.apply[Chunk[R],Option[Uri]](Chunk.iterable[R](entries),`next₃`)) })) caseNone=> F.pure[Option[Tuple2[Chunk[R],Option[Uri]]]](None) })) }">Service
Source
Service.scala
protected def unwrapped[R](at: Option[String])(implicit decoder: Decoder[R]): EntityDecoder[F, R]

Creates a Decoder which will decode the response from Json. When at is None R will be decoded directly from the Json root (the normal implementation for most Json REST APIs). Example:

Creates a Decoder which will decode the response from Json. When at is None R will be decoded directly from the Json root (the normal implementation for most Json REST APIs). Example:

{
  "id": "e4d02828-9cac-4765-bf7f-7e210dac7aba",
  "zones": 500,
  "zone_recordsets": 500
}

When at is a Some(x) R will be decoded from the Json object located in the field x. For R to be correctly parsed in this example at should be Some("quota"):

{
  "quota": {
    "id": "e4d02828-9cac-4765-bf7f-7e210dac7aba",
    "zones": 500,
    "zone_recordsets": 500
  }
}

Value parameters

at

whether to decode R at the Json root, or at the field at.

decoder

the circe decoder capable of converting Json to an R.

Attributes

Inherited from:
Service
Source
Service.scala
protected def wrapped[R](at: Option[String])(implicit encoder: Encoder[R]): EntityEncoder[F, R]

Creates an EntityEncoder which will encode R to a Json. When at is None R will be encoded directly (the normal implementation for most Json REST APIs). Example:

Creates an EntityEncoder which will encode R to a Json. When at is None R will be encoded directly (the normal implementation for most Json REST APIs). Example:

{
  "id": "e4d02828-9cac-4765-bf7f-7e210dac7aba",
  "zones": 500,
  "zone_recordsets": 500
}

When at is a Some(x) R will be encoded inside a Json object with a single field named x. In this example at was set to Some("quota"):

{
  "quota": {
    "id": "e4d02828-9cac-4765-bf7f-7e210dac7aba",
    "zones": 500,
    "zone_recordsets": 500
  }
}

Value parameters

at

whether to encode R at the Json root, or at the field at.

encoder

the circe encoder capable of converting an R to Json.

Attributes

Inherited from:
Service
Source
Service.scala

Concrete fields

override val uri: Uri

The baseUri with the pluraName appended as an extra path element.

The baseUri with the pluraName appended as an extra path element.

Attributes

Source
UsageReports.scala

Inherited fields

protected val authToken: AuthToken

Attributes

Inherited from:
Service
Source
Service.scala
protected val dsl: Http4sClientDsl[F]

Attributes

Inherited from:
Service
Source
Service.scala
protected val jsonPrinter: Printer

Attributes

Inherited from:
Service
Source
Service.scala
val name: String

Attributes

Inherited from:
Service
Source
Service.scala

Attributes

Inherited from:
Service
Source
Service.scala

Givens

Givens

Implicits

Inherited implicits

implicit val F: Concurrent[F]

Attributes

Inherited from:
Service
Source
Service.scala
implicit protected val client: Client[F]

Attributes

Inherited from:
Service
Source
Service.scala
implicit protected def jsonDecoder[A](using evidence$2: Decoder[A]): EntityDecoder[F, A]

Attributes

Inherited from:
Service
Source
Service.scala
implicit protected def jsonEncoder[A](using evidence$1: Encoder[A]): EntityEncoder[F, A]

Attributes

Inherited from:
Service
Source
Service.scala
implicit protected val void: EntityDecoder[F, Unit]

Attributes

Inherited from:
Service
Source
Service.scala