All Downloads are FREE. Search and download functionalities are using the official Maven repository.

smithy4s.com.amazonaws.kinesis.ConsumerDescription.scala Maven / Gradle / Ivy

package com.amazonaws.kinesis

import smithy4s.Hints
import smithy4s.Schema
import smithy4s.ShapeId
import smithy4s.ShapeTag
import smithy4s.Timestamp
import smithy4s.schema.Schema.struct
import smithy4s.schema.Schema.timestamp

/** 

An object that represents the details of a registered consumer. This type of object is * returned by DescribeStreamConsumer.

* @param StreamARN *

The ARN of the stream with which you registered the consumer.

* @param ConsumerCreationTimestamp *

* @param ConsumerStatus *

A consumer can't read data while in the CREATING or DELETING * states.

* @param ConsumerName *

The name of the consumer is something you choose when you register the * consumer.

* @param ConsumerARN *

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need * this ARN to be able to call SubscribeToShard.

*

If you delete a consumer and then create a new one with the same name, it won't have * the same ARN. That's because consumer ARNs contain the creation timestamp. This is * important to keep in mind if you have IAM policies that reference consumer ARNs.

*/ final case class ConsumerDescription(consumerName: ConsumerName, consumerARN: ConsumerARN, consumerStatus: ConsumerStatus, consumerCreationTimestamp: Timestamp, streamARN: StreamARN) object ConsumerDescription extends ShapeTag.Companion[ConsumerDescription] { val id: ShapeId = ShapeId("com.amazonaws.kinesis", "ConsumerDescription") val hints: Hints = Hints( smithy.api.Documentation("

An object that represents the details of a registered consumer. This type of object is\n returned by DescribeStreamConsumer.

"), ).lazily // constructor using the original order from the spec private def make(consumerName: ConsumerName, consumerARN: ConsumerARN, consumerStatus: ConsumerStatus, consumerCreationTimestamp: Timestamp, streamARN: StreamARN): ConsumerDescription = ConsumerDescription(consumerName, consumerARN, consumerStatus, consumerCreationTimestamp, streamARN) implicit val schema: Schema[ConsumerDescription] = struct( ConsumerName.schema.required[ConsumerDescription]("ConsumerName", _.consumerName).addHints(smithy.api.Documentation("

The name of the consumer is something you choose when you register the\n consumer.

")), ConsumerARN.schema.required[ConsumerDescription]("ConsumerARN", _.consumerARN).addHints(smithy.api.Documentation("

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need\n this ARN to be able to call SubscribeToShard.

\n

If you delete a consumer and then create a new one with the same name, it won\'t have\n the same ARN. That\'s because consumer ARNs contain the creation timestamp. This is\n important to keep in mind if you have IAM policies that reference consumer ARNs.

")), ConsumerStatus.schema.required[ConsumerDescription]("ConsumerStatus", _.consumerStatus).addHints(smithy.api.Documentation("

A consumer can\'t read data while in the CREATING or DELETING\n states.

")), timestamp.required[ConsumerDescription]("ConsumerCreationTimestamp", _.consumerCreationTimestamp).addHints(smithy.api.Documentation("

")), StreamARN.schema.required[ConsumerDescription]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("

The ARN of the stream with which you registered the consumer.

")), )(make).withId(id).addHints(hints) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy