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

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

There is a newer version: 0.0.32
Show newest version
package com.amazonaws.kinesis

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

/** @param StreamName
  *   

The name of the stream for which to start encrypting records.

* @param EncryptionType *

The encryption type to use. The only valid value is KMS.

* @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 Amazon Resource Name * (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 StreamARN *

The ARN of the stream.

*/ final case class StartStreamEncryptionInput(encryptionType: EncryptionType, keyId: KeyId, streamName: Option[StreamName] = None, streamARN: Option[StreamARN] = None) object StartStreamEncryptionInput extends ShapeTag.Companion[StartStreamEncryptionInput] { val id: ShapeId = ShapeId("com.amazonaws.kinesis", "StartStreamEncryptionInput") val hints: Hints = Hints( smithy.api.Input(), ).lazily // constructor using the original order from the spec private def make(streamName: Option[StreamName], encryptionType: EncryptionType, keyId: KeyId, streamARN: Option[StreamARN]): StartStreamEncryptionInput = StartStreamEncryptionInput(encryptionType, keyId, streamName, streamARN) implicit val schema: Schema[StartStreamEncryptionInput] = struct( StreamName.schema.optional[StartStreamEncryptionInput]("StreamName", _.streamName).addHints(smithy.api.Documentation("

The name of the stream for which to start encrypting records.

")), EncryptionType.schema.required[StartStreamEncryptionInput]("EncryptionType", _.encryptionType).addHints(smithy.api.Documentation("

The encryption type to use. The only valid value is KMS.

")), KeyId.schema.required[StartStreamEncryptionInput]("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 Amazon Resource Name\n (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also\n use a master key owned by Kinesis Data Streams by specifying the alias\n 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
")), StreamARN.schema.optional[StartStreamEncryptionInput]("StreamARN", _.streamARN).addHints(smithy.api.Documentation("

The ARN of the stream.

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy