/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The metadata for a feature. It can either be metadata that you specify, or
* metadata that is updated automatically.See Also:
AWS
* API Reference
The Amazon Resource Number (ARN) of the feature group.
*/ inline const Aws::String& GetFeatureGroupArn() const{ return m_featureGroupArn; } /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline bool FeatureGroupArnHasBeenSet() const { return m_featureGroupArnHasBeenSet; } /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline void SetFeatureGroupArn(const Aws::String& value) { m_featureGroupArnHasBeenSet = true; m_featureGroupArn = value; } /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline void SetFeatureGroupArn(Aws::String&& value) { m_featureGroupArnHasBeenSet = true; m_featureGroupArn = std::move(value); } /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline void SetFeatureGroupArn(const char* value) { m_featureGroupArnHasBeenSet = true; m_featureGroupArn.assign(value); } /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline FeatureMetadata& WithFeatureGroupArn(const Aws::String& value) { SetFeatureGroupArn(value); return *this;} /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline FeatureMetadata& WithFeatureGroupArn(Aws::String&& value) { SetFeatureGroupArn(std::move(value)); return *this;} /** *The Amazon Resource Number (ARN) of the feature group.
*/ inline FeatureMetadata& WithFeatureGroupArn(const char* value) { SetFeatureGroupArn(value); return *this;} /** *The name of the feature group containing the feature.
*/ inline const Aws::String& GetFeatureGroupName() const{ return m_featureGroupName; } /** *The name of the feature group containing the feature.
*/ inline bool FeatureGroupNameHasBeenSet() const { return m_featureGroupNameHasBeenSet; } /** *The name of the feature group containing the feature.
*/ inline void SetFeatureGroupName(const Aws::String& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = value; } /** *The name of the feature group containing the feature.
*/ inline void SetFeatureGroupName(Aws::String&& value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName = std::move(value); } /** *The name of the feature group containing the feature.
*/ inline void SetFeatureGroupName(const char* value) { m_featureGroupNameHasBeenSet = true; m_featureGroupName.assign(value); } /** *The name of the feature group containing the feature.
*/ inline FeatureMetadata& WithFeatureGroupName(const Aws::String& value) { SetFeatureGroupName(value); return *this;} /** *The name of the feature group containing the feature.
*/ inline FeatureMetadata& WithFeatureGroupName(Aws::String&& value) { SetFeatureGroupName(std::move(value)); return *this;} /** *The name of the feature group containing the feature.
*/ inline FeatureMetadata& WithFeatureGroupName(const char* value) { SetFeatureGroupName(value); return *this;} /** *The name of feature.
*/ inline const Aws::String& GetFeatureName() const{ return m_featureName; } /** *The name of feature.
*/ inline bool FeatureNameHasBeenSet() const { return m_featureNameHasBeenSet; } /** *The name of feature.
*/ inline void SetFeatureName(const Aws::String& value) { m_featureNameHasBeenSet = true; m_featureName = value; } /** *The name of feature.
*/ inline void SetFeatureName(Aws::String&& value) { m_featureNameHasBeenSet = true; m_featureName = std::move(value); } /** *The name of feature.
*/ inline void SetFeatureName(const char* value) { m_featureNameHasBeenSet = true; m_featureName.assign(value); } /** *The name of feature.
*/ inline FeatureMetadata& WithFeatureName(const Aws::String& value) { SetFeatureName(value); return *this;} /** *The name of feature.
*/ inline FeatureMetadata& WithFeatureName(Aws::String&& value) { SetFeatureName(std::move(value)); return *this;} /** *The name of feature.
*/ inline FeatureMetadata& WithFeatureName(const char* value) { SetFeatureName(value); return *this;} /** *The data type of the feature.
*/ inline const FeatureType& GetFeatureType() const{ return m_featureType; } /** *The data type of the feature.
*/ inline bool FeatureTypeHasBeenSet() const { return m_featureTypeHasBeenSet; } /** *The data type of the feature.
*/ inline void SetFeatureType(const FeatureType& value) { m_featureTypeHasBeenSet = true; m_featureType = value; } /** *The data type of the feature.
*/ inline void SetFeatureType(FeatureType&& value) { m_featureTypeHasBeenSet = true; m_featureType = std::move(value); } /** *The data type of the feature.
*/ inline FeatureMetadata& WithFeatureType(const FeatureType& value) { SetFeatureType(value); return *this;} /** *The data type of the feature.
*/ inline FeatureMetadata& WithFeatureType(FeatureType&& value) { SetFeatureType(std::move(value)); return *this;} /** *A timestamp indicating when the feature was created.
*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *A timestamp indicating when the feature was created.
*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *A timestamp indicating when the feature was created.
*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *A timestamp indicating when the feature was created.
*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *A timestamp indicating when the feature was created.
*/ inline FeatureMetadata& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *A timestamp indicating when the feature was created.
*/ inline FeatureMetadata& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *A timestamp indicating when the feature was last modified.
*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *A timestamp indicating when the feature was last modified.
*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *A timestamp indicating when the feature was last modified.
*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *A timestamp indicating when the feature was last modified.
*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *A timestamp indicating when the feature was last modified.
*/ inline FeatureMetadata& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *A timestamp indicating when the feature was last modified.
*/ inline FeatureMetadata& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *An optional description that you specify to better describe the feature.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *An optional description that you specify to better describe the feature.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *An optional description that you specify to better describe the feature.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *An optional description that you specify to better describe the feature.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *An optional description that you specify to better describe the feature.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *An optional description that you specify to better describe the feature.
*/ inline FeatureMetadata& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *An optional description that you specify to better describe the feature.
*/ inline FeatureMetadata& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *An optional description that you specify to better describe the feature.
*/ inline FeatureMetadata& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Optional key-value pairs that you specify to better describe the feature.
*/ inline const Aws::VectorOptional key-value pairs that you specify to better describe the feature.
*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *Optional key-value pairs that you specify to better describe the feature.
*/ inline void SetParameters(const Aws::VectorOptional key-value pairs that you specify to better describe the feature.
*/ inline void SetParameters(Aws::VectorOptional key-value pairs that you specify to better describe the feature.
*/ inline FeatureMetadata& WithParameters(const Aws::VectorOptional key-value pairs that you specify to better describe the feature.
*/ inline FeatureMetadata& WithParameters(Aws::VectorOptional key-value pairs that you specify to better describe the feature.
*/ inline FeatureMetadata& AddParameters(const FeatureParameter& value) { m_parametersHasBeenSet = true; m_parameters.push_back(value); return *this; } /** *Optional key-value pairs that you specify to better describe the feature.
*/ inline FeatureMetadata& AddParameters(FeatureParameter&& value) { m_parametersHasBeenSet = true; m_parameters.push_back(std::move(value)); return *this; } private: Aws::String m_featureGroupArn; bool m_featureGroupArnHasBeenSet = false; Aws::String m_featureGroupName; bool m_featureGroupNameHasBeenSet = false; Aws::String m_featureName; bool m_featureNameHasBeenSet = false; FeatureType m_featureType; bool m_featureTypeHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedTime; bool m_lastModifiedTimeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector