/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* Information about the association.
See Also:
AWS
* API Reference
*/
class AssociationOverview
{
public:
AWS_SSM_API AssociationOverview();
AWS_SSM_API AssociationOverview(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationOverview& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* The status of the association. Status can be: Pending, Success, or
* Failed.
*/
inline const Aws::String& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
inline AssociationOverview& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
inline AssociationOverview& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
inline AssociationOverview& WithStatus(const char* value) { SetStatus(value); return *this;}
///@}
///@{
/**
* A detailed status of the association.
*/
inline const Aws::String& GetDetailedStatus() const{ return m_detailedStatus; }
inline bool DetailedStatusHasBeenSet() const { return m_detailedStatusHasBeenSet; }
inline void SetDetailedStatus(const Aws::String& value) { m_detailedStatusHasBeenSet = true; m_detailedStatus = value; }
inline void SetDetailedStatus(Aws::String&& value) { m_detailedStatusHasBeenSet = true; m_detailedStatus = std::move(value); }
inline void SetDetailedStatus(const char* value) { m_detailedStatusHasBeenSet = true; m_detailedStatus.assign(value); }
inline AssociationOverview& WithDetailedStatus(const Aws::String& value) { SetDetailedStatus(value); return *this;}
inline AssociationOverview& WithDetailedStatus(Aws::String&& value) { SetDetailedStatus(std::move(value)); return *this;}
inline AssociationOverview& WithDetailedStatus(const char* value) { SetDetailedStatus(value); return *this;}
///@}
///@{
/**
* Returns the number of targets for the association status. For example, if you
* created an association with two managed nodes, and one of them was successful,
* this would return the count of managed nodes by status.
*/
inline const Aws::Map& GetAssociationStatusAggregatedCount() const{ return m_associationStatusAggregatedCount; }
inline bool AssociationStatusAggregatedCountHasBeenSet() const { return m_associationStatusAggregatedCountHasBeenSet; }
inline void SetAssociationStatusAggregatedCount(const Aws::Map& value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount = value; }
inline void SetAssociationStatusAggregatedCount(Aws::Map&& value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount = std::move(value); }
inline AssociationOverview& WithAssociationStatusAggregatedCount(const Aws::Map& value) { SetAssociationStatusAggregatedCount(value); return *this;}
inline AssociationOverview& WithAssociationStatusAggregatedCount(Aws::Map&& value) { SetAssociationStatusAggregatedCount(std::move(value)); return *this;}
inline AssociationOverview& AddAssociationStatusAggregatedCount(const Aws::String& key, int value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount.emplace(key, value); return *this; }
inline AssociationOverview& AddAssociationStatusAggregatedCount(Aws::String&& key, int value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount.emplace(std::move(key), value); return *this; }
inline AssociationOverview& AddAssociationStatusAggregatedCount(const char* key, int value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount.emplace(key, value); return *this; }
///@}
private:
Aws::String m_status;
bool m_statusHasBeenSet = false;
Aws::String m_detailedStatus;
bool m_detailedStatusHasBeenSet = false;
Aws::Map m_associationStatusAggregatedCount;
bool m_associationStatusAggregatedCountHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws