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

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

The newest version!
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 DescribeStream.

* @param StreamARN *

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

* @param StreamCreationTimestamp *

The approximate time that the stream was created.

* @param RetentionPeriodHours *

The current retention period, in hours. Minimum value of 24. Maximum value of * 168.

* @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 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 HasMoreShards *

If set to true, more shards in the stream are available to * describe.

* @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 capacity mode and a provisioned capacity mode for your data streams.

* @param Shards *

The shards that comprise the stream.

* @param EncryptionType *

The server-side encryption type used on the stream. This parameter can be one of the * following values:

*
    *
  • *

    * NONE: Do not encrypt the records in the stream.

    *
  • *
  • *

    * KMS: Use server-side encryption on the records in the stream * using a customer-managed Amazon Web Services KMS key.

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

Represents the output for DescribeStream.

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

The name of the stream being described.

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

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

")), StreamStatus.schema.required[StreamDescription]("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[StreamDescription]("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 capacity mode and a provisioned capacity mode for your data streams.

")), ShardList.underlyingSchema.required[StreamDescription]("Shards", _.shards).addHints(smithy.api.Documentation("

The shards that comprise the stream.

")), BooleanObject.schema.required[StreamDescription]("HasMoreShards", _.hasMoreShards).addHints(smithy.api.Documentation("

If set to true, more shards in the stream are available to\n describe.

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

The current retention period, in hours. Minimum value of 24. Maximum value of\n 168.

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

The approximate time that the stream was created.

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

Represents the current enhanced monitoring settings of the stream.

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

The server-side encryption type used on the stream. This parameter can be one of the\n following values:

\n
    \n
  • \n

    \n NONE: Do not encrypt the records in the stream.

    \n
  • \n
  • \n

    \n KMS: Use server-side encryption on the records in the stream\n using a customer-managed Amazon Web Services KMS key.

    \n
  • \n
")), KeyId.schema.optional[StreamDescription]("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
")), )(make).withId(id).addHints(hints) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy