/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a group when you specify a group by criteria or in the response to
* a query with a specific grouping.See Also:
AWS
* API Reference
The string that represents the type of group.
*/ inline const GroupDefinitionType& GetType() const{ return m_type; } /** *The string that represents the type of group.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The string that represents the type of group.
*/ inline void SetType(const GroupDefinitionType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The string that represents the type of group.
*/ inline void SetType(GroupDefinitionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The string that represents the type of group.
*/ inline GroupDefinition& WithType(const GroupDefinitionType& value) { SetType(value); return *this;} /** *The string that represents the type of group.
*/ inline GroupDefinition& WithType(GroupDefinitionType&& value) { SetType(std::move(value)); return *this;} /** *The string that represents a key for a specified group.
*/ inline const Aws::String& GetKey() const{ return m_key; } /** *The string that represents a key for a specified group.
*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *The string that represents a key for a specified group.
*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *The string that represents a key for a specified group.
*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *The string that represents a key for a specified group.
*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *The string that represents a key for a specified group.
*/ inline GroupDefinition& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *The string that represents a key for a specified group.
*/ inline GroupDefinition& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *The string that represents a key for a specified group.
*/ inline GroupDefinition& WithKey(const char* value) { SetKey(value); return *this;} private: GroupDefinitionType m_type; bool m_typeHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws