/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A service configuration associated with a resource group. The configuration
* options are determined by the Amazon Web Services service that defines the
* Type
, and specifies which resources can be included in the group.
* You can add a service configuration when you create the group by using
* CreateGroup, or later by using the PutGroupConfiguration
* operation. For details about group service configuration syntax, see Service
* configurations for resource groups.See Also:
AWS
* API Reference
The configuration currently associated with the group and in effect.
*/ inline const Aws::VectorThe configuration currently associated with the group and in effect.
*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *The configuration currently associated with the group and in effect.
*/ inline void SetConfiguration(const Aws::VectorThe configuration currently associated with the group and in effect.
*/ inline void SetConfiguration(Aws::VectorThe configuration currently associated with the group and in effect.
*/ inline GroupConfiguration& WithConfiguration(const Aws::VectorThe configuration currently associated with the group and in effect.
*/ inline GroupConfiguration& WithConfiguration(Aws::VectorThe configuration currently associated with the group and in effect.
*/ inline GroupConfiguration& AddConfiguration(const GroupConfigurationItem& value) { m_configurationHasBeenSet = true; m_configuration.push_back(value); return *this; } /** *The configuration currently associated with the group and in effect.
*/ inline GroupConfiguration& AddConfiguration(GroupConfigurationItem&& value) { m_configurationHasBeenSet = true; m_configuration.push_back(std::move(value)); return *this; } /** *If present, the new configuration that is in the process of being applied to * the group.
*/ inline const Aws::VectorIf present, the new configuration that is in the process of being applied to * the group.
*/ inline bool ProposedConfigurationHasBeenSet() const { return m_proposedConfigurationHasBeenSet; } /** *If present, the new configuration that is in the process of being applied to * the group.
*/ inline void SetProposedConfiguration(const Aws::VectorIf present, the new configuration that is in the process of being applied to * the group.
*/ inline void SetProposedConfiguration(Aws::VectorIf present, the new configuration that is in the process of being applied to * the group.
*/ inline GroupConfiguration& WithProposedConfiguration(const Aws::VectorIf present, the new configuration that is in the process of being applied to * the group.
*/ inline GroupConfiguration& WithProposedConfiguration(Aws::VectorIf present, the new configuration that is in the process of being applied to * the group.
*/ inline GroupConfiguration& AddProposedConfiguration(const GroupConfigurationItem& value) { m_proposedConfigurationHasBeenSet = true; m_proposedConfiguration.push_back(value); return *this; } /** *If present, the new configuration that is in the process of being applied to * the group.
*/ inline GroupConfiguration& AddProposedConfiguration(GroupConfigurationItem&& value) { m_proposedConfigurationHasBeenSet = true; m_proposedConfiguration.push_back(std::move(value)); return *this; } /** *The current status of an attempt to update the group configuration.
*/ inline const GroupConfigurationStatus& GetStatus() const{ return m_status; } /** *The current status of an attempt to update the group configuration.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The current status of an attempt to update the group configuration.
*/ inline void SetStatus(const GroupConfigurationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The current status of an attempt to update the group configuration.
*/ inline void SetStatus(GroupConfigurationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The current status of an attempt to update the group configuration.
*/ inline GroupConfiguration& WithStatus(const GroupConfigurationStatus& value) { SetStatus(value); return *this;} /** *The current status of an attempt to update the group configuration.
*/ inline GroupConfiguration& WithStatus(GroupConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *If present, the reason why a request to update the group configuration * failed.
*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *If present, the reason why a request to update the group configuration * failed.
*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *If present, the reason why a request to update the group configuration * failed.
*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *If present, the reason why a request to update the group configuration * failed.
*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *If present, the reason why a request to update the group configuration * failed.
*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *If present, the reason why a request to update the group configuration * failed.
*/ inline GroupConfiguration& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *If present, the reason why a request to update the group configuration * failed.
*/ inline GroupConfiguration& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *If present, the reason why a request to update the group configuration * failed.
*/ inline GroupConfiguration& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} private: Aws::Vector