Class: Aws::KMS::Types::GenerateDataKeyRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-kms/types.rb

Overview

Note:

When making an API call, you may pass GenerateDataKeyRequest data as a hash:

{
  key_id: "KeyIdType", # required
  encryption_context: {
    "EncryptionContextKey" => "EncryptionContextValue",
  },
  number_of_bytes: 1,
  key_spec: "AES_256", # accepts AES_256, AES_128
  grant_tokens: ["GrantTokenType"],
}

Instance Attribute Summary collapse

Instance Attribute Details

#encryption_contextHash<String,String>

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

For more information, see [Encryption Context] in the *AWS Key Management Service Developer Guide*.

[1]: docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html

Returns:

  • (Hash<String,String>)


815
816
817
818
819
820
821
822
# File 'lib/aws-sdk-kms/types.rb', line 815

class GenerateDataKeyRequest < Struct.new(
  :key_id,
  :encryption_context,
  :number_of_bytes,
  :key_spec,
  :grant_tokens)
  include Aws::Structure
end

#grant_tokensArray<String>

A list of grant tokens.

For more information, see [Grant Tokens] in the *AWS Key Management Service Developer Guide*.

[1]: docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token

Returns:

  • (Array<String>)


815
816
817
818
819
820
821
822
# File 'lib/aws-sdk-kms/types.rb', line 815

class GenerateDataKeyRequest < Struct.new(
  :key_id,
  :encryption_context,
  :number_of_bytes,
  :key_spec,
  :grant_tokens)
  include Aws::Structure
end

#key_idString

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

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK, or the alias name or ARN of an alias that refers to the CMK. Examples:

  • Unique key ID: ‘1234abcd-12ab-34cd-56ef-1234567890ab`

  • CMK 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`

Returns:

  • (String)


815
816
817
818
819
820
821
822
# File 'lib/aws-sdk-kms/types.rb', line 815

class GenerateDataKeyRequest < Struct.new(
  :key_id,
  :encryption_context,
  :number_of_bytes,
  :key_spec,
  :grant_tokens)
  include Aws::Structure
end

#key_specString

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.

Returns:

  • (String)


815
816
817
818
819
820
821
822
# File 'lib/aws-sdk-kms/types.rb', line 815

class GenerateDataKeyRequest < Struct.new(
  :key_id,
  :encryption_context,
  :number_of_bytes,
  :key_spec,
  :grant_tokens)
  include Aws::Structure
end

#number_of_bytesInteger

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.

Returns:

  • (Integer)


815
816
817
818
819
820
821
822
# File 'lib/aws-sdk-kms/types.rb', line 815

class GenerateDataKeyRequest < Struct.new(
  :key_id,
  :encryption_context,
  :number_of_bytes,
  :key_spec,
  :grant_tokens)
  include Aws::Structure
end