/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ForecastService { namespace Model { /** *

An Key Management Service (KMS) key and an Identity and Access Management * (IAM) role that Amazon Forecast can assume to access the key. You can specify * this optional object in the CreateDataset and CreatePredictor * requests.

See Also:

AWS * API Reference

*/ class EncryptionConfig { public: AWS_FORECASTSERVICE_API EncryptionConfig(); AWS_FORECASTSERVICE_API EncryptionConfig(Aws::Utils::Json::JsonView jsonValue); AWS_FORECASTSERVICE_API EncryptionConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FORECASTSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline EncryptionConfig& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline EncryptionConfig& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role that Amazon Forecast can assume to access the KMS * key.

Passing a role across Amazon Web Services accounts is not allowed. * If you pass a role that isn't in your account, you get an * InvalidInputException error.

*/ inline EncryptionConfig& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline const Aws::String& GetKMSKeyArn() const{ return m_kMSKeyArn; } /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline bool KMSKeyArnHasBeenSet() const { return m_kMSKeyArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline void SetKMSKeyArn(const Aws::String& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = value; } /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline void SetKMSKeyArn(Aws::String&& value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline void SetKMSKeyArn(const char* value) { m_kMSKeyArnHasBeenSet = true; m_kMSKeyArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline EncryptionConfig& WithKMSKeyArn(const Aws::String& value) { SetKMSKeyArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline EncryptionConfig& WithKMSKeyArn(Aws::String&& value) { SetKMSKeyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the KMS key.

*/ inline EncryptionConfig& WithKMSKeyArn(const char* value) { SetKMSKeyArn(value); return *this;} private: Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_kMSKeyArn; bool m_kMSKeyArnHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws