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

The dimension type field with date type columns.

See Also:

* AWS * API Reference

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

The custom field ID.

*/ inline const Aws::String& GetFieldId() const{ return m_fieldId; } /** *

The custom field ID.

*/ inline bool FieldIdHasBeenSet() const { return m_fieldIdHasBeenSet; } /** *

The custom field ID.

*/ inline void SetFieldId(const Aws::String& value) { m_fieldIdHasBeenSet = true; m_fieldId = value; } /** *

The custom field ID.

*/ inline void SetFieldId(Aws::String&& value) { m_fieldIdHasBeenSet = true; m_fieldId = std::move(value); } /** *

The custom field ID.

*/ inline void SetFieldId(const char* value) { m_fieldIdHasBeenSet = true; m_fieldId.assign(value); } /** *

The custom field ID.

*/ inline DateDimensionField& WithFieldId(const Aws::String& value) { SetFieldId(value); return *this;} /** *

The custom field ID.

*/ inline DateDimensionField& WithFieldId(Aws::String&& value) { SetFieldId(std::move(value)); return *this;} /** *

The custom field ID.

*/ inline DateDimensionField& WithFieldId(const char* value) { SetFieldId(value); return *this;} /** *

The column that is used in the DateDimensionField.

*/ inline const ColumnIdentifier& GetColumn() const{ return m_column; } /** *

The column that is used in the DateDimensionField.

*/ inline bool ColumnHasBeenSet() const { return m_columnHasBeenSet; } /** *

The column that is used in the DateDimensionField.

*/ inline void SetColumn(const ColumnIdentifier& value) { m_columnHasBeenSet = true; m_column = value; } /** *

The column that is used in the DateDimensionField.

*/ inline void SetColumn(ColumnIdentifier&& value) { m_columnHasBeenSet = true; m_column = std::move(value); } /** *

The column that is used in the DateDimensionField.

*/ inline DateDimensionField& WithColumn(const ColumnIdentifier& value) { SetColumn(value); return *this;} /** *

The column that is used in the DateDimensionField.

*/ inline DateDimensionField& WithColumn(ColumnIdentifier&& value) { SetColumn(std::move(value)); return *this;} /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline const TimeGranularity& GetDateGranularity() const{ return m_dateGranularity; } /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline bool DateGranularityHasBeenSet() const { return m_dateGranularityHasBeenSet; } /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline void SetDateGranularity(const TimeGranularity& value) { m_dateGranularityHasBeenSet = true; m_dateGranularity = value; } /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline void SetDateGranularity(TimeGranularity&& value) { m_dateGranularityHasBeenSet = true; m_dateGranularity = std::move(value); } /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline DateDimensionField& WithDateGranularity(const TimeGranularity& value) { SetDateGranularity(value); return *this;} /** *

The date granularity of the DateDimensionField. Choose one of * the following options:

  • YEAR

  • * QUARTER

  • MONTH

  • * WEEK

  • DAY

  • * HOUR

  • MINUTE

  • * SECOND

  • MILLISECOND

  • *
*/ inline DateDimensionField& WithDateGranularity(TimeGranularity&& value) { SetDateGranularity(std::move(value)); return *this;} /** *

The custom hierarchy ID.

*/ inline const Aws::String& GetHierarchyId() const{ return m_hierarchyId; } /** *

The custom hierarchy ID.

*/ inline bool HierarchyIdHasBeenSet() const { return m_hierarchyIdHasBeenSet; } /** *

The custom hierarchy ID.

*/ inline void SetHierarchyId(const Aws::String& value) { m_hierarchyIdHasBeenSet = true; m_hierarchyId = value; } /** *

The custom hierarchy ID.

*/ inline void SetHierarchyId(Aws::String&& value) { m_hierarchyIdHasBeenSet = true; m_hierarchyId = std::move(value); } /** *

The custom hierarchy ID.

*/ inline void SetHierarchyId(const char* value) { m_hierarchyIdHasBeenSet = true; m_hierarchyId.assign(value); } /** *

The custom hierarchy ID.

*/ inline DateDimensionField& WithHierarchyId(const Aws::String& value) { SetHierarchyId(value); return *this;} /** *

The custom hierarchy ID.

*/ inline DateDimensionField& WithHierarchyId(Aws::String&& value) { SetHierarchyId(std::move(value)); return *this;} /** *

The custom hierarchy ID.

*/ inline DateDimensionField& WithHierarchyId(const char* value) { SetHierarchyId(value); return *this;} /** *

The format configuration of the field.

*/ inline const DateTimeFormatConfiguration& GetFormatConfiguration() const{ return m_formatConfiguration; } /** *

The format configuration of the field.

*/ inline bool FormatConfigurationHasBeenSet() const { return m_formatConfigurationHasBeenSet; } /** *

The format configuration of the field.

*/ inline void SetFormatConfiguration(const DateTimeFormatConfiguration& value) { m_formatConfigurationHasBeenSet = true; m_formatConfiguration = value; } /** *

The format configuration of the field.

*/ inline void SetFormatConfiguration(DateTimeFormatConfiguration&& value) { m_formatConfigurationHasBeenSet = true; m_formatConfiguration = std::move(value); } /** *

The format configuration of the field.

*/ inline DateDimensionField& WithFormatConfiguration(const DateTimeFormatConfiguration& value) { SetFormatConfiguration(value); return *this;} /** *

The format configuration of the field.

*/ inline DateDimensionField& WithFormatConfiguration(DateTimeFormatConfiguration&& value) { SetFormatConfiguration(std::move(value)); return *this;} private: Aws::String m_fieldId; bool m_fieldIdHasBeenSet = false; ColumnIdentifier m_column; bool m_columnHasBeenSet = false; TimeGranularity m_dateGranularity; bool m_dateGranularityHasBeenSet = false; Aws::String m_hierarchyId; bool m_hierarchyIdHasBeenSet = false; DateTimeFormatConfiguration m_formatConfiguration; bool m_formatConfigurationHasBeenSet = false; }; } // namespace Model } // namespace QuickSight } // namespace Aws