/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Personalize { namespace Model { /** *

A dataset group is a collection of related datasets (Interactions, User, and * Item). You create a dataset group by calling CreateDatasetGroup. * You then create a dataset and add it to a dataset group by calling CreateDataset. * The dataset group is used to create and train a solution by calling CreateSolution. * A dataset group can contain only one of each type of dataset.

You can * specify an Key Management Service (KMS) key to encrypt the datasets in the * group.

See Also:

AWS * API Reference

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

The name of the dataset group.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the dataset group.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the dataset group.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the dataset group.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the dataset group.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the dataset group.

*/ inline DatasetGroup& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the dataset group.

*/ inline DatasetGroup& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the dataset group.

*/ inline DatasetGroup& WithName(const char* value) { SetName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline const Aws::String& GetDatasetGroupArn() const{ return m_datasetGroupArn; } /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline bool DatasetGroupArnHasBeenSet() const { return m_datasetGroupArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline void SetDatasetGroupArn(const Aws::String& value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn = value; } /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline void SetDatasetGroupArn(Aws::String&& value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline void SetDatasetGroupArn(const char* value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline DatasetGroup& WithDatasetGroupArn(const Aws::String& value) { SetDatasetGroupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline DatasetGroup& WithDatasetGroupArn(Aws::String&& value) { SetDatasetGroupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the dataset group.

*/ inline DatasetGroup& WithDatasetGroupArn(const char* value) { SetDatasetGroupArn(value); return *this;} /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline DatasetGroup& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline DatasetGroup& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The current status of the dataset group.

A dataset group can be in one * of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS * > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

*/ inline DatasetGroup& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The ARN of the IAM role that has permissions to create the dataset group.

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

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = value; } /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline void SetKmsKeyArn(const char* value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline DatasetGroup& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline DatasetGroup& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key used * to encrypt the datasets.

*/ inline DatasetGroup& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline DatasetGroup& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} /** *

The creation date and time (in Unix time) of the dataset group.

*/ inline DatasetGroup& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline DatasetGroup& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The last update date and time (in Unix time) of the dataset group.

*/ inline DatasetGroup& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} /** *

If creating a dataset group fails, provides the reason why.

*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *

If creating a dataset group fails, provides the reason why.

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

If creating a dataset group fails, provides the reason why.

*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

If creating a dataset group fails, provides the reason why.

*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

If creating a dataset group fails, provides the reason why.

*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *

If creating a dataset group fails, provides the reason why.

*/ inline DatasetGroup& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *

If creating a dataset group fails, provides the reason why.

*/ inline DatasetGroup& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *

If creating a dataset group fails, provides the reason why.

*/ inline DatasetGroup& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} /** *

The domain of a Domain dataset group.

*/ inline const Domain& GetDomain() const{ return m_domain; } /** *

The domain of a Domain dataset group.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The domain of a Domain dataset group.

*/ inline void SetDomain(const Domain& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The domain of a Domain dataset group.

*/ inline void SetDomain(Domain&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The domain of a Domain dataset group.

*/ inline DatasetGroup& WithDomain(const Domain& value) { SetDomain(value); return *this;} /** *

The domain of a Domain dataset group.

*/ inline DatasetGroup& WithDomain(Domain&& value) { SetDomain(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_datasetGroupArn; bool m_datasetGroupArnHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_kmsKeyArn; bool m_kmsKeyArnHasBeenSet = false; Aws::Utils::DateTime m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; Domain m_domain; bool m_domainHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws