AWS SDK for Go (PILOT)
API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see https://docs.aws.amazon.com/sdk-for-go/api/.

We welcome your feedback on this new version of the documentation. Send your comments to aws-sdkdocs-feedback@amazon.com.

GenerateDataKeyInput

import "github.com/aws/aws-sdk-go/service/kms"

type GenerateDataKeyInput struct { EncryptionContext map[string]*string `type:"map"` GrantTokens []*string `type:"list"` KeyId *string `min:"1" type:"string" required:"true"` KeySpec *string `type:"string" enum:"DataKeySpec"` NumberOfBytes *int64 `min:"1" type:"integer"` }

EncryptionContext

Type: map[string]*string

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html) in the AWS Key Management Service Developer Guide.

GrantTokens

Type: []*string

A list of grant tokens.

For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) in the AWS Key Management Service Developer Guide.

KeyId

Type: *string

The identifier of the CMK under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

KeyId is a required field

KeySpec

Type: *string

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

NumberOfBytes

Type: *int64

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

Method

GoString

func (s GenerateDataKeyInput) GoString() string

GoString returns the string representation

SetEncryptionContext

func (s *GenerateDataKeyInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyInput

SetEncryptionContext sets the EncryptionContext field's value.

SetGrantTokens

func (s *GenerateDataKeyInput) SetGrantTokens(v []*string) *GenerateDataKeyInput

SetGrantTokens sets the GrantTokens field's value.

SetKeyId

func (s *GenerateDataKeyInput) SetKeyId(v string) *GenerateDataKeyInput

SetKeyId sets the KeyId field's value.

SetKeySpec

func (s *GenerateDataKeyInput) SetKeySpec(v string) *GenerateDataKeyInput

SetKeySpec sets the KeySpec field's value.

SetNumberOfBytes

func (s *GenerateDataKeyInput) SetNumberOfBytes(v int64) *GenerateDataKeyInput

SetNumberOfBytes sets the NumberOfBytes field's value.

String

func (s GenerateDataKeyInput) String() string

String returns the string representation

Validate

func (s *GenerateDataKeyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

On this page: