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

smithy4s.com.amazonaws.kinesis.StreamDescriptionSummary.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

/** 

Represents the output for DescribeStreamSummary *

* @param StreamARN *

The Amazon Resource Name (ARN) for the stream being described.

* @param ConsumerCount *

The number of enhanced fan-out consumers registered with the stream.

* @param StreamCreationTimestamp *

The approximate time that the stream was created.

* @param RetentionPeriodHours *

The current retention period, in hours.

* @param StreamStatus *

The current status of the stream being described. The stream status is one of the * following states:

*
    *
  • *

    * CREATING - The stream is being created. Kinesis Data Streams * immediately returns and sets StreamStatus to * CREATING.

    *
  • *
  • *

    * DELETING - The stream is being deleted. The specified stream is in * the DELETING state until Kinesis Data Streams completes the * deletion.

    *
  • *
  • *

    * ACTIVE - The stream exists and is ready for read and write * operations or deletion. You should perform read and write operations only on an * ACTIVE stream.

    *
  • *
  • *

    * UPDATING - Shards in the stream are being merged or split. Read and * write operations continue to work while the stream is in the * UPDATING state.

    *
  • *
* @param OpenShardCount *

The number of open shards in the stream.

* @param EnhancedMonitoring *

Represents the current enhanced monitoring settings of the stream.

* @param KeyId *

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. * This value can be a globally unique identifier, a fully specified ARN to either an alias * or a key, or an alias name prefixed by "alias/".You can also use a master key owned by * Kinesis Data Streams by specifying the alias aws/kinesis.

*
    *
  • *

    Key ARN example: * arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 *

    *
  • *
  • *

    Alias ARN example: * arn:aws:kms:us-east-1:123456789012:alias/MyAliasName *

    *
  • *
  • *

    Globally unique key ID example: * 12345678-1234-1234-1234-123456789012 *

    *
  • *
  • *

    Alias name example: alias/MyAliasName *

    *
  • *
  • *

    Master key owned by Kinesis Data Streams: * alias/aws/kinesis *

    *
  • *
* @param StreamName *

The name of the stream being described.

* @param StreamModeDetails *

Specifies the capacity mode to which you want to set your data stream. Currently, in * Kinesis Data Streams, you can choose between an on-demand ycapacity mode and a provisioned capacity mode for your data streams.

* @param EncryptionType *

The encryption type used. This value is one of the following:

*
    *
  • *

    * KMS *

    *
  • *
  • *

    * NONE *

    *
  • *
*/ final case class StreamDescriptionSummary(streamName: StreamName, streamARN: StreamARN, streamStatus: StreamStatus, retentionPeriodHours: RetentionPeriodHours, streamCreationTimestamp: Timestamp, enhancedMonitoring: List[EnhancedMetrics], openShardCount: ShardCountObject, streamModeDetails: Option[StreamModeDetails] = None, encryptionType: Option[EncryptionType] = None, keyId: Option[KeyId] = None, consumerCount: Option[ConsumerCountObject] = None) object StreamDescriptionSummary extends ShapeTag.Companion[StreamDescriptionSummary] { val id: ShapeId = ShapeId("com.amazonaws.kinesis", "StreamDescriptionSummary") val hints: Hints = Hints( smithy.api.Documentation("

Represents the output for DescribeStreamSummary\n

"), ).lazily // constructor using the original order from the spec private def make(streamName: StreamName, streamARN: StreamARN, streamStatus: StreamStatus, streamModeDetails: Option[StreamModeDetails], retentionPeriodHours: RetentionPeriodHours, streamCreationTimestamp: Timestamp, enhancedMonitoring: List[EnhancedMetrics], encryptionType: Option[EncryptionType], keyId: Option[KeyId], openShardCount: ShardCountObject, consumerCount: Option[ConsumerCountObject]): StreamDescriptionSummary = StreamDescriptionSummary(streamName, streamARN, streamStatus, retentionPeriodHours, streamCreationTimestamp, enhancedMonitoring, openShardCount, streamModeDetails, encryptionType, keyId, consumerCount) implicit val schema: Schema[StreamDescriptionSummary] = struct( StreamName.schema.required[StreamDescriptionSummary]("StreamName", _.streamName).addHints(smithy.api.Documentation("

The name of the stream being described.

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

The Amazon Resource Name (ARN) for the stream being described.

")), StreamStatus.schema.required[StreamDescriptionSummary]("StreamStatus", _.streamStatus).addHints(smithy.api.Documentation("

The current status of the stream being described. The stream status is one of the\n following states:

\n
    \n
  • \n

    \n CREATING - The stream is being created. Kinesis Data Streams\n immediately returns and sets StreamStatus to\n CREATING.

    \n
  • \n
  • \n

    \n DELETING - The stream is being deleted. The specified stream is in\n the DELETING state until Kinesis Data Streams completes the\n deletion.

    \n
  • \n
  • \n

    \n ACTIVE - The stream exists and is ready for read and write\n operations or deletion. You should perform read and write operations only on an\n ACTIVE stream.

    \n
  • \n
  • \n

    \n UPDATING - Shards in the stream are being merged or split. Read and\n write operations continue to work while the stream is in the\n UPDATING state.

    \n
  • \n
")), StreamModeDetails.schema.optional[StreamDescriptionSummary]("StreamModeDetails", _.streamModeDetails).addHints(smithy.api.Documentation("

Specifies the capacity mode to which you want to set your data stream. Currently, in\n Kinesis Data Streams, you can choose between an on-demand ycapacity mode and a provisioned capacity mode for your data streams.

")), RetentionPeriodHours.schema.required[StreamDescriptionSummary]("RetentionPeriodHours", _.retentionPeriodHours).addHints(smithy.api.Documentation("

The current retention period, in hours.

")), timestamp.required[StreamDescriptionSummary]("StreamCreationTimestamp", _.streamCreationTimestamp).addHints(smithy.api.Documentation("

The approximate time that the stream was created.

")), EnhancedMonitoringList.underlyingSchema.required[StreamDescriptionSummary]("EnhancedMonitoring", _.enhancedMonitoring).addHints(smithy.api.Documentation("

Represents the current enhanced monitoring settings of the stream.

")), EncryptionType.schema.optional[StreamDescriptionSummary]("EncryptionType", _.encryptionType).addHints(smithy.api.Documentation("

The encryption type used. This value is one of the following:

\n
    \n
  • \n

    \n KMS\n

    \n
  • \n
  • \n

    \n NONE\n

    \n
  • \n
")), KeyId.schema.optional[StreamDescriptionSummary]("KeyId", _.keyId).addHints(smithy.api.Documentation("

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption.\n This value can be a globally unique identifier, a fully specified ARN to either an alias\n or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by\n Kinesis Data Streams by specifying the alias aws/kinesis.

\n
    \n
  • \n

    Key ARN example:\n arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012\n

    \n
  • \n
  • \n

    Alias ARN example: \n arn:aws:kms:us-east-1:123456789012:alias/MyAliasName\n

    \n
  • \n
  • \n

    Globally unique key ID example:\n 12345678-1234-1234-1234-123456789012\n

    \n
  • \n
  • \n

    Alias name example: alias/MyAliasName\n

    \n
  • \n
  • \n

    Master key owned by Kinesis Data Streams:\n alias/aws/kinesis\n

    \n
  • \n
")), ShardCountObject.schema.required[StreamDescriptionSummary]("OpenShardCount", _.openShardCount).addHints(smithy.api.Documentation("

The number of open shards in the stream.

")), ConsumerCountObject.schema.optional[StreamDescriptionSummary]("ConsumerCount", _.consumerCount).addHints(smithy.api.Documentation("

The number of enhanced fan-out consumers registered with the stream.

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy