/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an association of a Amazon Web Services Systems Manager document
* (SSM document) and a managed node.See Also:
AWS API
* Reference
The name of the SSM document.
*/ 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 Association& WithName(const Aws::String& value) { SetName(value); return *this;} inline Association& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} inline Association& WithName(const char* value) { SetName(value); return *this;} ///@} ///@{ /** *The managed node ID.
*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } inline Association& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} inline Association& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} inline Association& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} ///@} ///@{ /** *The ID created by the system when you create an association. An association * is a binding between a document and a set of targets with a schedule.
*/ inline const Aws::String& GetAssociationId() const{ return m_associationId; } inline bool AssociationIdHasBeenSet() const { return m_associationIdHasBeenSet; } inline void SetAssociationId(const Aws::String& value) { m_associationIdHasBeenSet = true; m_associationId = value; } inline void SetAssociationId(Aws::String&& value) { m_associationIdHasBeenSet = true; m_associationId = std::move(value); } inline void SetAssociationId(const char* value) { m_associationIdHasBeenSet = true; m_associationId.assign(value); } inline Association& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} inline Association& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} inline Association& WithAssociationId(const char* value) { SetAssociationId(value); return *this;} ///@} ///@{ /** *The association version.
*/ inline const Aws::String& GetAssociationVersion() const{ return m_associationVersion; } inline bool AssociationVersionHasBeenSet() const { return m_associationVersionHasBeenSet; } inline void SetAssociationVersion(const Aws::String& value) { m_associationVersionHasBeenSet = true; m_associationVersion = value; } inline void SetAssociationVersion(Aws::String&& value) { m_associationVersionHasBeenSet = true; m_associationVersion = std::move(value); } inline void SetAssociationVersion(const char* value) { m_associationVersionHasBeenSet = true; m_associationVersion.assign(value); } inline Association& WithAssociationVersion(const Aws::String& value) { SetAssociationVersion(value); return *this;} inline Association& WithAssociationVersion(Aws::String&& value) { SetAssociationVersion(std::move(value)); return *this;} inline Association& WithAssociationVersion(const char* value) { SetAssociationVersion(value); return *this;} ///@} ///@{ /** *The version of the document used in the association. If you change a document
* version for a State Manager association, Systems Manager immediately runs the
* association unless you previously specifed the
* apply-only-at-cron-interval parameter.
State
* Manager doesn't support running associations that use a new version of a
* document if that document is shared from another account. State Manager always
* runs the default version of a document if shared from another
* account, even though the Systems Manager console shows that a new version was
* processed. If you want to run an association using a new version of a document
* shared form another account, you must set the document version to
* default.
The managed nodes targeted by the request to create an association. You can
* target all managed nodes in an Amazon Web Services account by specifying the
* InstanceIds key with a value of *.
The date on which the association was last run.
*/ inline const Aws::Utils::DateTime& GetLastExecutionDate() const{ return m_lastExecutionDate; } inline bool LastExecutionDateHasBeenSet() const { return m_lastExecutionDateHasBeenSet; } inline void SetLastExecutionDate(const Aws::Utils::DateTime& value) { m_lastExecutionDateHasBeenSet = true; m_lastExecutionDate = value; } inline void SetLastExecutionDate(Aws::Utils::DateTime&& value) { m_lastExecutionDateHasBeenSet = true; m_lastExecutionDate = std::move(value); } inline Association& WithLastExecutionDate(const Aws::Utils::DateTime& value) { SetLastExecutionDate(value); return *this;} inline Association& WithLastExecutionDate(Aws::Utils::DateTime&& value) { SetLastExecutionDate(std::move(value)); return *this;} ///@} ///@{ /** *Information about the association.
*/ inline const AssociationOverview& GetOverview() const{ return m_overview; } inline bool OverviewHasBeenSet() const { return m_overviewHasBeenSet; } inline void SetOverview(const AssociationOverview& value) { m_overviewHasBeenSet = true; m_overview = value; } inline void SetOverview(AssociationOverview&& value) { m_overviewHasBeenSet = true; m_overview = std::move(value); } inline Association& WithOverview(const AssociationOverview& value) { SetOverview(value); return *this;} inline Association& WithOverview(AssociationOverview&& value) { SetOverview(std::move(value)); return *this;} ///@} ///@{ /** *A cron expression that specifies a schedule when the association runs. The * schedule runs in Coordinated Universal Time (UTC).
*/ inline const Aws::String& GetScheduleExpression() const{ return m_scheduleExpression; } inline bool ScheduleExpressionHasBeenSet() const { return m_scheduleExpressionHasBeenSet; } inline void SetScheduleExpression(const Aws::String& value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression = value; } inline void SetScheduleExpression(Aws::String&& value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression = std::move(value); } inline void SetScheduleExpression(const char* value) { m_scheduleExpressionHasBeenSet = true; m_scheduleExpression.assign(value); } inline Association& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;} inline Association& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;} inline Association& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;} ///@} ///@{ /** *The association name.
*/ inline const Aws::String& GetAssociationName() const{ return m_associationName; } inline bool AssociationNameHasBeenSet() const { return m_associationNameHasBeenSet; } inline void SetAssociationName(const Aws::String& value) { m_associationNameHasBeenSet = true; m_associationName = value; } inline void SetAssociationName(Aws::String&& value) { m_associationNameHasBeenSet = true; m_associationName = std::move(value); } inline void SetAssociationName(const char* value) { m_associationNameHasBeenSet = true; m_associationName.assign(value); } inline Association& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;} inline Association& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;} inline Association& WithAssociationName(const char* value) { SetAssociationName(value); return *this;} ///@} ///@{ /** *Number of days to wait after the scheduled day to run an association.
*/ inline int GetScheduleOffset() const{ return m_scheduleOffset; } inline bool ScheduleOffsetHasBeenSet() const { return m_scheduleOffsetHasBeenSet; } inline void SetScheduleOffset(int value) { m_scheduleOffsetHasBeenSet = true; m_scheduleOffset = value; } inline Association& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;} ///@} ///@{ /** *The number of hours that an association can run on specified targets. After * the resulting cutoff time passes, associations that are currently running are * cancelled, and no pending executions are started on remaining targets.
*/ inline int GetDuration() const{ return m_duration; } inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } inline void SetDuration(int value) { m_durationHasBeenSet = true; m_duration = value; } inline Association& WithDuration(int value) { SetDuration(value); return *this;} ///@} ///@{ /** *A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.
*/ inline const Aws::Vector