Class

com.snowplowanalytics.snowplow.scalatracker.metadata

Ec2Metadata

Related Doc: package metadata

Permalink

class Ec2Metadata[F[_]] extends AnyRef

Module with parsing EC2-metadata logic

See also

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Ec2Metadata
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Ec2Metadata()(implicit arg0: Sync[F])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val InstanceIdentitySchema: SchemaKey

    Permalink
  5. val InstanceIdentityUri: String

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def getInstanceContext: F[SelfDescribingJson]

    Permalink

    Tries to GET self-describing JSON with instance identity or timeout after 10 seconds

    Tries to GET self-describing JSON with instance identity or timeout after 10 seconds

    returns

    future JSON with identity data

  13. def getInstanceContextBlocking(implicit F: Concurrent[F], T: Timer[F]): F[Option[SelfDescribingJson]]

    Permalink

    Tries to make blocking request to EC2 instance identity document On EC2 request takes ~6ms, while on non-EC2 box it blocks thread for 3 second

    Tries to make blocking request to EC2 instance identity document On EC2 request takes ~6ms, while on non-EC2 box it blocks thread for 3 second

    returns

    some context or None in case of any error including 3 sec timeout

  14. def getInstanceIdentity: F[Json]

    Permalink

    Tries to GET instance identity document for EC2 instance

    Tries to GET instance identity document for EC2 instance

    returns

    future JSON object with identity data

  15. def getMetadata(url: String): F[JsonObject]

    Permalink

    Recursively parse AWS EC2 instance metadata to get whole metadata

    Recursively parse AWS EC2 instance metadata to get whole metadata

    url

    full url to the endpoint (usually http://169.254.169.254/latest/meta-data/)

    returns

    future JSON object with metadata

  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. def transformUrl(url: String): String

    Permalink

    Handle URL which should be handled in different ways e.g.

    Handle URL which should be handled in different ways e.g. we can't GET public-keys/0-key-name, we should change it to public-keys/0 to get data

    url

    current URL

    returns

    modified URL if we're trying to get on of special cases

  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped