/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A reference to a Cost Category containing only enough information to identify
* the Cost Category. You can use this information to retrieve the full Cost
* Category information using DescribeCostCategory
.See
* Also:
AWS
* API Reference
The unique identifier for your Cost Category.
*/ inline const Aws::String& GetCostCategoryArn() const{ return m_costCategoryArn; } /** *The unique identifier for your Cost Category.
*/ inline bool CostCategoryArnHasBeenSet() const { return m_costCategoryArnHasBeenSet; } /** *The unique identifier for your Cost Category.
*/ inline void SetCostCategoryArn(const Aws::String& value) { m_costCategoryArnHasBeenSet = true; m_costCategoryArn = value; } /** *The unique identifier for your Cost Category.
*/ inline void SetCostCategoryArn(Aws::String&& value) { m_costCategoryArnHasBeenSet = true; m_costCategoryArn = std::move(value); } /** *The unique identifier for your Cost Category.
*/ inline void SetCostCategoryArn(const char* value) { m_costCategoryArnHasBeenSet = true; m_costCategoryArn.assign(value); } /** *The unique identifier for your Cost Category.
*/ inline CostCategoryReference& WithCostCategoryArn(const Aws::String& value) { SetCostCategoryArn(value); return *this;} /** *The unique identifier for your Cost Category.
*/ inline CostCategoryReference& WithCostCategoryArn(Aws::String&& value) { SetCostCategoryArn(std::move(value)); return *this;} /** *The unique identifier for your Cost Category.
*/ inline CostCategoryReference& WithCostCategoryArn(const char* value) { SetCostCategoryArn(value); return *this;} inline const Aws::String& GetName() const{ return m_name; } inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } inline CostCategoryReference& WithName(const Aws::String& value) { SetName(value); return *this;} inline CostCategoryReference& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} inline CostCategoryReference& WithName(const char* value) { SetName(value); return *this;} /** *The Cost Category's effective start date.
*/ inline const Aws::String& GetEffectiveStart() const{ return m_effectiveStart; } /** *The Cost Category's effective start date.
*/ inline bool EffectiveStartHasBeenSet() const { return m_effectiveStartHasBeenSet; } /** *The Cost Category's effective start date.
*/ inline void SetEffectiveStart(const Aws::String& value) { m_effectiveStartHasBeenSet = true; m_effectiveStart = value; } /** *The Cost Category's effective start date.
*/ inline void SetEffectiveStart(Aws::String&& value) { m_effectiveStartHasBeenSet = true; m_effectiveStart = std::move(value); } /** *The Cost Category's effective start date.
*/ inline void SetEffectiveStart(const char* value) { m_effectiveStartHasBeenSet = true; m_effectiveStart.assign(value); } /** *The Cost Category's effective start date.
*/ inline CostCategoryReference& WithEffectiveStart(const Aws::String& value) { SetEffectiveStart(value); return *this;} /** *The Cost Category's effective start date.
*/ inline CostCategoryReference& WithEffectiveStart(Aws::String&& value) { SetEffectiveStart(std::move(value)); return *this;} /** *The Cost Category's effective start date.
*/ inline CostCategoryReference& WithEffectiveStart(const char* value) { SetEffectiveStart(value); return *this;} /** *The Cost Category's effective end date.
*/ inline const Aws::String& GetEffectiveEnd() const{ return m_effectiveEnd; } /** *The Cost Category's effective end date.
*/ inline bool EffectiveEndHasBeenSet() const { return m_effectiveEndHasBeenSet; } /** *The Cost Category's effective end date.
*/ inline void SetEffectiveEnd(const Aws::String& value) { m_effectiveEndHasBeenSet = true; m_effectiveEnd = value; } /** *The Cost Category's effective end date.
*/ inline void SetEffectiveEnd(Aws::String&& value) { m_effectiveEndHasBeenSet = true; m_effectiveEnd = std::move(value); } /** *The Cost Category's effective end date.
*/ inline void SetEffectiveEnd(const char* value) { m_effectiveEndHasBeenSet = true; m_effectiveEnd.assign(value); } /** *The Cost Category's effective end date.
*/ inline CostCategoryReference& WithEffectiveEnd(const Aws::String& value) { SetEffectiveEnd(value); return *this;} /** *The Cost Category's effective end date.
*/ inline CostCategoryReference& WithEffectiveEnd(Aws::String&& value) { SetEffectiveEnd(std::move(value)); return *this;} /** *The Cost Category's effective end date.
*/ inline CostCategoryReference& WithEffectiveEnd(const char* value) { SetEffectiveEnd(value); return *this;} /** *The number of rules that are associated with a specific Cost Category.
*/ inline int GetNumberOfRules() const{ return m_numberOfRules; } /** *The number of rules that are associated with a specific Cost Category.
*/ inline bool NumberOfRulesHasBeenSet() const { return m_numberOfRulesHasBeenSet; } /** *The number of rules that are associated with a specific Cost Category.
*/ inline void SetNumberOfRules(int value) { m_numberOfRulesHasBeenSet = true; m_numberOfRules = value; } /** *The number of rules that are associated with a specific Cost Category.
*/ inline CostCategoryReference& WithNumberOfRules(int value) { SetNumberOfRules(value); return *this;} /** *The list of processing statuses for Cost Management products for a specific * cost category.
*/ inline const Aws::VectorThe list of processing statuses for Cost Management products for a specific * cost category.
*/ inline bool ProcessingStatusHasBeenSet() const { return m_processingStatusHasBeenSet; } /** *The list of processing statuses for Cost Management products for a specific * cost category.
*/ inline void SetProcessingStatus(const Aws::VectorThe list of processing statuses for Cost Management products for a specific * cost category.
*/ inline void SetProcessingStatus(Aws::VectorThe list of processing statuses for Cost Management products for a specific * cost category.
*/ inline CostCategoryReference& WithProcessingStatus(const Aws::VectorThe list of processing statuses for Cost Management products for a specific * cost category.
*/ inline CostCategoryReference& WithProcessingStatus(Aws::VectorThe list of processing statuses for Cost Management products for a specific * cost category.
*/ inline CostCategoryReference& AddProcessingStatus(const CostCategoryProcessingStatus& value) { m_processingStatusHasBeenSet = true; m_processingStatus.push_back(value); return *this; } /** *The list of processing statuses for Cost Management products for a specific * cost category.
*/ inline CostCategoryReference& AddProcessingStatus(CostCategoryProcessingStatus&& value) { m_processingStatusHasBeenSet = true; m_processingStatus.push_back(std::move(value)); return *this; } /** *A list of unique cost category values in a specific cost category.
*/ inline const Aws::VectorA list of unique cost category values in a specific cost category.
*/ inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } /** *A list of unique cost category values in a specific cost category.
*/ inline void SetValues(const Aws::VectorA list of unique cost category values in a specific cost category.
*/ inline void SetValues(Aws::VectorA list of unique cost category values in a specific cost category.
*/ inline CostCategoryReference& WithValues(const Aws::VectorA list of unique cost category values in a specific cost category.
*/ inline CostCategoryReference& WithValues(Aws::VectorA list of unique cost category values in a specific cost category.
*/ inline CostCategoryReference& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } /** *A list of unique cost category values in a specific cost category.
*/ inline CostCategoryReference& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } /** *A list of unique cost category values in a specific cost category.
*/ inline CostCategoryReference& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } inline CostCategoryReference& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} inline CostCategoryReference& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} inline CostCategoryReference& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} private: Aws::String m_costCategoryArn; bool m_costCategoryArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_effectiveStart; bool m_effectiveStartHasBeenSet = false; Aws::String m_effectiveEnd; bool m_effectiveEndHasBeenSet = false; int m_numberOfRules; bool m_numberOfRulesHasBeenSet = false; Aws::Vector