/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace XRay { namespace Model { /** */ class PutEncryptionConfigRequest : public XRayRequest { public: AWS_XRAY_API PutEncryptionConfigRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutEncryptionConfig"; } AWS_XRAY_API Aws::String SerializePayload() const override; /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline PutEncryptionConfigRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline PutEncryptionConfigRequest& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

An Amazon Web Services KMS key in one of the following formats:

  • *

    Alias - The name of the key. For example, * alias/MyKey.

  • Key ID - The KMS key ID of * the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Amazon * Web Services X-Ray does not support asymmetric KMS keys.

  • * ARN - The full Amazon Resource Name of the key ID or alias. For example, * arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. * Use this format to specify a key in a different account.

Omit * this key if you set Type to NONE.

*/ inline PutEncryptionConfigRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;} /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline const EncryptionType& GetType() const{ return m_type; } /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline void SetType(const EncryptionType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline void SetType(EncryptionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline PutEncryptionConfigRequest& WithType(const EncryptionType& value) { SetType(value); return *this;} /** *

The type of encryption. Set to KMS to use your own key for * encryption. Set to NONE for default encryption.

*/ inline PutEncryptionConfigRequest& WithType(EncryptionType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_keyId; bool m_keyIdHasBeenSet = false; EncryptionType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace XRay } // namespace Aws