/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about the association version.See Also:
AWS
* API Reference
The ID created by the system when the association was created.
*/ 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 AssociationVersionInfo& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;} inline AssociationVersionInfo& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;} inline AssociationVersionInfo& 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 AssociationVersionInfo& WithAssociationVersion(const Aws::String& value) { SetAssociationVersion(value); return *this;} inline AssociationVersionInfo& WithAssociationVersion(Aws::String&& value) { SetAssociationVersion(std::move(value)); return *this;} inline AssociationVersionInfo& WithAssociationVersion(const char* value) { SetAssociationVersion(value); return *this;} ///@} ///@{ /** *The date the association version was created.
*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } inline AssociationVersionInfo& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} inline AssociationVersionInfo& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} ///@} ///@{ /** *The name specified when the association was created.
*/ 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 AssociationVersionInfo& WithName(const Aws::String& value) { SetName(value); return *this;} inline AssociationVersionInfo& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} inline AssociationVersionInfo& WithName(const char* value) { SetName(value); return *this;} ///@} ///@{ /** *The version of an Amazon Web Services Systems Manager document (SSM document) * used when the association version was created.
*/ inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; } inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; } inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; } inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); } inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); } inline AssociationVersionInfo& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} inline AssociationVersionInfo& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} inline AssociationVersionInfo& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} ///@} ///@{ /** *Parameters specified when the association version was created.
*/ inline const Aws::MapThe targets specified for the association when the association version was * created.
*/ inline const Aws::VectorThe cron or rate schedule specified for the association when the association * version was created.
*/ 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 AssociationVersionInfo& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;} inline AssociationVersionInfo& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;} inline AssociationVersionInfo& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;} ///@} ///@{ /** *The location in Amazon S3 specified for the association when the association * version was created.
*/ inline const InstanceAssociationOutputLocation& GetOutputLocation() const{ return m_outputLocation; } inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } inline void SetOutputLocation(const InstanceAssociationOutputLocation& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } inline void SetOutputLocation(InstanceAssociationOutputLocation&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } inline AssociationVersionInfo& WithOutputLocation(const InstanceAssociationOutputLocation& value) { SetOutputLocation(value); return *this;} inline AssociationVersionInfo& WithOutputLocation(InstanceAssociationOutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;} ///@} ///@{ /** *The name specified for the association version when the association version * was created.
*/ 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 AssociationVersionInfo& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;} inline AssociationVersionInfo& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;} inline AssociationVersionInfo& WithAssociationName(const char* value) { SetAssociationName(value); return *this;} ///@} ///@{ /** *The number of errors that are allowed before the system stops sending
* requests to run the association on additional targets. You can specify either an
* absolute number of errors, for example 10, or a percentage of the target set,
* for example 10%. If you specify 3, for example, the system stops sending
* requests when the fourth error is received. If you specify 0, then the system
* stops sending requests after the first error is returned. If you run an
* association on 50 managed nodes and set MaxError to 10%, then the
* system stops sending the request when the sixth error is received.
Executions that are already running an association when
* MaxErrors is reached are allowed to complete, but some of these
* executions may fail as well. If you need to ensure that there won't be more than
* max-errors failed executions, set MaxConcurrency to 1 so that
* executions proceed one at a time.
The maximum number of targets allowed to run the association at the same * time. You can specify a number, for example 10, or a percentage of the target * set, for example 10%. The default value is 100%, which means all targets run the * association at the same time.
If a new managed node starts and attempts
* to run an association while Systems Manager is running
* MaxConcurrency associations, the association is allowed to run.
* During the next association interval, the new managed node will process its
* association within the limit specified for MaxConcurrency.
The severity level that is assigned to the association.
*/ inline const AssociationComplianceSeverity& GetComplianceSeverity() const{ return m_complianceSeverity; } inline bool ComplianceSeverityHasBeenSet() const { return m_complianceSeverityHasBeenSet; } inline void SetComplianceSeverity(const AssociationComplianceSeverity& value) { m_complianceSeverityHasBeenSet = true; m_complianceSeverity = value; } inline void SetComplianceSeverity(AssociationComplianceSeverity&& value) { m_complianceSeverityHasBeenSet = true; m_complianceSeverity = std::move(value); } inline AssociationVersionInfo& WithComplianceSeverity(const AssociationComplianceSeverity& value) { SetComplianceSeverity(value); return *this;} inline AssociationVersionInfo& WithComplianceSeverity(AssociationComplianceSeverity&& value) { SetComplianceSeverity(std::move(value)); return *this;} ///@} ///@{ /** *The mode for generating association compliance. You can specify
* AUTO or MANUAL. In AUTO mode, the system
* uses the status of the association execution to determine the compliance status.
* If the association execution runs successfully, then the association is
* COMPLIANT. If the association execution doesn't run successfully,
* the association is NON-COMPLIANT.
In MANUAL
* mode, you must specify the AssociationId as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't
* managed by State Manager, a capability of Amazon Web Services Systems Manager.
* It is managed by your direct call to the PutComplianceItems API
* operation.
By default, all associations use AUTO mode.
By default, when you create a new associations, the system runs it * immediately after it is created and then according to the schedule you * specified. Specify this option if you don't want an association to run * immediately after you create it. This parameter isn't supported for rate * expressions.
*/ inline bool GetApplyOnlyAtCronInterval() const{ return m_applyOnlyAtCronInterval; } inline bool ApplyOnlyAtCronIntervalHasBeenSet() const { return m_applyOnlyAtCronIntervalHasBeenSet; } inline void SetApplyOnlyAtCronInterval(bool value) { m_applyOnlyAtCronIntervalHasBeenSet = true; m_applyOnlyAtCronInterval = value; } inline AssociationVersionInfo& WithApplyOnlyAtCronInterval(bool value) { SetApplyOnlyAtCronInterval(value); return *this;} ///@} ///@{ /** *The names or Amazon Resource Names (ARNs) of the Change Calendar type * documents your associations are gated under. The associations for this version * only run when that Change Calendar is open. For more information, see Amazon * Web Services Systems Manager Change Calendar.
*/ inline const Aws::VectorThe combination of Amazon Web Services Regions and Amazon Web Services * accounts where you wanted to run the association when this association version * was created.
*/ inline const Aws::VectorNumber 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 AssociationVersionInfo& 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 AssociationVersionInfo& 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