/** * 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 { /** *

The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) * bucket, and an Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the file(s). Optionally, includes an Key Management Service * (KMS) key. This object is part of the DataSource object that is submitted * in the CreateDatasetImportJob request, and part of the * DataDestination object.

See Also:

AWS * API Reference

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

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline S3Config& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline S3Config& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in * an Amazon S3 bucket.

*/ inline S3Config& WithPath(const char* value) { SetPath(value); return *this;} /** *

The ARN of the Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 S3Config& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of the Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 S3Config& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of the Identity and Access Management (IAM) role that Amazon Forecast * can assume to access the Amazon S3 bucket or files. If you provide a value for * the KMSKeyArn key, the role must allow access to the 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 S3Config& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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

The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

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