Lesson 35 - Get Compute Auth Token Working

This commit is contained in:
Norman Lansing
2026-02-28 12:32:28 -05:00
parent 1d477ee42a
commit 4fde462bce
7743 changed files with 1397833 additions and 18 deletions

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Information includes the Amazon Web Services account ID where the current
* document is shared and the version shared with that account.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AccountSharingInfo">AWS
* API Reference</a></p>
*/
class AccountSharingInfo
{
public:
AWS_SSM_API AccountSharingInfo();
AWS_SSM_API AccountSharingInfo(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AccountSharingInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The Amazon Web Services account ID where the current document is shared.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
inline AccountSharingInfo& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
inline AccountSharingInfo& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
inline AccountSharingInfo& WithAccountId(const char* value) { SetAccountId(value); return *this;}
///@}
///@{
/**
* <p>The version of the current document shared with the account.</p>
*/
inline const Aws::String& GetSharedDocumentVersion() const{ return m_sharedDocumentVersion; }
inline bool SharedDocumentVersionHasBeenSet() const { return m_sharedDocumentVersionHasBeenSet; }
inline void SetSharedDocumentVersion(const Aws::String& value) { m_sharedDocumentVersionHasBeenSet = true; m_sharedDocumentVersion = value; }
inline void SetSharedDocumentVersion(Aws::String&& value) { m_sharedDocumentVersionHasBeenSet = true; m_sharedDocumentVersion = std::move(value); }
inline void SetSharedDocumentVersion(const char* value) { m_sharedDocumentVersionHasBeenSet = true; m_sharedDocumentVersion.assign(value); }
inline AccountSharingInfo& WithSharedDocumentVersion(const Aws::String& value) { SetSharedDocumentVersion(value); return *this;}
inline AccountSharingInfo& WithSharedDocumentVersion(Aws::String&& value) { SetSharedDocumentVersion(std::move(value)); return *this;}
inline AccountSharingInfo& WithSharedDocumentVersion(const char* value) { SetSharedDocumentVersion(value); return *this;}
///@}
private:
Aws::String m_accountId;
bool m_accountIdHasBeenSet = false;
Aws::String m_sharedDocumentVersion;
bool m_sharedDocumentVersionHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,207 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>An activation registers one or more on-premises servers or virtual machines
* (VMs) with Amazon Web Services so that you can configure those servers or VMs
* using Run Command. A server or VM that has been registered with Amazon Web
* Services Systems Manager is called a managed node.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Activation">AWS API
* Reference</a></p>
*/
class Activation
{
public:
AWS_SSM_API Activation();
AWS_SSM_API Activation(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Activation& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The ID created by Systems Manager when you submitted the activation.</p>
*/
inline const Aws::String& GetActivationId() const{ return m_activationId; }
inline bool ActivationIdHasBeenSet() const { return m_activationIdHasBeenSet; }
inline void SetActivationId(const Aws::String& value) { m_activationIdHasBeenSet = true; m_activationId = value; }
inline void SetActivationId(Aws::String&& value) { m_activationIdHasBeenSet = true; m_activationId = std::move(value); }
inline void SetActivationId(const char* value) { m_activationIdHasBeenSet = true; m_activationId.assign(value); }
inline Activation& WithActivationId(const Aws::String& value) { SetActivationId(value); return *this;}
inline Activation& WithActivationId(Aws::String&& value) { SetActivationId(std::move(value)); return *this;}
inline Activation& WithActivationId(const char* value) { SetActivationId(value); return *this;}
///@}
///@{
/**
* <p>A user defined description of the activation.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline Activation& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline Activation& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline Activation& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>A name for the managed node when it is created.</p>
*/
inline const Aws::String& GetDefaultInstanceName() const{ return m_defaultInstanceName; }
inline bool DefaultInstanceNameHasBeenSet() const { return m_defaultInstanceNameHasBeenSet; }
inline void SetDefaultInstanceName(const Aws::String& value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName = value; }
inline void SetDefaultInstanceName(Aws::String&& value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName = std::move(value); }
inline void SetDefaultInstanceName(const char* value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName.assign(value); }
inline Activation& WithDefaultInstanceName(const Aws::String& value) { SetDefaultInstanceName(value); return *this;}
inline Activation& WithDefaultInstanceName(Aws::String&& value) { SetDefaultInstanceName(std::move(value)); return *this;}
inline Activation& WithDefaultInstanceName(const char* value) { SetDefaultInstanceName(value); return *this;}
///@}
///@{
/**
* <p>The Identity and Access Management (IAM) role to assign to the managed
* node.</p>
*/
inline const Aws::String& GetIamRole() const{ return m_iamRole; }
inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; }
inline void SetIamRole(const Aws::String& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; }
inline void SetIamRole(Aws::String&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); }
inline void SetIamRole(const char* value) { m_iamRoleHasBeenSet = true; m_iamRole.assign(value); }
inline Activation& WithIamRole(const Aws::String& value) { SetIamRole(value); return *this;}
inline Activation& WithIamRole(Aws::String&& value) { SetIamRole(std::move(value)); return *this;}
inline Activation& WithIamRole(const char* value) { SetIamRole(value); return *this;}
///@}
///@{
/**
* <p>The maximum number of managed nodes that can be registered using this
* activation.</p>
*/
inline int GetRegistrationLimit() const{ return m_registrationLimit; }
inline bool RegistrationLimitHasBeenSet() const { return m_registrationLimitHasBeenSet; }
inline void SetRegistrationLimit(int value) { m_registrationLimitHasBeenSet = true; m_registrationLimit = value; }
inline Activation& WithRegistrationLimit(int value) { SetRegistrationLimit(value); return *this;}
///@}
///@{
/**
* <p>The number of managed nodes already registered with this activation.</p>
*/
inline int GetRegistrationsCount() const{ return m_registrationsCount; }
inline bool RegistrationsCountHasBeenSet() const { return m_registrationsCountHasBeenSet; }
inline void SetRegistrationsCount(int value) { m_registrationsCountHasBeenSet = true; m_registrationsCount = value; }
inline Activation& WithRegistrationsCount(int value) { SetRegistrationsCount(value); return *this;}
///@}
///@{
/**
* <p>The date when this activation can no longer be used to register managed
* nodes.</p>
*/
inline const Aws::Utils::DateTime& GetExpirationDate() const{ return m_expirationDate; }
inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
inline void SetExpirationDate(const Aws::Utils::DateTime& value) { m_expirationDateHasBeenSet = true; m_expirationDate = value; }
inline void SetExpirationDate(Aws::Utils::DateTime&& value) { m_expirationDateHasBeenSet = true; m_expirationDate = std::move(value); }
inline Activation& WithExpirationDate(const Aws::Utils::DateTime& value) { SetExpirationDate(value); return *this;}
inline Activation& WithExpirationDate(Aws::Utils::DateTime&& value) { SetExpirationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Whether or not the activation is expired.</p>
*/
inline bool GetExpired() const{ return m_expired; }
inline bool ExpiredHasBeenSet() const { return m_expiredHasBeenSet; }
inline void SetExpired(bool value) { m_expiredHasBeenSet = true; m_expired = value; }
inline Activation& WithExpired(bool value) { SetExpired(value); return *this;}
///@}
///@{
/**
* <p>The date the activation was created.</p>
*/
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 Activation& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline Activation& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Tags assigned to the activation.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline Activation& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline Activation& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline Activation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline Activation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_activationId;
bool m_activationIdHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_defaultInstanceName;
bool m_defaultInstanceNameHasBeenSet = false;
Aws::String m_iamRole;
bool m_iamRoleHasBeenSet = false;
int m_registrationLimit;
bool m_registrationLimitHasBeenSet = false;
int m_registrationsCount;
bool m_registrationsCountHasBeenSet = false;
Aws::Utils::DateTime m_expirationDate;
bool m_expirationDateHasBeenSet = false;
bool m_expired;
bool m_expiredHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/ssm/model/ResourceTypeForTagging.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class AddTagsToResourceRequest : public SSMRequest
{
public:
AWS_SSM_API AddTagsToResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "AddTagsToResource"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>Specifies the type of resource you are tagging.</p> <p>The
* <code>ManagedInstance</code> type for this API operation is for on-premises
* managed nodes. You must specify the name of the managed node in the following
* format: <code>mi-<i>ID_number</i> </code>. For example,
* <code>mi-1a2b3c4d5e6f</code>.</p>
*/
inline const ResourceTypeForTagging& GetResourceType() const{ return m_resourceType; }
inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
inline void SetResourceType(const ResourceTypeForTagging& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
inline void SetResourceType(ResourceTypeForTagging&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
inline AddTagsToResourceRequest& WithResourceType(const ResourceTypeForTagging& value) { SetResourceType(value); return *this;}
inline AddTagsToResourceRequest& WithResourceType(ResourceTypeForTagging&& value) { SetResourceType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The resource ID you want to tag.</p> <p>Use the ID of the resource. Here are
* some examples:</p> <p> <code>MaintenanceWindow</code>:
* <code>mw-012345abcde</code> </p> <p> <code>PatchBaseline</code>:
* <code>pb-012345abcde</code> </p> <p> <code>Automation</code>:
* <code>example-c160-4567-8519-012345abcde</code> </p> <p>
* <code>OpsMetadata</code> object: <code>ResourceID</code> for tagging is created
* from the Amazon Resource Name (ARN) for the object. Specifically,
* <code>ResourceID</code> is created from the strings that come after the word
* <code>opsmetadata</code> in the ARN. For example, an OpsMetadata object with an
* ARN of
* <code>arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager</code>
* has a <code>ResourceID</code> of either <code>aws/ssm/MyGroup/appmanager</code>
* or <code>/aws/ssm/MyGroup/appmanager</code>.</p> <p>For the
* <code>Document</code> and <code>Parameter</code> values, use the name of the
* resource. If you're tagging a shared document, you must use the full ARN of the
* document.</p> <p> <code>ManagedInstance</code>: <code>mi-012345abcde</code> </p>
* <p>The <code>ManagedInstance</code> type for this API operation is only
* for on-premises managed nodes. You must specify the name of the managed node in
* the following format: <code>mi-<i>ID_number</i> </code>. For example,
* <code>mi-1a2b3c4d5e6f</code>.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline AddTagsToResourceRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline AddTagsToResourceRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline AddTagsToResourceRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>One or more tags. The value parameter is required.</p> <p>Don't
* enter personally identifiable information in this field.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline AddTagsToResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline AddTagsToResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline AddTagsToResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline AddTagsToResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
ResourceTypeForTagging m_resourceType;
bool m_resourceTypeHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class AddTagsToResourceResult
{
public:
AWS_SSM_API AddTagsToResourceResult();
AWS_SSM_API AddTagsToResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API AddTagsToResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline AddTagsToResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline AddTagsToResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline AddTagsToResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,62 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A CloudWatch alarm you apply to an automation or command.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Alarm">AWS API
* Reference</a></p>
*/
class Alarm
{
public:
AWS_SSM_API Alarm();
AWS_SSM_API Alarm(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Alarm& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of your CloudWatch alarm.</p>
*/
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 Alarm& WithName(const Aws::String& value) { SetName(value); return *this;}
inline Alarm& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline Alarm& WithName(const char* value) { SetName(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/Alarm.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>The details for the CloudWatch alarm you want to apply to an automation or
* command.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AlarmConfiguration">AWS
* API Reference</a></p>
*/
class AlarmConfiguration
{
public:
AWS_SSM_API AlarmConfiguration();
AWS_SSM_API AlarmConfiguration(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AlarmConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>When this value is <i>true</i>, your automation or command continues to run
* in cases where we cant retrieve alarm status information from CloudWatch. In
* cases where we successfully retrieve an alarm status of OK or INSUFFICIENT_DATA,
* the automation or command continues to run, regardless of this value. Default is
* <i>false</i>.</p>
*/
inline bool GetIgnorePollAlarmFailure() const{ return m_ignorePollAlarmFailure; }
inline bool IgnorePollAlarmFailureHasBeenSet() const { return m_ignorePollAlarmFailureHasBeenSet; }
inline void SetIgnorePollAlarmFailure(bool value) { m_ignorePollAlarmFailureHasBeenSet = true; m_ignorePollAlarmFailure = value; }
inline AlarmConfiguration& WithIgnorePollAlarmFailure(bool value) { SetIgnorePollAlarmFailure(value); return *this;}
///@}
///@{
/**
* <p>The name of the CloudWatch alarm specified in the configuration.</p>
*/
inline const Aws::Vector<Alarm>& GetAlarms() const{ return m_alarms; }
inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; }
inline void SetAlarms(const Aws::Vector<Alarm>& value) { m_alarmsHasBeenSet = true; m_alarms = value; }
inline void SetAlarms(Aws::Vector<Alarm>&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); }
inline AlarmConfiguration& WithAlarms(const Aws::Vector<Alarm>& value) { SetAlarms(value); return *this;}
inline AlarmConfiguration& WithAlarms(Aws::Vector<Alarm>&& value) { SetAlarms(std::move(value)); return *this;}
inline AlarmConfiguration& AddAlarms(const Alarm& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; }
inline AlarmConfiguration& AddAlarms(Alarm&& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(std::move(value)); return *this; }
///@}
private:
bool m_ignorePollAlarmFailure;
bool m_ignorePollAlarmFailureHasBeenSet = false;
Aws::Vector<Alarm> m_alarms;
bool m_alarmsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/ExternalAlarmState.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>The details about the state of your CloudWatch alarm.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AlarmStateInformation">AWS
* API Reference</a></p>
*/
class AlarmStateInformation
{
public:
AWS_SSM_API AlarmStateInformation();
AWS_SSM_API AlarmStateInformation(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AlarmStateInformation& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of your CloudWatch alarm.</p>
*/
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 AlarmStateInformation& WithName(const Aws::String& value) { SetName(value); return *this;}
inline AlarmStateInformation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline AlarmStateInformation& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The state of your CloudWatch alarm.</p>
*/
inline const ExternalAlarmState& GetState() const{ return m_state; }
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
inline void SetState(const ExternalAlarmState& value) { m_stateHasBeenSet = true; m_state = value; }
inline void SetState(ExternalAlarmState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
inline AlarmStateInformation& WithState(const ExternalAlarmState& value) { SetState(value); return *this;}
inline AlarmStateInformation& WithState(ExternalAlarmState&& value) { SetState(std::move(value)); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
ExternalAlarmState m_state;
bool m_stateHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class AssociateOpsItemRelatedItemRequest : public SSMRequest
{
public:
AWS_SSM_API AssociateOpsItemRelatedItemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "AssociateOpsItemRelatedItem"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the OpsItem to which you want to associate a resource as a related
* item.</p>
*/
inline const Aws::String& GetOpsItemId() const{ return m_opsItemId; }
inline bool OpsItemIdHasBeenSet() const { return m_opsItemIdHasBeenSet; }
inline void SetOpsItemId(const Aws::String& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = value; }
inline void SetOpsItemId(Aws::String&& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = std::move(value); }
inline void SetOpsItemId(const char* value) { m_opsItemIdHasBeenSet = true; m_opsItemId.assign(value); }
inline AssociateOpsItemRelatedItemRequest& WithOpsItemId(const Aws::String& value) { SetOpsItemId(value); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithOpsItemId(Aws::String&& value) { SetOpsItemId(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithOpsItemId(const char* value) { SetOpsItemId(value); return *this;}
///@}
///@{
/**
* <p>The type of association that you want to create between an OpsItem and a
* resource. OpsCenter supports <code>IsParentOf</code> and <code>RelatesTo</code>
* association types.</p>
*/
inline const Aws::String& GetAssociationType() const{ return m_associationType; }
inline bool AssociationTypeHasBeenSet() const { return m_associationTypeHasBeenSet; }
inline void SetAssociationType(const Aws::String& value) { m_associationTypeHasBeenSet = true; m_associationType = value; }
inline void SetAssociationType(Aws::String&& value) { m_associationTypeHasBeenSet = true; m_associationType = std::move(value); }
inline void SetAssociationType(const char* value) { m_associationTypeHasBeenSet = true; m_associationType.assign(value); }
inline AssociateOpsItemRelatedItemRequest& WithAssociationType(const Aws::String& value) { SetAssociationType(value); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithAssociationType(Aws::String&& value) { SetAssociationType(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithAssociationType(const char* value) { SetAssociationType(value); return *this;}
///@}
///@{
/**
* <p>The type of resource that you want to associate with an OpsItem. OpsCenter
* supports the following types:</p> <p>
* <code>AWS::SSMIncidents::IncidentRecord</code>: an Incident Manager incident.
* </p> <p> <code>AWS::SSM::Document</code>: a Systems Manager (SSM) document.</p>
*/
inline const Aws::String& GetResourceType() const{ return m_resourceType; }
inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); }
inline AssociateOpsItemRelatedItemRequest& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithResourceType(const char* value) { SetResourceType(value); return *this;}
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of the Amazon Web Services resource that you
* want to associate with the OpsItem.</p>
*/
inline const Aws::String& GetResourceUri() const{ return m_resourceUri; }
inline bool ResourceUriHasBeenSet() const { return m_resourceUriHasBeenSet; }
inline void SetResourceUri(const Aws::String& value) { m_resourceUriHasBeenSet = true; m_resourceUri = value; }
inline void SetResourceUri(Aws::String&& value) { m_resourceUriHasBeenSet = true; m_resourceUri = std::move(value); }
inline void SetResourceUri(const char* value) { m_resourceUriHasBeenSet = true; m_resourceUri.assign(value); }
inline AssociateOpsItemRelatedItemRequest& WithResourceUri(const Aws::String& value) { SetResourceUri(value); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithResourceUri(Aws::String&& value) { SetResourceUri(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemRequest& WithResourceUri(const char* value) { SetResourceUri(value); return *this;}
///@}
private:
Aws::String m_opsItemId;
bool m_opsItemIdHasBeenSet = false;
Aws::String m_associationType;
bool m_associationTypeHasBeenSet = false;
Aws::String m_resourceType;
bool m_resourceTypeHasBeenSet = false;
Aws::String m_resourceUri;
bool m_resourceUriHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class AssociateOpsItemRelatedItemResult
{
public:
AWS_SSM_API AssociateOpsItemRelatedItemResult();
AWS_SSM_API AssociateOpsItemRelatedItemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API AssociateOpsItemRelatedItemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The association ID.</p>
*/
inline const Aws::String& GetAssociationId() const{ return m_associationId; }
inline void SetAssociationId(const Aws::String& value) { m_associationId = value; }
inline void SetAssociationId(Aws::String&& value) { m_associationId = std::move(value); }
inline void SetAssociationId(const char* value) { m_associationId.assign(value); }
inline AssociateOpsItemRelatedItemResult& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AssociateOpsItemRelatedItemResult& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemResult& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline AssociateOpsItemRelatedItemResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline AssociateOpsItemRelatedItemResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline AssociateOpsItemRelatedItemResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_associationId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,276 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/AssociationOverview.h>
#include <aws/ssm/model/Target.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes an association of a Amazon Web Services Systems Manager document
* (SSM document) and a managed node.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Association">AWS API
* Reference</a></p>
*/
class Association
{
public:
AWS_SSM_API Association();
AWS_SSM_API Association(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Association& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the SSM document.</p>
*/
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;}
///@}
///@{
/**
* <p>The managed node ID.</p>
*/
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;}
///@}
///@{
/**
* <p>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.</p>
*/
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;}
///@}
///@{
/**
* <p>The association version.</p>
*/
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;}
///@}
///@{
/**
* <p>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
* <code>apply-only-at-cron-interval</code> parameter.</p> <p>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 <code>default</code> 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
* <code>default</code>.</p>
*/
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 Association& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline Association& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline Association& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>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
* <code>InstanceIds</code> key with a value of <code>*</code>.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline Association& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline Association& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline Association& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline Association& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The date on which the association was last run.</p>
*/
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;}
///@}
///@{
/**
* <p>Information about the association.</p>
*/
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;}
///@}
///@{
/**
* <p>A cron expression that specifies a schedule when the association runs. The
* schedule runs in Coordinated Universal Time (UTC).</p>
*/
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;}
///@}
///@{
/**
* <p>The association name.</p>
*/
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;}
///@}
///@{
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
*/
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;}
///@}
///@{
/**
* <p>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.</p>
*/
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;}
///@}
///@{
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets
* and TargetMaps can't be specified together.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline Association& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline Association& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline Association& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline Association& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_associationVersion;
bool m_associationVersionHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::Utils::DateTime m_lastExecutionDate;
bool m_lastExecutionDateHasBeenSet = false;
AssociationOverview m_overview;
bool m_overviewHasBeenSet = false;
Aws::String m_scheduleExpression;
bool m_scheduleExpressionHasBeenSet = false;
Aws::String m_associationName;
bool m_associationNameHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationComplianceSeverity
{
NOT_SET,
CRITICAL,
HIGH,
MEDIUM,
LOW,
UNSPECIFIED
};
namespace AssociationComplianceSeverityMapper
{
AWS_SSM_API AssociationComplianceSeverity GetAssociationComplianceSeverityForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationComplianceSeverity(AssociationComplianceSeverity value);
} // namespace AssociationComplianceSeverityMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,564 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/AssociationStatus.h>
#include <aws/ssm/model/AssociationOverview.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/InstanceAssociationOutputLocation.h>
#include <aws/ssm/model/AssociationComplianceSeverity.h>
#include <aws/ssm/model/AssociationSyncCompliance.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/TargetLocation.h>
#include <aws/ssm/model/AlarmStateInformation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes the parameters for a document.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationDescription">AWS
* API Reference</a></p>
*/
class AssociationDescription
{
public:
AWS_SSM_API AssociationDescription();
AWS_SSM_API AssociationDescription(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the SSM document.</p>
*/
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 AssociationDescription& WithName(const Aws::String& value) { SetName(value); return *this;}
inline AssociationDescription& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline AssociationDescription& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The managed node ID.</p>
*/
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 AssociationDescription& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
inline AssociationDescription& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
inline AssociationDescription& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
///@}
///@{
/**
* <p>The association version.</p>
*/
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 AssociationDescription& WithAssociationVersion(const Aws::String& value) { SetAssociationVersion(value); return *this;}
inline AssociationDescription& WithAssociationVersion(Aws::String&& value) { SetAssociationVersion(std::move(value)); return *this;}
inline AssociationDescription& WithAssociationVersion(const char* value) { SetAssociationVersion(value); return *this;}
///@}
///@{
/**
* <p>The date when the association was made.</p>
*/
inline const Aws::Utils::DateTime& GetDate() const{ return m_date; }
inline bool DateHasBeenSet() const { return m_dateHasBeenSet; }
inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; }
inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); }
inline AssociationDescription& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;}
inline AssociationDescription& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The date when the association was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdateAssociationDate() const{ return m_lastUpdateAssociationDate; }
inline bool LastUpdateAssociationDateHasBeenSet() const { return m_lastUpdateAssociationDateHasBeenSet; }
inline void SetLastUpdateAssociationDate(const Aws::Utils::DateTime& value) { m_lastUpdateAssociationDateHasBeenSet = true; m_lastUpdateAssociationDate = value; }
inline void SetLastUpdateAssociationDate(Aws::Utils::DateTime&& value) { m_lastUpdateAssociationDateHasBeenSet = true; m_lastUpdateAssociationDate = std::move(value); }
inline AssociationDescription& WithLastUpdateAssociationDate(const Aws::Utils::DateTime& value) { SetLastUpdateAssociationDate(value); return *this;}
inline AssociationDescription& WithLastUpdateAssociationDate(Aws::Utils::DateTime&& value) { SetLastUpdateAssociationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The association status.</p>
*/
inline const AssociationStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const AssociationStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(AssociationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline AssociationDescription& WithStatus(const AssociationStatus& value) { SetStatus(value); return *this;}
inline AssociationDescription& WithStatus(AssociationStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Information about the association.</p>
*/
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 AssociationDescription& WithOverview(const AssociationOverview& value) { SetOverview(value); return *this;}
inline AssociationDescription& WithOverview(AssociationOverview&& value) { SetOverview(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The document version.</p>
*/
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 AssociationDescription& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline AssociationDescription& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline AssociationDescription& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>Choose the parameter that will define how your automation will branch out.
* This target is required for associations that use an Automation runbook and
* target resources by using rate controls. Automation is a capability of Amazon
* Web Services Systems Manager.</p>
*/
inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; }
inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; }
inline void SetAutomationTargetParameterName(const Aws::String& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = value; }
inline void SetAutomationTargetParameterName(Aws::String&& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = std::move(value); }
inline void SetAutomationTargetParameterName(const char* value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName.assign(value); }
inline AssociationDescription& WithAutomationTargetParameterName(const Aws::String& value) { SetAutomationTargetParameterName(value); return *this;}
inline AssociationDescription& WithAutomationTargetParameterName(Aws::String&& value) { SetAutomationTargetParameterName(std::move(value)); return *this;}
inline AssociationDescription& WithAutomationTargetParameterName(const char* value) { SetAutomationTargetParameterName(value); return *this;}
///@}
///@{
/**
* <p>A description of the parameters for a document. </p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline AssociationDescription& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline AssociationDescription& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline AssociationDescription& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline AssociationDescription& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline AssociationDescription& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AssociationDescription& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline AssociationDescription& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AssociationDescription& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The association ID.</p>
*/
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 AssociationDescription& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AssociationDescription& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AssociationDescription& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
/**
* <p>The managed nodes targeted by the request. </p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline AssociationDescription& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline AssociationDescription& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline AssociationDescription& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline AssociationDescription& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A cron expression that specifies a schedule when the association runs.</p>
*/
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 AssociationDescription& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;}
inline AssociationDescription& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;}
inline AssociationDescription& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;}
///@}
///@{
/**
* <p>An S3 bucket where you want to store the output details of the request.</p>
*/
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 AssociationDescription& WithOutputLocation(const InstanceAssociationOutputLocation& value) { SetOutputLocation(value); return *this;}
inline AssociationDescription& WithOutputLocation(InstanceAssociationOutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The date on which the association was last run.</p>
*/
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 AssociationDescription& WithLastExecutionDate(const Aws::Utils::DateTime& value) { SetLastExecutionDate(value); return *this;}
inline AssociationDescription& WithLastExecutionDate(Aws::Utils::DateTime&& value) { SetLastExecutionDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The last date on which the association was successfully run.</p>
*/
inline const Aws::Utils::DateTime& GetLastSuccessfulExecutionDate() const{ return m_lastSuccessfulExecutionDate; }
inline bool LastSuccessfulExecutionDateHasBeenSet() const { return m_lastSuccessfulExecutionDateHasBeenSet; }
inline void SetLastSuccessfulExecutionDate(const Aws::Utils::DateTime& value) { m_lastSuccessfulExecutionDateHasBeenSet = true; m_lastSuccessfulExecutionDate = value; }
inline void SetLastSuccessfulExecutionDate(Aws::Utils::DateTime&& value) { m_lastSuccessfulExecutionDateHasBeenSet = true; m_lastSuccessfulExecutionDate = std::move(value); }
inline AssociationDescription& WithLastSuccessfulExecutionDate(const Aws::Utils::DateTime& value) { SetLastSuccessfulExecutionDate(value); return *this;}
inline AssociationDescription& WithLastSuccessfulExecutionDate(Aws::Utils::DateTime&& value) { SetLastSuccessfulExecutionDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The association name.</p>
*/
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 AssociationDescription& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;}
inline AssociationDescription& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;}
inline AssociationDescription& WithAssociationName(const char* value) { SetAssociationName(value); return *this;}
///@}
///@{
/**
* <p>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 <code>MaxError</code> to 10%, then the
* system stops sending the request when the sixth error is received.</p>
* <p>Executions that are already running an association when
* <code>MaxErrors</code> 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 <code>MaxConcurrency</code> to 1 so that
* executions proceed one at a time.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline AssociationDescription& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline AssociationDescription& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline AssociationDescription& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>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.</p> <p>If a new managed node starts and attempts
* to run an association while Systems Manager is running
* <code>MaxConcurrency</code> 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 <code>MaxConcurrency</code>.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline AssociationDescription& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline AssociationDescription& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline AssociationDescription& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The severity level that is assigned to the association.</p>
*/
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 AssociationDescription& WithComplianceSeverity(const AssociationComplianceSeverity& value) { SetComplianceSeverity(value); return *this;}
inline AssociationDescription& WithComplianceSeverity(AssociationComplianceSeverity&& value) { SetComplianceSeverity(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The mode for generating association compliance. You can specify
* <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> 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
* <code>COMPLIANT</code>. If the association execution doesn't run successfully,
* the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code>
* mode, you must specify the <code>AssociationId</code> as a parameter for the
* <a>PutComplianceItems</a> 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 <a>PutComplianceItems</a> API
* operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
*/
inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; }
inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; }
inline void SetSyncCompliance(const AssociationSyncCompliance& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = value; }
inline void SetSyncCompliance(AssociationSyncCompliance&& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = std::move(value); }
inline AssociationDescription& WithSyncCompliance(const AssociationSyncCompliance& value) { SetSyncCompliance(value); return *this;}
inline AssociationDescription& WithSyncCompliance(AssociationSyncCompliance&& value) { SetSyncCompliance(std::move(value)); return *this;}
///@}
///@{
/**
* <p>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.</p>
*/
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 AssociationDescription& WithApplyOnlyAtCronInterval(bool value) { SetApplyOnlyAtCronInterval(value); return *this;}
///@}
///@{
/**
* <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
* documents your associations are gated under. The associations only run when that
* change calendar is open. For more information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
* Web Services Systems Manager Change Calendar</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetCalendarNames() const{ return m_calendarNames; }
inline bool CalendarNamesHasBeenSet() const { return m_calendarNamesHasBeenSet; }
inline void SetCalendarNames(const Aws::Vector<Aws::String>& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = value; }
inline void SetCalendarNames(Aws::Vector<Aws::String>&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = std::move(value); }
inline AssociationDescription& WithCalendarNames(const Aws::Vector<Aws::String>& value) { SetCalendarNames(value); return *this;}
inline AssociationDescription& WithCalendarNames(Aws::Vector<Aws::String>&& value) { SetCalendarNames(std::move(value)); return *this;}
inline AssociationDescription& AddCalendarNames(const Aws::String& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
inline AssociationDescription& AddCalendarNames(Aws::String&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(std::move(value)); return *this; }
inline AssociationDescription& AddCalendarNames(const char* value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
///@}
///@{
/**
* <p>The combination of Amazon Web Services Regions and Amazon Web Services
* accounts where you want to run the association.</p>
*/
inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
inline AssociationDescription& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
inline AssociationDescription& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
inline AssociationDescription& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
inline AssociationDescription& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
*/
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 AssociationDescription& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;}
///@}
///@{
/**
* <p>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.</p>
*/
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 AssociationDescription& WithDuration(int value) { SetDuration(value); return *this;}
///@}
///@{
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets
* and TargetMaps can't be specified together.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline AssociationDescription& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline AssociationDescription& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline AssociationDescription& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline AssociationDescription& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
///@{
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline AssociationDescription& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline AssociationDescription& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The CloudWatch alarm that was invoked during the association.</p>
*/
inline const Aws::Vector<AlarmStateInformation>& GetTriggeredAlarms() const{ return m_triggeredAlarms; }
inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; }
inline void SetTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; }
inline void SetTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); }
inline AssociationDescription& WithTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { SetTriggeredAlarms(value); return *this;}
inline AssociationDescription& WithTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { SetTriggeredAlarms(std::move(value)); return *this;}
inline AssociationDescription& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; }
inline AssociationDescription& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::String m_associationVersion;
bool m_associationVersionHasBeenSet = false;
Aws::Utils::DateTime m_date;
bool m_dateHasBeenSet = false;
Aws::Utils::DateTime m_lastUpdateAssociationDate;
bool m_lastUpdateAssociationDateHasBeenSet = false;
AssociationStatus m_status;
bool m_statusHasBeenSet = false;
AssociationOverview m_overview;
bool m_overviewHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::String m_automationTargetParameterName;
bool m_automationTargetParameterNameHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::String m_scheduleExpression;
bool m_scheduleExpressionHasBeenSet = false;
InstanceAssociationOutputLocation m_outputLocation;
bool m_outputLocationHasBeenSet = false;
Aws::Utils::DateTime m_lastExecutionDate;
bool m_lastExecutionDateHasBeenSet = false;
Aws::Utils::DateTime m_lastSuccessfulExecutionDate;
bool m_lastSuccessfulExecutionDateHasBeenSet = false;
Aws::String m_associationName;
bool m_associationNameHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
AssociationComplianceSeverity m_complianceSeverity;
bool m_complianceSeverityHasBeenSet = false;
AssociationSyncCompliance m_syncCompliance;
bool m_syncComplianceHasBeenSet = false;
bool m_applyOnlyAtCronInterval;
bool m_applyOnlyAtCronIntervalHasBeenSet = false;
Aws::Vector<Aws::String> m_calendarNames;
bool m_calendarNamesHasBeenSet = false;
Aws::Vector<TargetLocation> m_targetLocations;
bool m_targetLocationsHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
Aws::Vector<AlarmStateInformation> m_triggeredAlarms;
bool m_triggeredAlarmsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,212 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/AlarmStateInformation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Includes information about the specified association.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationExecution">AWS
* API Reference</a></p>
*/
class AssociationExecution
{
public:
AWS_SSM_API AssociationExecution();
AWS_SSM_API AssociationExecution(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationExecution& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The association ID.</p>
*/
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 AssociationExecution& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AssociationExecution& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AssociationExecution& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
/**
* <p>The association version.</p>
*/
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 AssociationExecution& WithAssociationVersion(const Aws::String& value) { SetAssociationVersion(value); return *this;}
inline AssociationExecution& WithAssociationVersion(Aws::String&& value) { SetAssociationVersion(std::move(value)); return *this;}
inline AssociationExecution& WithAssociationVersion(const char* value) { SetAssociationVersion(value); return *this;}
///@}
///@{
/**
* <p>The execution ID for the association.</p>
*/
inline const Aws::String& GetExecutionId() const{ return m_executionId; }
inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; }
inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; }
inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); }
inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); }
inline AssociationExecution& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;}
inline AssociationExecution& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;}
inline AssociationExecution& WithExecutionId(const char* value) { SetExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The status of the association execution.</p>
*/
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 AssociationExecution& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
inline AssociationExecution& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
inline AssociationExecution& WithStatus(const char* value) { SetStatus(value); return *this;}
///@}
///@{
/**
* <p>Detailed status information about the execution.</p>
*/
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 AssociationExecution& WithDetailedStatus(const Aws::String& value) { SetDetailedStatus(value); return *this;}
inline AssociationExecution& WithDetailedStatus(Aws::String&& value) { SetDetailedStatus(std::move(value)); return *this;}
inline AssociationExecution& WithDetailedStatus(const char* value) { SetDetailedStatus(value); return *this;}
///@}
///@{
/**
* <p>The time the execution started.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
inline AssociationExecution& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
inline AssociationExecution& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The date of the last execution.</p>
*/
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 AssociationExecution& WithLastExecutionDate(const Aws::Utils::DateTime& value) { SetLastExecutionDate(value); return *this;}
inline AssociationExecution& WithLastExecutionDate(Aws::Utils::DateTime&& value) { SetLastExecutionDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>An aggregate status of the resources in the execution based on the status
* type.</p>
*/
inline const Aws::String& GetResourceCountByStatus() const{ return m_resourceCountByStatus; }
inline bool ResourceCountByStatusHasBeenSet() const { return m_resourceCountByStatusHasBeenSet; }
inline void SetResourceCountByStatus(const Aws::String& value) { m_resourceCountByStatusHasBeenSet = true; m_resourceCountByStatus = value; }
inline void SetResourceCountByStatus(Aws::String&& value) { m_resourceCountByStatusHasBeenSet = true; m_resourceCountByStatus = std::move(value); }
inline void SetResourceCountByStatus(const char* value) { m_resourceCountByStatusHasBeenSet = true; m_resourceCountByStatus.assign(value); }
inline AssociationExecution& WithResourceCountByStatus(const Aws::String& value) { SetResourceCountByStatus(value); return *this;}
inline AssociationExecution& WithResourceCountByStatus(Aws::String&& value) { SetResourceCountByStatus(std::move(value)); return *this;}
inline AssociationExecution& WithResourceCountByStatus(const char* value) { SetResourceCountByStatus(value); return *this;}
///@}
///@{
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline AssociationExecution& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline AssociationExecution& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The CloudWatch alarms that were invoked by the association.</p>
*/
inline const Aws::Vector<AlarmStateInformation>& GetTriggeredAlarms() const{ return m_triggeredAlarms; }
inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; }
inline void SetTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; }
inline void SetTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); }
inline AssociationExecution& WithTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { SetTriggeredAlarms(value); return *this;}
inline AssociationExecution& WithTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { SetTriggeredAlarms(std::move(value)); return *this;}
inline AssociationExecution& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; }
inline AssociationExecution& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_associationVersion;
bool m_associationVersionHasBeenSet = false;
Aws::String m_executionId;
bool m_executionIdHasBeenSet = false;
Aws::String m_status;
bool m_statusHasBeenSet = false;
Aws::String m_detailedStatus;
bool m_detailedStatusHasBeenSet = false;
Aws::Utils::DateTime m_createdTime;
bool m_createdTimeHasBeenSet = false;
Aws::Utils::DateTime m_lastExecutionDate;
bool m_lastExecutionDateHasBeenSet = false;
Aws::String m_resourceCountByStatus;
bool m_resourceCountByStatusHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
Aws::Vector<AlarmStateInformation> m_triggeredAlarms;
bool m_triggeredAlarmsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AssociationExecutionFilterKey.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/AssociationFilterOperatorType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Filters used in the request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationExecutionFilter">AWS
* API Reference</a></p>
*/
class AssociationExecutionFilter
{
public:
AWS_SSM_API AssociationExecutionFilter();
AWS_SSM_API AssociationExecutionFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationExecutionFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The key value used in the request.</p>
*/
inline const AssociationExecutionFilterKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const AssociationExecutionFilterKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(AssociationExecutionFilterKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline AssociationExecutionFilter& WithKey(const AssociationExecutionFilterKey& value) { SetKey(value); return *this;}
inline AssociationExecutionFilter& WithKey(AssociationExecutionFilterKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The value specified for the key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline AssociationExecutionFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline AssociationExecutionFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline AssociationExecutionFilter& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>The filter type specified in the request.</p>
*/
inline const AssociationFilterOperatorType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const AssociationFilterOperatorType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(AssociationFilterOperatorType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline AssociationExecutionFilter& WithType(const AssociationFilterOperatorType& value) { SetType(value); return *this;}
inline AssociationExecutionFilter& WithType(AssociationFilterOperatorType&& value) { SetType(std::move(value)); return *this;}
///@}
private:
AssociationExecutionFilterKey m_key;
bool m_keyHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
AssociationFilterOperatorType m_type;
bool m_typeHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationExecutionFilterKey
{
NOT_SET,
ExecutionId,
Status,
CreatedTime
};
namespace AssociationExecutionFilterKeyMapper
{
AWS_SSM_API AssociationExecutionFilterKey GetAssociationExecutionFilterKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationExecutionFilterKey(AssociationExecutionFilterKey value);
} // namespace AssociationExecutionFilterKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,197 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/OutputSource.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Includes information about the specified association execution.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationExecutionTarget">AWS
* API Reference</a></p>
*/
class AssociationExecutionTarget
{
public:
AWS_SSM_API AssociationExecutionTarget();
AWS_SSM_API AssociationExecutionTarget(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationExecutionTarget& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The association ID.</p>
*/
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 AssociationExecutionTarget& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AssociationExecutionTarget& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
/**
* <p>The association version.</p>
*/
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 AssociationExecutionTarget& WithAssociationVersion(const Aws::String& value) { SetAssociationVersion(value); return *this;}
inline AssociationExecutionTarget& WithAssociationVersion(Aws::String&& value) { SetAssociationVersion(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithAssociationVersion(const char* value) { SetAssociationVersion(value); return *this;}
///@}
///@{
/**
* <p>The execution ID.</p>
*/
inline const Aws::String& GetExecutionId() const{ return m_executionId; }
inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; }
inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; }
inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); }
inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); }
inline AssociationExecutionTarget& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;}
inline AssociationExecutionTarget& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithExecutionId(const char* value) { SetExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The resource ID, for example, the managed node ID where the association
* ran.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline AssociationExecutionTarget& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline AssociationExecutionTarget& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>The resource type, for example, EC2.</p>
*/
inline const Aws::String& GetResourceType() const{ return m_resourceType; }
inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); }
inline AssociationExecutionTarget& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;}
inline AssociationExecutionTarget& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithResourceType(const char* value) { SetResourceType(value); return *this;}
///@}
///@{
/**
* <p>The association execution status.</p>
*/
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 AssociationExecutionTarget& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
inline AssociationExecutionTarget& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithStatus(const char* value) { SetStatus(value); return *this;}
///@}
///@{
/**
* <p>Detailed information about the execution status.</p>
*/
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 AssociationExecutionTarget& WithDetailedStatus(const Aws::String& value) { SetDetailedStatus(value); return *this;}
inline AssociationExecutionTarget& WithDetailedStatus(Aws::String&& value) { SetDetailedStatus(std::move(value)); return *this;}
inline AssociationExecutionTarget& WithDetailedStatus(const char* value) { SetDetailedStatus(value); return *this;}
///@}
///@{
/**
* <p>The date of the last execution.</p>
*/
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 AssociationExecutionTarget& WithLastExecutionDate(const Aws::Utils::DateTime& value) { SetLastExecutionDate(value); return *this;}
inline AssociationExecutionTarget& WithLastExecutionDate(Aws::Utils::DateTime&& value) { SetLastExecutionDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The location where the association details are saved.</p>
*/
inline const OutputSource& GetOutputSource() const{ return m_outputSource; }
inline bool OutputSourceHasBeenSet() const { return m_outputSourceHasBeenSet; }
inline void SetOutputSource(const OutputSource& value) { m_outputSourceHasBeenSet = true; m_outputSource = value; }
inline void SetOutputSource(OutputSource&& value) { m_outputSourceHasBeenSet = true; m_outputSource = std::move(value); }
inline AssociationExecutionTarget& WithOutputSource(const OutputSource& value) { SetOutputSource(value); return *this;}
inline AssociationExecutionTarget& WithOutputSource(OutputSource&& value) { SetOutputSource(std::move(value)); return *this;}
///@}
private:
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_associationVersion;
bool m_associationVersionHasBeenSet = false;
Aws::String m_executionId;
bool m_executionIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_resourceType;
bool m_resourceTypeHasBeenSet = false;
Aws::String m_status;
bool m_statusHasBeenSet = false;
Aws::String m_detailedStatus;
bool m_detailedStatusHasBeenSet = false;
Aws::Utils::DateTime m_lastExecutionDate;
bool m_lastExecutionDateHasBeenSet = false;
OutputSource m_outputSource;
bool m_outputSourceHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AssociationExecutionTargetsFilterKey.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Filters for the association execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationExecutionTargetsFilter">AWS
* API Reference</a></p>
*/
class AssociationExecutionTargetsFilter
{
public:
AWS_SSM_API AssociationExecutionTargetsFilter();
AWS_SSM_API AssociationExecutionTargetsFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationExecutionTargetsFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The key value used in the request.</p>
*/
inline const AssociationExecutionTargetsFilterKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const AssociationExecutionTargetsFilterKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(AssociationExecutionTargetsFilterKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline AssociationExecutionTargetsFilter& WithKey(const AssociationExecutionTargetsFilterKey& value) { SetKey(value); return *this;}
inline AssociationExecutionTargetsFilter& WithKey(AssociationExecutionTargetsFilterKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The value specified for the key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline AssociationExecutionTargetsFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline AssociationExecutionTargetsFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline AssociationExecutionTargetsFilter& WithValue(const char* value) { SetValue(value); return *this;}
///@}
private:
AssociationExecutionTargetsFilterKey m_key;
bool m_keyHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationExecutionTargetsFilterKey
{
NOT_SET,
Status,
ResourceId,
ResourceType
};
namespace AssociationExecutionTargetsFilterKeyMapper
{
AWS_SSM_API AssociationExecutionTargetsFilterKey GetAssociationExecutionTargetsFilterKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationExecutionTargetsFilterKey(AssociationExecutionTargetsFilterKey value);
} // namespace AssociationExecutionTargetsFilterKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AssociationFilterKey.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes a filter.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationFilter">AWS
* API Reference</a></p>
*/
class AssociationFilter
{
public:
AWS_SSM_API AssociationFilter();
AWS_SSM_API AssociationFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the filter.</p> <p> <code>InstanceId</code> has been
* deprecated.</p>
*/
inline const AssociationFilterKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const AssociationFilterKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(AssociationFilterKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline AssociationFilter& WithKey(const AssociationFilterKey& value) { SetKey(value); return *this;}
inline AssociationFilter& WithKey(AssociationFilterKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The filter value.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline AssociationFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline AssociationFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline AssociationFilter& WithValue(const char* value) { SetValue(value); return *this;}
///@}
private:
AssociationFilterKey m_key;
bool m_keyHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,37 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationFilterKey
{
NOT_SET,
InstanceId,
Name,
AssociationId,
AssociationStatusName,
LastExecutedBefore,
LastExecutedAfter,
AssociationName,
ResourceGroupName
};
namespace AssociationFilterKeyMapper
{
AWS_SSM_API AssociationFilterKey GetAssociationFilterKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationFilterKey(AssociationFilterKey value);
} // namespace AssociationFilterKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationFilterOperatorType
{
NOT_SET,
EQUAL,
LESS_THAN,
GREATER_THAN
};
namespace AssociationFilterOperatorTypeMapper
{
AWS_SSM_API AssociationFilterOperatorType GetAssociationFilterOperatorTypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationFilterOperatorType(AssociationFilterOperatorType value);
} // namespace AssociationFilterOperatorTypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,100 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Information about the association.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationOverview">AWS
* API Reference</a></p>
*/
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;
///@{
/**
* <p>The status of the association. Status can be: Pending, Success, or
* Failed.</p>
*/
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;}
///@}
///@{
/**
* <p>A detailed status of the association.</p>
*/
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;}
///@}
///@{
/**
* <p>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.</p>
*/
inline const Aws::Map<Aws::String, int>& GetAssociationStatusAggregatedCount() const{ return m_associationStatusAggregatedCount; }
inline bool AssociationStatusAggregatedCountHasBeenSet() const { return m_associationStatusAggregatedCountHasBeenSet; }
inline void SetAssociationStatusAggregatedCount(const Aws::Map<Aws::String, int>& value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount = value; }
inline void SetAssociationStatusAggregatedCount(Aws::Map<Aws::String, int>&& value) { m_associationStatusAggregatedCountHasBeenSet = true; m_associationStatusAggregatedCount = std::move(value); }
inline AssociationOverview& WithAssociationStatusAggregatedCount(const Aws::Map<Aws::String, int>& value) { SetAssociationStatusAggregatedCount(value); return *this;}
inline AssociationOverview& WithAssociationStatusAggregatedCount(Aws::Map<Aws::String, int>&& 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<Aws::String, int> m_associationStatusAggregatedCount;
bool m_associationStatusAggregatedCountHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,110 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/AssociationStatusName.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes an association status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationStatus">AWS
* API Reference</a></p>
*/
class AssociationStatus
{
public:
AWS_SSM_API AssociationStatus();
AWS_SSM_API AssociationStatus(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The date when the status changed.</p>
*/
inline const Aws::Utils::DateTime& GetDate() const{ return m_date; }
inline bool DateHasBeenSet() const { return m_dateHasBeenSet; }
inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; }
inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = std::move(value); }
inline AssociationStatus& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;}
inline AssociationStatus& WithDate(Aws::Utils::DateTime&& value) { SetDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status.</p>
*/
inline const AssociationStatusName& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const AssociationStatusName& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(AssociationStatusName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline AssociationStatus& WithName(const AssociationStatusName& value) { SetName(value); return *this;}
inline AssociationStatus& WithName(AssociationStatusName&& value) { SetName(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The reason for the status.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline AssociationStatus& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline AssociationStatus& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline AssociationStatus& WithMessage(const char* value) { SetMessage(value); return *this;}
///@}
///@{
/**
* <p>A user-defined string.</p>
*/
inline const Aws::String& GetAdditionalInfo() const{ return m_additionalInfo; }
inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
inline void SetAdditionalInfo(const Aws::String& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; }
inline void SetAdditionalInfo(Aws::String&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = std::move(value); }
inline void SetAdditionalInfo(const char* value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.assign(value); }
inline AssociationStatus& WithAdditionalInfo(const Aws::String& value) { SetAdditionalInfo(value); return *this;}
inline AssociationStatus& WithAdditionalInfo(Aws::String&& value) { SetAdditionalInfo(std::move(value)); return *this;}
inline AssociationStatus& WithAdditionalInfo(const char* value) { SetAdditionalInfo(value); return *this;}
///@}
private:
Aws::Utils::DateTime m_date;
bool m_dateHasBeenSet = false;
AssociationStatusName m_name;
bool m_nameHasBeenSet = false;
Aws::String m_message;
bool m_messageHasBeenSet = false;
Aws::String m_additionalInfo;
bool m_additionalInfoHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationStatusName
{
NOT_SET,
Pending,
Success,
Failed
};
namespace AssociationStatusNameMapper
{
AWS_SSM_API AssociationStatusName GetAssociationStatusNameForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationStatusName(AssociationStatusName value);
} // namespace AssociationStatusNameMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AssociationSyncCompliance
{
NOT_SET,
AUTO,
MANUAL
};
namespace AssociationSyncComplianceMapper
{
AWS_SSM_API AssociationSyncCompliance GetAssociationSyncComplianceForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAssociationSyncCompliance(AssociationSyncCompliance value);
} // namespace AssociationSyncComplianceMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,424 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/InstanceAssociationOutputLocation.h>
#include <aws/ssm/model/AssociationComplianceSeverity.h>
#include <aws/ssm/model/AssociationSyncCompliance.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/TargetLocation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Information about the association version.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociationVersionInfo">AWS
* API Reference</a></p>
*/
class AssociationVersionInfo
{
public:
AWS_SSM_API AssociationVersionInfo();
AWS_SSM_API AssociationVersionInfo(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AssociationVersionInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The ID created by the system when the association was created.</p>
*/
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;}
///@}
///@{
/**
* <p>The association version.</p>
*/
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;}
///@}
///@{
/**
* <p>The date the association version was created.</p>
*/
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;}
///@}
///@{
/**
* <p>The name specified when the association was created.</p>
*/
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;}
///@}
///@{
/**
* <p>The version of an Amazon Web Services Systems Manager document (SSM document)
* used when the association version was created.</p>
*/
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;}
///@}
///@{
/**
* <p>Parameters specified when the association version was created.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline AssociationVersionInfo& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline AssociationVersionInfo& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline AssociationVersionInfo& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline AssociationVersionInfo& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline AssociationVersionInfo& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AssociationVersionInfo& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline AssociationVersionInfo& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AssociationVersionInfo& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The targets specified for the association when the association version was
* created. </p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline AssociationVersionInfo& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline AssociationVersionInfo& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline AssociationVersionInfo& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline AssociationVersionInfo& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The cron or rate schedule specified for the association when the association
* version was created.</p>
*/
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;}
///@}
///@{
/**
* <p>The location in Amazon S3 specified for the association when the association
* version was created.</p>
*/
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;}
///@}
///@{
/**
* <p>The name specified for the association version when the association version
* was created.</p>
*/
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;}
///@}
///@{
/**
* <p>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 <code>MaxError</code> to 10%, then the
* system stops sending the request when the sixth error is received.</p>
* <p>Executions that are already running an association when
* <code>MaxErrors</code> 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 <code>MaxConcurrency</code> to 1 so that
* executions proceed one at a time.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline AssociationVersionInfo& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline AssociationVersionInfo& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline AssociationVersionInfo& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>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.</p> <p>If a new managed node starts and attempts
* to run an association while Systems Manager is running
* <code>MaxConcurrency</code> 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 <code>MaxConcurrency</code>.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline AssociationVersionInfo& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline AssociationVersionInfo& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline AssociationVersionInfo& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The severity level that is assigned to the association.</p>
*/
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;}
///@}
///@{
/**
* <p>The mode for generating association compliance. You can specify
* <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> 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
* <code>COMPLIANT</code>. If the association execution doesn't run successfully,
* the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code>
* mode, you must specify the <code>AssociationId</code> as a parameter for the
* <a>PutComplianceItems</a> 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 <a>PutComplianceItems</a> API
* operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
*/
inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; }
inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; }
inline void SetSyncCompliance(const AssociationSyncCompliance& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = value; }
inline void SetSyncCompliance(AssociationSyncCompliance&& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = std::move(value); }
inline AssociationVersionInfo& WithSyncCompliance(const AssociationSyncCompliance& value) { SetSyncCompliance(value); return *this;}
inline AssociationVersionInfo& WithSyncCompliance(AssociationSyncCompliance&& value) { SetSyncCompliance(std::move(value)); return *this;}
///@}
///@{
/**
* <p>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.</p>
*/
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;}
///@}
///@{
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
* Web Services Systems Manager Change Calendar</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetCalendarNames() const{ return m_calendarNames; }
inline bool CalendarNamesHasBeenSet() const { return m_calendarNamesHasBeenSet; }
inline void SetCalendarNames(const Aws::Vector<Aws::String>& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = value; }
inline void SetCalendarNames(Aws::Vector<Aws::String>&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = std::move(value); }
inline AssociationVersionInfo& WithCalendarNames(const Aws::Vector<Aws::String>& value) { SetCalendarNames(value); return *this;}
inline AssociationVersionInfo& WithCalendarNames(Aws::Vector<Aws::String>&& value) { SetCalendarNames(std::move(value)); return *this;}
inline AssociationVersionInfo& AddCalendarNames(const Aws::String& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
inline AssociationVersionInfo& AddCalendarNames(Aws::String&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(std::move(value)); return *this; }
inline AssociationVersionInfo& AddCalendarNames(const char* value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
///@}
///@{
/**
* <p>The combination of Amazon Web Services Regions and Amazon Web Services
* accounts where you wanted to run the association when this association version
* was created.</p>
*/
inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
inline AssociationVersionInfo& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
inline AssociationVersionInfo& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
inline AssociationVersionInfo& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
inline AssociationVersionInfo& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
*/
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;}
///@}
///@{
/**
* <p>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.</p>
*/
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;}
///@}
///@{
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets
* and TargetMaps can't be specified together.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline AssociationVersionInfo& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline AssociationVersionInfo& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline AssociationVersionInfo& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline AssociationVersionInfo& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_associationVersion;
bool m_associationVersionHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::String m_scheduleExpression;
bool m_scheduleExpressionHasBeenSet = false;
InstanceAssociationOutputLocation m_outputLocation;
bool m_outputLocationHasBeenSet = false;
Aws::String m_associationName;
bool m_associationNameHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
AssociationComplianceSeverity m_complianceSeverity;
bool m_complianceSeverityHasBeenSet = false;
AssociationSyncCompliance m_syncCompliance;
bool m_syncComplianceHasBeenSet = false;
bool m_applyOnlyAtCronInterval;
bool m_applyOnlyAtCronIntervalHasBeenSet = false;
Aws::Vector<Aws::String> m_calendarNames;
bool m_calendarNamesHasBeenSet = false;
Aws::Vector<TargetLocation> m_targetLocations;
bool m_targetLocationsHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/AttachmentHashType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A structure that includes attributes that describe a document
* attachment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AttachmentContent">AWS
* API Reference</a></p>
*/
class AttachmentContent
{
public:
AWS_SSM_API AttachmentContent();
AWS_SSM_API AttachmentContent(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AttachmentContent& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of an attachment.</p>
*/
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 AttachmentContent& WithName(const Aws::String& value) { SetName(value); return *this;}
inline AttachmentContent& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline AttachmentContent& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The size of an attachment in bytes.</p>
*/
inline long long GetSize() const{ return m_size; }
inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; }
inline AttachmentContent& WithSize(long long value) { SetSize(value); return *this;}
///@}
///@{
/**
* <p>The cryptographic hash value of the document content.</p>
*/
inline const Aws::String& GetHash() const{ return m_hash; }
inline bool HashHasBeenSet() const { return m_hashHasBeenSet; }
inline void SetHash(const Aws::String& value) { m_hashHasBeenSet = true; m_hash = value; }
inline void SetHash(Aws::String&& value) { m_hashHasBeenSet = true; m_hash = std::move(value); }
inline void SetHash(const char* value) { m_hashHasBeenSet = true; m_hash.assign(value); }
inline AttachmentContent& WithHash(const Aws::String& value) { SetHash(value); return *this;}
inline AttachmentContent& WithHash(Aws::String&& value) { SetHash(std::move(value)); return *this;}
inline AttachmentContent& WithHash(const char* value) { SetHash(value); return *this;}
///@}
///@{
/**
* <p>The hash algorithm used to calculate the hash value.</p>
*/
inline const AttachmentHashType& GetHashType() const{ return m_hashType; }
inline bool HashTypeHasBeenSet() const { return m_hashTypeHasBeenSet; }
inline void SetHashType(const AttachmentHashType& value) { m_hashTypeHasBeenSet = true; m_hashType = value; }
inline void SetHashType(AttachmentHashType&& value) { m_hashTypeHasBeenSet = true; m_hashType = std::move(value); }
inline AttachmentContent& WithHashType(const AttachmentHashType& value) { SetHashType(value); return *this;}
inline AttachmentContent& WithHashType(AttachmentHashType&& value) { SetHashType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The URL location of the attachment content.</p>
*/
inline const Aws::String& GetUrl() const{ return m_url; }
inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; }
inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); }
inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); }
inline AttachmentContent& WithUrl(const Aws::String& value) { SetUrl(value); return *this;}
inline AttachmentContent& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;}
inline AttachmentContent& WithUrl(const char* value) { SetUrl(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
long long m_size;
bool m_sizeHasBeenSet = false;
Aws::String m_hash;
bool m_hashHasBeenSet = false;
AttachmentHashType m_hashType;
bool m_hashTypeHasBeenSet = false;
Aws::String m_url;
bool m_urlHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AttachmentHashType
{
NOT_SET,
Sha256
};
namespace AttachmentHashTypeMapper
{
AWS_SSM_API AttachmentHashType GetAttachmentHashTypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAttachmentHashType(AttachmentHashType value);
} // namespace AttachmentHashTypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,62 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>An attribute of an attachment, such as the attachment name.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AttachmentInformation">AWS
* API Reference</a></p>
*/
class AttachmentInformation
{
public:
AWS_SSM_API AttachmentInformation();
AWS_SSM_API AttachmentInformation(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AttachmentInformation& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the attachment.</p>
*/
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 AttachmentInformation& WithName(const Aws::String& value) { SetName(value); return *this;}
inline AttachmentInformation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline AttachmentInformation& WithName(const char* value) { SetName(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,114 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AttachmentsSourceKey.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Identifying information about a document attachment, including the file name
* and a key-value pair that identifies the location of an attachment to a
* document.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AttachmentsSource">AWS
* API Reference</a></p>
*/
class AttachmentsSource
{
public:
AWS_SSM_API AttachmentsSource();
AWS_SSM_API AttachmentsSource(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AttachmentsSource& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The key of a key-value pair that identifies the location of an attachment to
* a document.</p>
*/
inline const AttachmentsSourceKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const AttachmentsSourceKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(AttachmentsSourceKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline AttachmentsSource& WithKey(const AttachmentsSourceKey& value) { SetKey(value); return *this;}
inline AttachmentsSource& WithKey(AttachmentsSourceKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The value of a key-value pair that identifies the location of an attachment
* to a document. The format for <b>Value</b> depends on the type of key you
* specify.</p> <ul> <li> <p>For the key <i>SourceUrl</i>, the value is an S3
* bucket location. For example:</p> <p> <code>"Values": [
* "s3://amzn-s3-demo-bucket/my-prefix" ]</code> </p> </li> <li> <p>For the key
* <i>S3FileUrl</i>, the value is a file in an S3 bucket. For example:</p> <p>
* <code>"Values": [ "s3://amzn-s3-demo-bucket/my-prefix/my-file.py" ]</code> </p>
* </li> <li> <p>For the key <i>AttachmentReference</i>, the value is constructed
* from the name of another SSM document in your account, a version number of that
* document, and a file attached to that document version that you want to reuse.
* For example:</p> <p> <code>"Values": [ "MyOtherDocument/3/my-other-file.py"
* ]</code> </p> <p>However, if the SSM document is shared with you from another
* account, the full SSM document ARN must be specified instead of the document
* name only. For example:</p> <p> <code>"Values": [
* "arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py"
* ]</code> </p> </li> </ul>
*/
inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; }
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; }
inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
inline AttachmentsSource& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;}
inline AttachmentsSource& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;}
inline AttachmentsSource& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
inline AttachmentsSource& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; }
inline AttachmentsSource& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
///@}
///@{
/**
* <p>The name of the document attachment file.</p>
*/
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 AttachmentsSource& WithName(const Aws::String& value) { SetName(value); return *this;}
inline AttachmentsSource& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline AttachmentsSource& WithName(const char* value) { SetName(value); return *this;}
///@}
private:
AttachmentsSourceKey m_key;
bool m_keyHasBeenSet = false;
Aws::Vector<Aws::String> m_values;
bool m_valuesHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AttachmentsSourceKey
{
NOT_SET,
SourceUrl,
S3FileUrl,
AttachmentReference
};
namespace AttachmentsSourceKeyMapper
{
AWS_SSM_API AttachmentsSourceKey GetAttachmentsSourceKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAttachmentsSourceKey(AttachmentsSourceKey value);
} // namespace AttachmentsSourceKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,662 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/AutomationExecutionStatus.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/ssm/model/ExecutionMode.h>
#include <aws/ssm/model/ResolvedTargets.h>
#include <aws/ssm/model/ProgressCounters.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/AutomationSubtype.h>
#include <aws/ssm/model/StepExecution.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/TargetLocation.h>
#include <aws/ssm/model/AlarmStateInformation.h>
#include <aws/ssm/model/Runbook.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Detailed information about the current state of an individual Automation
* execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecution">AWS
* API Reference</a></p>
*/
class AutomationExecution
{
public:
AWS_SSM_API AutomationExecution();
AWS_SSM_API AutomationExecution(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AutomationExecution& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The execution ID.</p>
*/
inline const Aws::String& GetAutomationExecutionId() const{ return m_automationExecutionId; }
inline bool AutomationExecutionIdHasBeenSet() const { return m_automationExecutionIdHasBeenSet; }
inline void SetAutomationExecutionId(const Aws::String& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = value; }
inline void SetAutomationExecutionId(Aws::String&& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = std::move(value); }
inline void SetAutomationExecutionId(const char* value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId.assign(value); }
inline AutomationExecution& WithAutomationExecutionId(const Aws::String& value) { SetAutomationExecutionId(value); return *this;}
inline AutomationExecution& WithAutomationExecutionId(Aws::String&& value) { SetAutomationExecutionId(std::move(value)); return *this;}
inline AutomationExecution& WithAutomationExecutionId(const char* value) { SetAutomationExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Automation runbook used during the execution.</p>
*/
inline const Aws::String& GetDocumentName() const{ return m_documentName; }
inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; }
inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; }
inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); }
inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); }
inline AutomationExecution& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;}
inline AutomationExecution& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;}
inline AutomationExecution& WithDocumentName(const char* value) { SetDocumentName(value); return *this;}
///@}
///@{
/**
* <p>The version of the document to use during execution.</p>
*/
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 AutomationExecution& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline AutomationExecution& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline AutomationExecution& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The time the execution started.</p>
*/
inline const Aws::Utils::DateTime& GetExecutionStartTime() const{ return m_executionStartTime; }
inline bool ExecutionStartTimeHasBeenSet() const { return m_executionStartTimeHasBeenSet; }
inline void SetExecutionStartTime(const Aws::Utils::DateTime& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = value; }
inline void SetExecutionStartTime(Aws::Utils::DateTime&& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = std::move(value); }
inline AutomationExecution& WithExecutionStartTime(const Aws::Utils::DateTime& value) { SetExecutionStartTime(value); return *this;}
inline AutomationExecution& WithExecutionStartTime(Aws::Utils::DateTime&& value) { SetExecutionStartTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time the execution finished.</p>
*/
inline const Aws::Utils::DateTime& GetExecutionEndTime() const{ return m_executionEndTime; }
inline bool ExecutionEndTimeHasBeenSet() const { return m_executionEndTimeHasBeenSet; }
inline void SetExecutionEndTime(const Aws::Utils::DateTime& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = value; }
inline void SetExecutionEndTime(Aws::Utils::DateTime&& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = std::move(value); }
inline AutomationExecution& WithExecutionEndTime(const Aws::Utils::DateTime& value) { SetExecutionEndTime(value); return *this;}
inline AutomationExecution& WithExecutionEndTime(Aws::Utils::DateTime&& value) { SetExecutionEndTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The execution status of the Automation.</p>
*/
inline const AutomationExecutionStatus& GetAutomationExecutionStatus() const{ return m_automationExecutionStatus; }
inline bool AutomationExecutionStatusHasBeenSet() const { return m_automationExecutionStatusHasBeenSet; }
inline void SetAutomationExecutionStatus(const AutomationExecutionStatus& value) { m_automationExecutionStatusHasBeenSet = true; m_automationExecutionStatus = value; }
inline void SetAutomationExecutionStatus(AutomationExecutionStatus&& value) { m_automationExecutionStatusHasBeenSet = true; m_automationExecutionStatus = std::move(value); }
inline AutomationExecution& WithAutomationExecutionStatus(const AutomationExecutionStatus& value) { SetAutomationExecutionStatus(value); return *this;}
inline AutomationExecution& WithAutomationExecutionStatus(AutomationExecutionStatus&& value) { SetAutomationExecutionStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of details about the current state of all steps that comprise an
* execution. An Automation runbook contains a list of steps that are run in
* order.</p>
*/
inline const Aws::Vector<StepExecution>& GetStepExecutions() const{ return m_stepExecutions; }
inline bool StepExecutionsHasBeenSet() const { return m_stepExecutionsHasBeenSet; }
inline void SetStepExecutions(const Aws::Vector<StepExecution>& value) { m_stepExecutionsHasBeenSet = true; m_stepExecutions = value; }
inline void SetStepExecutions(Aws::Vector<StepExecution>&& value) { m_stepExecutionsHasBeenSet = true; m_stepExecutions = std::move(value); }
inline AutomationExecution& WithStepExecutions(const Aws::Vector<StepExecution>& value) { SetStepExecutions(value); return *this;}
inline AutomationExecution& WithStepExecutions(Aws::Vector<StepExecution>&& value) { SetStepExecutions(std::move(value)); return *this;}
inline AutomationExecution& AddStepExecutions(const StepExecution& value) { m_stepExecutionsHasBeenSet = true; m_stepExecutions.push_back(value); return *this; }
inline AutomationExecution& AddStepExecutions(StepExecution&& value) { m_stepExecutionsHasBeenSet = true; m_stepExecutions.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A boolean value that indicates if the response contains the full list of the
* Automation step executions. If true, use the DescribeAutomationStepExecutions
* API operation to get the full list of step executions.</p>
*/
inline bool GetStepExecutionsTruncated() const{ return m_stepExecutionsTruncated; }
inline bool StepExecutionsTruncatedHasBeenSet() const { return m_stepExecutionsTruncatedHasBeenSet; }
inline void SetStepExecutionsTruncated(bool value) { m_stepExecutionsTruncatedHasBeenSet = true; m_stepExecutionsTruncated = value; }
inline AutomationExecution& WithStepExecutionsTruncated(bool value) { SetStepExecutionsTruncated(value); return *this;}
///@}
///@{
/**
* <p>The key-value map of execution parameters, which were supplied when calling
* <a>StartAutomationExecution</a>.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline AutomationExecution& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline AutomationExecution& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline AutomationExecution& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline AutomationExecution& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline AutomationExecution& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline AutomationExecution& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The list of execution outputs as defined in the Automation runbook.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetOutputs() const{ return m_outputs; }
inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; }
inline void SetOutputs(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_outputsHasBeenSet = true; m_outputs = value; }
inline void SetOutputs(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); }
inline AutomationExecution& WithOutputs(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetOutputs(value); return *this;}
inline AutomationExecution& WithOutputs(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetOutputs(std::move(value)); return *this;}
inline AutomationExecution& AddOutputs(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; }
inline AutomationExecution& AddOutputs(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), value); return *this; }
inline AutomationExecution& AddOutputs(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddOutputs(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), std::move(value)); return *this; }
inline AutomationExecution& AddOutputs(const char* key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddOutputs(const char* key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A message describing why an execution has failed, if the status is set to
* Failed.</p>
*/
inline const Aws::String& GetFailureMessage() const{ return m_failureMessage; }
inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; }
inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; }
inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::move(value); }
inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); }
inline AutomationExecution& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;}
inline AutomationExecution& WithFailureMessage(Aws::String&& value) { SetFailureMessage(std::move(value)); return *this;}
inline AutomationExecution& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;}
///@}
///@{
/**
* <p>The automation execution mode.</p>
*/
inline const ExecutionMode& GetMode() const{ return m_mode; }
inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
inline void SetMode(const ExecutionMode& value) { m_modeHasBeenSet = true; m_mode = value; }
inline void SetMode(ExecutionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); }
inline AutomationExecution& WithMode(const ExecutionMode& value) { SetMode(value); return *this;}
inline AutomationExecution& WithMode(ExecutionMode&& value) { SetMode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The AutomationExecutionId of the parent automation.</p>
*/
inline const Aws::String& GetParentAutomationExecutionId() const{ return m_parentAutomationExecutionId; }
inline bool ParentAutomationExecutionIdHasBeenSet() const { return m_parentAutomationExecutionIdHasBeenSet; }
inline void SetParentAutomationExecutionId(const Aws::String& value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId = value; }
inline void SetParentAutomationExecutionId(Aws::String&& value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId = std::move(value); }
inline void SetParentAutomationExecutionId(const char* value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId.assign(value); }
inline AutomationExecution& WithParentAutomationExecutionId(const Aws::String& value) { SetParentAutomationExecutionId(value); return *this;}
inline AutomationExecution& WithParentAutomationExecutionId(Aws::String&& value) { SetParentAutomationExecutionId(std::move(value)); return *this;}
inline AutomationExecution& WithParentAutomationExecutionId(const char* value) { SetParentAutomationExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of the user who ran the automation.</p>
*/
inline const Aws::String& GetExecutedBy() const{ return m_executedBy; }
inline bool ExecutedByHasBeenSet() const { return m_executedByHasBeenSet; }
inline void SetExecutedBy(const Aws::String& value) { m_executedByHasBeenSet = true; m_executedBy = value; }
inline void SetExecutedBy(Aws::String&& value) { m_executedByHasBeenSet = true; m_executedBy = std::move(value); }
inline void SetExecutedBy(const char* value) { m_executedByHasBeenSet = true; m_executedBy.assign(value); }
inline AutomationExecution& WithExecutedBy(const Aws::String& value) { SetExecutedBy(value); return *this;}
inline AutomationExecution& WithExecutedBy(Aws::String&& value) { SetExecutedBy(std::move(value)); return *this;}
inline AutomationExecution& WithExecutedBy(const char* value) { SetExecutedBy(value); return *this;}
///@}
///@{
/**
* <p>The name of the step that is currently running.</p>
*/
inline const Aws::String& GetCurrentStepName() const{ return m_currentStepName; }
inline bool CurrentStepNameHasBeenSet() const { return m_currentStepNameHasBeenSet; }
inline void SetCurrentStepName(const Aws::String& value) { m_currentStepNameHasBeenSet = true; m_currentStepName = value; }
inline void SetCurrentStepName(Aws::String&& value) { m_currentStepNameHasBeenSet = true; m_currentStepName = std::move(value); }
inline void SetCurrentStepName(const char* value) { m_currentStepNameHasBeenSet = true; m_currentStepName.assign(value); }
inline AutomationExecution& WithCurrentStepName(const Aws::String& value) { SetCurrentStepName(value); return *this;}
inline AutomationExecution& WithCurrentStepName(Aws::String&& value) { SetCurrentStepName(std::move(value)); return *this;}
inline AutomationExecution& WithCurrentStepName(const char* value) { SetCurrentStepName(value); return *this;}
///@}
///@{
/**
* <p>The action of the step that is currently running.</p>
*/
inline const Aws::String& GetCurrentAction() const{ return m_currentAction; }
inline bool CurrentActionHasBeenSet() const { return m_currentActionHasBeenSet; }
inline void SetCurrentAction(const Aws::String& value) { m_currentActionHasBeenSet = true; m_currentAction = value; }
inline void SetCurrentAction(Aws::String&& value) { m_currentActionHasBeenSet = true; m_currentAction = std::move(value); }
inline void SetCurrentAction(const char* value) { m_currentActionHasBeenSet = true; m_currentAction.assign(value); }
inline AutomationExecution& WithCurrentAction(const Aws::String& value) { SetCurrentAction(value); return *this;}
inline AutomationExecution& WithCurrentAction(Aws::String&& value) { SetCurrentAction(std::move(value)); return *this;}
inline AutomationExecution& WithCurrentAction(const char* value) { SetCurrentAction(value); return *this;}
///@}
///@{
/**
* <p>The parameter name.</p>
*/
inline const Aws::String& GetTargetParameterName() const{ return m_targetParameterName; }
inline bool TargetParameterNameHasBeenSet() const { return m_targetParameterNameHasBeenSet; }
inline void SetTargetParameterName(const Aws::String& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = value; }
inline void SetTargetParameterName(Aws::String&& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = std::move(value); }
inline void SetTargetParameterName(const char* value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName.assign(value); }
inline AutomationExecution& WithTargetParameterName(const Aws::String& value) { SetTargetParameterName(value); return *this;}
inline AutomationExecution& WithTargetParameterName(Aws::String&& value) { SetTargetParameterName(std::move(value)); return *this;}
inline AutomationExecution& WithTargetParameterName(const char* value) { SetTargetParameterName(value); return *this;}
///@}
///@{
/**
* <p>The specified targets.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline AutomationExecution& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline AutomationExecution& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline AutomationExecution& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline AutomationExecution& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The specified key-value mapping of document parameters to target
* resources.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline AutomationExecution& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline AutomationExecution& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline AutomationExecution& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline AutomationExecution& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A list of resolved targets in the rate control execution.</p>
*/
inline const ResolvedTargets& GetResolvedTargets() const{ return m_resolvedTargets; }
inline bool ResolvedTargetsHasBeenSet() const { return m_resolvedTargetsHasBeenSet; }
inline void SetResolvedTargets(const ResolvedTargets& value) { m_resolvedTargetsHasBeenSet = true; m_resolvedTargets = value; }
inline void SetResolvedTargets(ResolvedTargets&& value) { m_resolvedTargetsHasBeenSet = true; m_resolvedTargets = std::move(value); }
inline AutomationExecution& WithResolvedTargets(const ResolvedTargets& value) { SetResolvedTargets(value); return *this;}
inline AutomationExecution& WithResolvedTargets(ResolvedTargets&& value) { SetResolvedTargets(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The <code>MaxConcurrency</code> value specified by the user when the
* execution started.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline AutomationExecution& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline AutomationExecution& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline AutomationExecution& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The MaxErrors value specified by the user when the execution started.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline AutomationExecution& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline AutomationExecution& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline AutomationExecution& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>The target of the execution.</p>
*/
inline const Aws::String& GetTarget() const{ return m_target; }
inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; }
inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); }
inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); }
inline AutomationExecution& WithTarget(const Aws::String& value) { SetTarget(value); return *this;}
inline AutomationExecution& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;}
inline AutomationExecution& WithTarget(const char* value) { SetTarget(value); return *this;}
///@}
///@{
/**
* <p>The combination of Amazon Web Services Regions and/or Amazon Web Services
* accounts where you want to run the Automation.</p>
*/
inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
inline AutomationExecution& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
inline AutomationExecution& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
inline AutomationExecution& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
inline AutomationExecution& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>An aggregate of step execution statuses displayed in the Amazon Web Services
* Systems Manager console for a multi-Region and multi-account Automation
* execution.</p>
*/
inline const ProgressCounters& GetProgressCounters() const{ return m_progressCounters; }
inline bool ProgressCountersHasBeenSet() const { return m_progressCountersHasBeenSet; }
inline void SetProgressCounters(const ProgressCounters& value) { m_progressCountersHasBeenSet = true; m_progressCounters = value; }
inline void SetProgressCounters(ProgressCounters&& value) { m_progressCountersHasBeenSet = true; m_progressCounters = std::move(value); }
inline AutomationExecution& WithProgressCounters(const ProgressCounters& value) { SetProgressCounters(value); return *this;}
inline AutomationExecution& WithProgressCounters(ProgressCounters&& value) { SetProgressCounters(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The details for the CloudWatch alarm applied to your automation.</p>
*/
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline AutomationExecution& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline AutomationExecution& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The CloudWatch alarm that was invoked by the automation.</p>
*/
inline const Aws::Vector<AlarmStateInformation>& GetTriggeredAlarms() const{ return m_triggeredAlarms; }
inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; }
inline void SetTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; }
inline void SetTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); }
inline AutomationExecution& WithTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { SetTriggeredAlarms(value); return *this;}
inline AutomationExecution& WithTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { SetTriggeredAlarms(std::move(value)); return *this;}
inline AutomationExecution& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; }
inline AutomationExecution& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A publicly accessible URL for a file that contains the
* <code>TargetLocations</code> body. Currently, only files in presigned Amazon S3
* buckets are supported</p>
*/
inline const Aws::String& GetTargetLocationsURL() const{ return m_targetLocationsURL; }
inline bool TargetLocationsURLHasBeenSet() const { return m_targetLocationsURLHasBeenSet; }
inline void SetTargetLocationsURL(const Aws::String& value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL = value; }
inline void SetTargetLocationsURL(Aws::String&& value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL = std::move(value); }
inline void SetTargetLocationsURL(const char* value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL.assign(value); }
inline AutomationExecution& WithTargetLocationsURL(const Aws::String& value) { SetTargetLocationsURL(value); return *this;}
inline AutomationExecution& WithTargetLocationsURL(Aws::String&& value) { SetTargetLocationsURL(std::move(value)); return *this;}
inline AutomationExecution& WithTargetLocationsURL(const char* value) { SetTargetLocationsURL(value); return *this;}
///@}
///@{
/**
* <p>The subtype of the Automation operation. Currently, the only supported value
* is <code>ChangeRequest</code>.</p>
*/
inline const AutomationSubtype& GetAutomationSubtype() const{ return m_automationSubtype; }
inline bool AutomationSubtypeHasBeenSet() const { return m_automationSubtypeHasBeenSet; }
inline void SetAutomationSubtype(const AutomationSubtype& value) { m_automationSubtypeHasBeenSet = true; m_automationSubtype = value; }
inline void SetAutomationSubtype(AutomationSubtype&& value) { m_automationSubtypeHasBeenSet = true; m_automationSubtype = std::move(value); }
inline AutomationExecution& WithAutomationSubtype(const AutomationSubtype& value) { SetAutomationSubtype(value); return *this;}
inline AutomationExecution& WithAutomationSubtype(AutomationSubtype&& value) { SetAutomationSubtype(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The date and time the Automation operation is scheduled to start.</p>
*/
inline const Aws::Utils::DateTime& GetScheduledTime() const{ return m_scheduledTime; }
inline bool ScheduledTimeHasBeenSet() const { return m_scheduledTimeHasBeenSet; }
inline void SetScheduledTime(const Aws::Utils::DateTime& value) { m_scheduledTimeHasBeenSet = true; m_scheduledTime = value; }
inline void SetScheduledTime(Aws::Utils::DateTime&& value) { m_scheduledTimeHasBeenSet = true; m_scheduledTime = std::move(value); }
inline AutomationExecution& WithScheduledTime(const Aws::Utils::DateTime& value) { SetScheduledTime(value); return *this;}
inline AutomationExecution& WithScheduledTime(Aws::Utils::DateTime&& value) { SetScheduledTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Information about the Automation runbooks that are run as part of a runbook
* workflow.</p> <p>The Automation runbooks specified for the runbook
* workflow can't run until all required approvals for the change request have been
* received.</p>
*/
inline const Aws::Vector<Runbook>& GetRunbooks() const{ return m_runbooks; }
inline bool RunbooksHasBeenSet() const { return m_runbooksHasBeenSet; }
inline void SetRunbooks(const Aws::Vector<Runbook>& value) { m_runbooksHasBeenSet = true; m_runbooks = value; }
inline void SetRunbooks(Aws::Vector<Runbook>&& value) { m_runbooksHasBeenSet = true; m_runbooks = std::move(value); }
inline AutomationExecution& WithRunbooks(const Aws::Vector<Runbook>& value) { SetRunbooks(value); return *this;}
inline AutomationExecution& WithRunbooks(Aws::Vector<Runbook>&& value) { SetRunbooks(std::move(value)); return *this;}
inline AutomationExecution& AddRunbooks(const Runbook& value) { m_runbooksHasBeenSet = true; m_runbooks.push_back(value); return *this; }
inline AutomationExecution& AddRunbooks(Runbook&& value) { m_runbooksHasBeenSet = true; m_runbooks.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The ID of an OpsItem that is created to represent a Change Manager change
* request.</p>
*/
inline const Aws::String& GetOpsItemId() const{ return m_opsItemId; }
inline bool OpsItemIdHasBeenSet() const { return m_opsItemIdHasBeenSet; }
inline void SetOpsItemId(const Aws::String& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = value; }
inline void SetOpsItemId(Aws::String&& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = std::move(value); }
inline void SetOpsItemId(const char* value) { m_opsItemIdHasBeenSet = true; m_opsItemId.assign(value); }
inline AutomationExecution& WithOpsItemId(const Aws::String& value) { SetOpsItemId(value); return *this;}
inline AutomationExecution& WithOpsItemId(Aws::String&& value) { SetOpsItemId(std::move(value)); return *this;}
inline AutomationExecution& WithOpsItemId(const char* value) { SetOpsItemId(value); return *this;}
///@}
///@{
/**
* <p>The ID of a State Manager association used in the Automation operation.</p>
*/
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 AutomationExecution& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AutomationExecution& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AutomationExecution& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Change Manager change request.</p>
*/
inline const Aws::String& GetChangeRequestName() const{ return m_changeRequestName; }
inline bool ChangeRequestNameHasBeenSet() const { return m_changeRequestNameHasBeenSet; }
inline void SetChangeRequestName(const Aws::String& value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName = value; }
inline void SetChangeRequestName(Aws::String&& value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName = std::move(value); }
inline void SetChangeRequestName(const char* value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName.assign(value); }
inline AutomationExecution& WithChangeRequestName(const Aws::String& value) { SetChangeRequestName(value); return *this;}
inline AutomationExecution& WithChangeRequestName(Aws::String&& value) { SetChangeRequestName(std::move(value)); return *this;}
inline AutomationExecution& WithChangeRequestName(const char* value) { SetChangeRequestName(value); return *this;}
///@}
///@{
/**
* <p>Variables defined for the automation.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetVariables() const{ return m_variables; }
inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; }
inline void SetVariables(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_variablesHasBeenSet = true; m_variables = value; }
inline void SetVariables(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_variablesHasBeenSet = true; m_variables = std::move(value); }
inline AutomationExecution& WithVariables(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetVariables(value); return *this;}
inline AutomationExecution& WithVariables(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetVariables(std::move(value)); return *this;}
inline AutomationExecution& AddVariables(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
inline AutomationExecution& AddVariables(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; }
inline AutomationExecution& AddVariables(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddVariables(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), std::move(value)); return *this; }
inline AutomationExecution& AddVariables(const char* key, Aws::Vector<Aws::String>&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline AutomationExecution& AddVariables(const char* key, const Aws::Vector<Aws::String>& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
///@}
private:
Aws::String m_automationExecutionId;
bool m_automationExecutionIdHasBeenSet = false;
Aws::String m_documentName;
bool m_documentNameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Utils::DateTime m_executionStartTime;
bool m_executionStartTimeHasBeenSet = false;
Aws::Utils::DateTime m_executionEndTime;
bool m_executionEndTimeHasBeenSet = false;
AutomationExecutionStatus m_automationExecutionStatus;
bool m_automationExecutionStatusHasBeenSet = false;
Aws::Vector<StepExecution> m_stepExecutions;
bool m_stepExecutionsHasBeenSet = false;
bool m_stepExecutionsTruncated;
bool m_stepExecutionsTruncatedHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_outputs;
bool m_outputsHasBeenSet = false;
Aws::String m_failureMessage;
bool m_failureMessageHasBeenSet = false;
ExecutionMode m_mode;
bool m_modeHasBeenSet = false;
Aws::String m_parentAutomationExecutionId;
bool m_parentAutomationExecutionIdHasBeenSet = false;
Aws::String m_executedBy;
bool m_executedByHasBeenSet = false;
Aws::String m_currentStepName;
bool m_currentStepNameHasBeenSet = false;
Aws::String m_currentAction;
bool m_currentActionHasBeenSet = false;
Aws::String m_targetParameterName;
bool m_targetParameterNameHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
ResolvedTargets m_resolvedTargets;
bool m_resolvedTargetsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_target;
bool m_targetHasBeenSet = false;
Aws::Vector<TargetLocation> m_targetLocations;
bool m_targetLocationsHasBeenSet = false;
ProgressCounters m_progressCounters;
bool m_progressCountersHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
Aws::Vector<AlarmStateInformation> m_triggeredAlarms;
bool m_triggeredAlarmsHasBeenSet = false;
Aws::String m_targetLocationsURL;
bool m_targetLocationsURLHasBeenSet = false;
AutomationSubtype m_automationSubtype;
bool m_automationSubtypeHasBeenSet = false;
Aws::Utils::DateTime m_scheduledTime;
bool m_scheduledTimeHasBeenSet = false;
Aws::Vector<Runbook> m_runbooks;
bool m_runbooksHasBeenSet = false;
Aws::String m_opsItemId;
bool m_opsItemIdHasBeenSet = false;
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_changeRequestName;
bool m_changeRequestNameHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_variables;
bool m_variablesHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,82 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AutomationExecutionFilterKey.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A filter used to match specific automation executions. This is used to limit
* the scope of Automation execution information returned.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecutionFilter">AWS
* API Reference</a></p>
*/
class AutomationExecutionFilter
{
public:
AWS_SSM_API AutomationExecutionFilter();
AWS_SSM_API AutomationExecutionFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AutomationExecutionFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>One or more keys to limit the results.</p>
*/
inline const AutomationExecutionFilterKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const AutomationExecutionFilterKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(AutomationExecutionFilterKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline AutomationExecutionFilter& WithKey(const AutomationExecutionFilterKey& value) { SetKey(value); return *this;}
inline AutomationExecutionFilter& WithKey(AutomationExecutionFilterKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The values used to limit the execution information associated with the
* filter's key.</p>
*/
inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; }
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; }
inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
inline AutomationExecutionFilter& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;}
inline AutomationExecutionFilter& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;}
inline AutomationExecutionFilter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
inline AutomationExecutionFilter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; }
inline AutomationExecutionFilter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
///@}
private:
AutomationExecutionFilterKey m_key;
bool m_keyHasBeenSet = false;
Aws::Vector<Aws::String> m_values;
bool m_valuesHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AutomationExecutionFilterKey
{
NOT_SET,
DocumentNamePrefix,
ExecutionStatus,
ExecutionId,
ParentExecutionId,
CurrentAction,
StartTimeBefore,
StartTimeAfter,
AutomationType,
TagKey,
TargetResourceGroup,
AutomationSubtype,
OpsItemId
};
namespace AutomationExecutionFilterKeyMapper
{
AWS_SSM_API AutomationExecutionFilterKey GetAutomationExecutionFilterKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAutomationExecutionFilterKey(AutomationExecutionFilterKey value);
} // namespace AutomationExecutionFilterKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,586 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/AutomationExecutionStatus.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/ssm/model/ExecutionMode.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/ResolvedTargets.h>
#include <aws/ssm/model/AutomationType.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/AutomationSubtype.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/AlarmStateInformation.h>
#include <aws/ssm/model/Runbook.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Details about a specific Automation execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AutomationExecutionMetadata">AWS
* API Reference</a></p>
*/
class AutomationExecutionMetadata
{
public:
AWS_SSM_API AutomationExecutionMetadata();
AWS_SSM_API AutomationExecutionMetadata(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API AutomationExecutionMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The execution ID.</p>
*/
inline const Aws::String& GetAutomationExecutionId() const{ return m_automationExecutionId; }
inline bool AutomationExecutionIdHasBeenSet() const { return m_automationExecutionIdHasBeenSet; }
inline void SetAutomationExecutionId(const Aws::String& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = value; }
inline void SetAutomationExecutionId(Aws::String&& value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId = std::move(value); }
inline void SetAutomationExecutionId(const char* value) { m_automationExecutionIdHasBeenSet = true; m_automationExecutionId.assign(value); }
inline AutomationExecutionMetadata& WithAutomationExecutionId(const Aws::String& value) { SetAutomationExecutionId(value); return *this;}
inline AutomationExecutionMetadata& WithAutomationExecutionId(Aws::String&& value) { SetAutomationExecutionId(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithAutomationExecutionId(const char* value) { SetAutomationExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Automation runbook used during execution.</p>
*/
inline const Aws::String& GetDocumentName() const{ return m_documentName; }
inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; }
inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; }
inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); }
inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); }
inline AutomationExecutionMetadata& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;}
inline AutomationExecutionMetadata& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithDocumentName(const char* value) { SetDocumentName(value); return *this;}
///@}
///@{
/**
* <p>The document version used during the execution.</p>
*/
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 AutomationExecutionMetadata& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline AutomationExecutionMetadata& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The status of the execution.</p>
*/
inline const AutomationExecutionStatus& GetAutomationExecutionStatus() const{ return m_automationExecutionStatus; }
inline bool AutomationExecutionStatusHasBeenSet() const { return m_automationExecutionStatusHasBeenSet; }
inline void SetAutomationExecutionStatus(const AutomationExecutionStatus& value) { m_automationExecutionStatusHasBeenSet = true; m_automationExecutionStatus = value; }
inline void SetAutomationExecutionStatus(AutomationExecutionStatus&& value) { m_automationExecutionStatusHasBeenSet = true; m_automationExecutionStatus = std::move(value); }
inline AutomationExecutionMetadata& WithAutomationExecutionStatus(const AutomationExecutionStatus& value) { SetAutomationExecutionStatus(value); return *this;}
inline AutomationExecutionMetadata& WithAutomationExecutionStatus(AutomationExecutionStatus&& value) { SetAutomationExecutionStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time the execution started.</p>
*/
inline const Aws::Utils::DateTime& GetExecutionStartTime() const{ return m_executionStartTime; }
inline bool ExecutionStartTimeHasBeenSet() const { return m_executionStartTimeHasBeenSet; }
inline void SetExecutionStartTime(const Aws::Utils::DateTime& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = value; }
inline void SetExecutionStartTime(Aws::Utils::DateTime&& value) { m_executionStartTimeHasBeenSet = true; m_executionStartTime = std::move(value); }
inline AutomationExecutionMetadata& WithExecutionStartTime(const Aws::Utils::DateTime& value) { SetExecutionStartTime(value); return *this;}
inline AutomationExecutionMetadata& WithExecutionStartTime(Aws::Utils::DateTime&& value) { SetExecutionStartTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time the execution finished. This isn't populated if the execution is
* still in progress.</p>
*/
inline const Aws::Utils::DateTime& GetExecutionEndTime() const{ return m_executionEndTime; }
inline bool ExecutionEndTimeHasBeenSet() const { return m_executionEndTimeHasBeenSet; }
inline void SetExecutionEndTime(const Aws::Utils::DateTime& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = value; }
inline void SetExecutionEndTime(Aws::Utils::DateTime&& value) { m_executionEndTimeHasBeenSet = true; m_executionEndTime = std::move(value); }
inline AutomationExecutionMetadata& WithExecutionEndTime(const Aws::Utils::DateTime& value) { SetExecutionEndTime(value); return *this;}
inline AutomationExecutionMetadata& WithExecutionEndTime(Aws::Utils::DateTime&& value) { SetExecutionEndTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The IAM role ARN of the user who ran the automation.</p>
*/
inline const Aws::String& GetExecutedBy() const{ return m_executedBy; }
inline bool ExecutedByHasBeenSet() const { return m_executedByHasBeenSet; }
inline void SetExecutedBy(const Aws::String& value) { m_executedByHasBeenSet = true; m_executedBy = value; }
inline void SetExecutedBy(Aws::String&& value) { m_executedByHasBeenSet = true; m_executedBy = std::move(value); }
inline void SetExecutedBy(const char* value) { m_executedByHasBeenSet = true; m_executedBy.assign(value); }
inline AutomationExecutionMetadata& WithExecutedBy(const Aws::String& value) { SetExecutedBy(value); return *this;}
inline AutomationExecutionMetadata& WithExecutedBy(Aws::String&& value) { SetExecutedBy(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithExecutedBy(const char* value) { SetExecutedBy(value); return *this;}
///@}
///@{
/**
* <p>An S3 bucket where execution information is stored.</p>
*/
inline const Aws::String& GetLogFile() const{ return m_logFile; }
inline bool LogFileHasBeenSet() const { return m_logFileHasBeenSet; }
inline void SetLogFile(const Aws::String& value) { m_logFileHasBeenSet = true; m_logFile = value; }
inline void SetLogFile(Aws::String&& value) { m_logFileHasBeenSet = true; m_logFile = std::move(value); }
inline void SetLogFile(const char* value) { m_logFileHasBeenSet = true; m_logFile.assign(value); }
inline AutomationExecutionMetadata& WithLogFile(const Aws::String& value) { SetLogFile(value); return *this;}
inline AutomationExecutionMetadata& WithLogFile(Aws::String&& value) { SetLogFile(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithLogFile(const char* value) { SetLogFile(value); return *this;}
///@}
///@{
/**
* <p>The list of execution outputs as defined in the Automation runbook.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetOutputs() const{ return m_outputs; }
inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; }
inline void SetOutputs(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_outputsHasBeenSet = true; m_outputs = value; }
inline void SetOutputs(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); }
inline AutomationExecutionMetadata& WithOutputs(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetOutputs(value); return *this;}
inline AutomationExecutionMetadata& WithOutputs(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetOutputs(std::move(value)); return *this;}
inline AutomationExecutionMetadata& AddOutputs(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; }
inline AutomationExecutionMetadata& AddOutputs(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), value); return *this; }
inline AutomationExecutionMetadata& AddOutputs(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; }
inline AutomationExecutionMetadata& AddOutputs(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(std::move(key), std::move(value)); return *this; }
inline AutomationExecutionMetadata& AddOutputs(const char* key, Aws::Vector<Aws::String>&& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, std::move(value)); return *this; }
inline AutomationExecutionMetadata& AddOutputs(const char* key, const Aws::Vector<Aws::String>& value) { m_outputsHasBeenSet = true; m_outputs.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The Automation execution mode.</p>
*/
inline const ExecutionMode& GetMode() const{ return m_mode; }
inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
inline void SetMode(const ExecutionMode& value) { m_modeHasBeenSet = true; m_mode = value; }
inline void SetMode(ExecutionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); }
inline AutomationExecutionMetadata& WithMode(const ExecutionMode& value) { SetMode(value); return *this;}
inline AutomationExecutionMetadata& WithMode(ExecutionMode&& value) { SetMode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The execution ID of the parent automation.</p>
*/
inline const Aws::String& GetParentAutomationExecutionId() const{ return m_parentAutomationExecutionId; }
inline bool ParentAutomationExecutionIdHasBeenSet() const { return m_parentAutomationExecutionIdHasBeenSet; }
inline void SetParentAutomationExecutionId(const Aws::String& value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId = value; }
inline void SetParentAutomationExecutionId(Aws::String&& value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId = std::move(value); }
inline void SetParentAutomationExecutionId(const char* value) { m_parentAutomationExecutionIdHasBeenSet = true; m_parentAutomationExecutionId.assign(value); }
inline AutomationExecutionMetadata& WithParentAutomationExecutionId(const Aws::String& value) { SetParentAutomationExecutionId(value); return *this;}
inline AutomationExecutionMetadata& WithParentAutomationExecutionId(Aws::String&& value) { SetParentAutomationExecutionId(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithParentAutomationExecutionId(const char* value) { SetParentAutomationExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The name of the step that is currently running.</p>
*/
inline const Aws::String& GetCurrentStepName() const{ return m_currentStepName; }
inline bool CurrentStepNameHasBeenSet() const { return m_currentStepNameHasBeenSet; }
inline void SetCurrentStepName(const Aws::String& value) { m_currentStepNameHasBeenSet = true; m_currentStepName = value; }
inline void SetCurrentStepName(Aws::String&& value) { m_currentStepNameHasBeenSet = true; m_currentStepName = std::move(value); }
inline void SetCurrentStepName(const char* value) { m_currentStepNameHasBeenSet = true; m_currentStepName.assign(value); }
inline AutomationExecutionMetadata& WithCurrentStepName(const Aws::String& value) { SetCurrentStepName(value); return *this;}
inline AutomationExecutionMetadata& WithCurrentStepName(Aws::String&& value) { SetCurrentStepName(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithCurrentStepName(const char* value) { SetCurrentStepName(value); return *this;}
///@}
///@{
/**
* <p>The action of the step that is currently running.</p>
*/
inline const Aws::String& GetCurrentAction() const{ return m_currentAction; }
inline bool CurrentActionHasBeenSet() const { return m_currentActionHasBeenSet; }
inline void SetCurrentAction(const Aws::String& value) { m_currentActionHasBeenSet = true; m_currentAction = value; }
inline void SetCurrentAction(Aws::String&& value) { m_currentActionHasBeenSet = true; m_currentAction = std::move(value); }
inline void SetCurrentAction(const char* value) { m_currentActionHasBeenSet = true; m_currentAction.assign(value); }
inline AutomationExecutionMetadata& WithCurrentAction(const Aws::String& value) { SetCurrentAction(value); return *this;}
inline AutomationExecutionMetadata& WithCurrentAction(Aws::String&& value) { SetCurrentAction(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithCurrentAction(const char* value) { SetCurrentAction(value); return *this;}
///@}
///@{
/**
* <p>The list of execution outputs as defined in the Automation runbook.</p>
*/
inline const Aws::String& GetFailureMessage() const{ return m_failureMessage; }
inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; }
inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; }
inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::move(value); }
inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); }
inline AutomationExecutionMetadata& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;}
inline AutomationExecutionMetadata& WithFailureMessage(Aws::String&& value) { SetFailureMessage(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;}
///@}
///@{
/**
* <p>The list of execution outputs as defined in the Automation runbook.</p>
*/
inline const Aws::String& GetTargetParameterName() const{ return m_targetParameterName; }
inline bool TargetParameterNameHasBeenSet() const { return m_targetParameterNameHasBeenSet; }
inline void SetTargetParameterName(const Aws::String& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = value; }
inline void SetTargetParameterName(Aws::String&& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = std::move(value); }
inline void SetTargetParameterName(const char* value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName.assign(value); }
inline AutomationExecutionMetadata& WithTargetParameterName(const Aws::String& value) { SetTargetParameterName(value); return *this;}
inline AutomationExecutionMetadata& WithTargetParameterName(Aws::String&& value) { SetTargetParameterName(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithTargetParameterName(const char* value) { SetTargetParameterName(value); return *this;}
///@}
///@{
/**
* <p>The targets defined by the user when starting the automation.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline AutomationExecutionMetadata& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline AutomationExecutionMetadata& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline AutomationExecutionMetadata& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline AutomationExecutionMetadata& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The specified key-value mapping of document parameters to target
* resources.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline AutomationExecutionMetadata& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline AutomationExecutionMetadata& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline AutomationExecutionMetadata& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline AutomationExecutionMetadata& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A list of targets that resolved during the execution.</p>
*/
inline const ResolvedTargets& GetResolvedTargets() const{ return m_resolvedTargets; }
inline bool ResolvedTargetsHasBeenSet() const { return m_resolvedTargetsHasBeenSet; }
inline void SetResolvedTargets(const ResolvedTargets& value) { m_resolvedTargetsHasBeenSet = true; m_resolvedTargets = value; }
inline void SetResolvedTargets(ResolvedTargets&& value) { m_resolvedTargetsHasBeenSet = true; m_resolvedTargets = std::move(value); }
inline AutomationExecutionMetadata& WithResolvedTargets(const ResolvedTargets& value) { SetResolvedTargets(value); return *this;}
inline AutomationExecutionMetadata& WithResolvedTargets(ResolvedTargets&& value) { SetResolvedTargets(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The <code>MaxConcurrency</code> value specified by the user when starting the
* automation.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline AutomationExecutionMetadata& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline AutomationExecutionMetadata& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The <code>MaxErrors</code> value specified by the user when starting the
* automation.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline AutomationExecutionMetadata& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline AutomationExecutionMetadata& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>The list of execution outputs as defined in the Automation runbook.</p>
*/
inline const Aws::String& GetTarget() const{ return m_target; }
inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; }
inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); }
inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); }
inline AutomationExecutionMetadata& WithTarget(const Aws::String& value) { SetTarget(value); return *this;}
inline AutomationExecutionMetadata& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithTarget(const char* value) { SetTarget(value); return *this;}
///@}
///@{
/**
* <p>Use this filter with <a>DescribeAutomationExecutions</a>. Specify either
* Local or CrossAccount. CrossAccount is an Automation that runs in multiple
* Amazon Web Services Regions and Amazon Web Services accounts. For more
* information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html">Running
* automations in multiple Amazon Web Services Regions and accounts</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>. </p>
*/
inline const AutomationType& GetAutomationType() const{ return m_automationType; }
inline bool AutomationTypeHasBeenSet() const { return m_automationTypeHasBeenSet; }
inline void SetAutomationType(const AutomationType& value) { m_automationTypeHasBeenSet = true; m_automationType = value; }
inline void SetAutomationType(AutomationType&& value) { m_automationTypeHasBeenSet = true; m_automationType = std::move(value); }
inline AutomationExecutionMetadata& WithAutomationType(const AutomationType& value) { SetAutomationType(value); return *this;}
inline AutomationExecutionMetadata& WithAutomationType(AutomationType&& value) { SetAutomationType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The details for the CloudWatch alarm applied to your automation.</p>
*/
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline AutomationExecutionMetadata& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline AutomationExecutionMetadata& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The CloudWatch alarm that was invoked by the automation.</p>
*/
inline const Aws::Vector<AlarmStateInformation>& GetTriggeredAlarms() const{ return m_triggeredAlarms; }
inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; }
inline void SetTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; }
inline void SetTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); }
inline AutomationExecutionMetadata& WithTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { SetTriggeredAlarms(value); return *this;}
inline AutomationExecutionMetadata& WithTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { SetTriggeredAlarms(std::move(value)); return *this;}
inline AutomationExecutionMetadata& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; }
inline AutomationExecutionMetadata& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A publicly accessible URL for a file that contains the
* <code>TargetLocations</code> body. Currently, only files in presigned Amazon S3
* buckets are supported</p>
*/
inline const Aws::String& GetTargetLocationsURL() const{ return m_targetLocationsURL; }
inline bool TargetLocationsURLHasBeenSet() const { return m_targetLocationsURLHasBeenSet; }
inline void SetTargetLocationsURL(const Aws::String& value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL = value; }
inline void SetTargetLocationsURL(Aws::String&& value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL = std::move(value); }
inline void SetTargetLocationsURL(const char* value) { m_targetLocationsURLHasBeenSet = true; m_targetLocationsURL.assign(value); }
inline AutomationExecutionMetadata& WithTargetLocationsURL(const Aws::String& value) { SetTargetLocationsURL(value); return *this;}
inline AutomationExecutionMetadata& WithTargetLocationsURL(Aws::String&& value) { SetTargetLocationsURL(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithTargetLocationsURL(const char* value) { SetTargetLocationsURL(value); return *this;}
///@}
///@{
/**
* <p>The subtype of the Automation operation. Currently, the only supported value
* is <code>ChangeRequest</code>.</p>
*/
inline const AutomationSubtype& GetAutomationSubtype() const{ return m_automationSubtype; }
inline bool AutomationSubtypeHasBeenSet() const { return m_automationSubtypeHasBeenSet; }
inline void SetAutomationSubtype(const AutomationSubtype& value) { m_automationSubtypeHasBeenSet = true; m_automationSubtype = value; }
inline void SetAutomationSubtype(AutomationSubtype&& value) { m_automationSubtypeHasBeenSet = true; m_automationSubtype = std::move(value); }
inline AutomationExecutionMetadata& WithAutomationSubtype(const AutomationSubtype& value) { SetAutomationSubtype(value); return *this;}
inline AutomationExecutionMetadata& WithAutomationSubtype(AutomationSubtype&& value) { SetAutomationSubtype(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The date and time the Automation operation is scheduled to start.</p>
*/
inline const Aws::Utils::DateTime& GetScheduledTime() const{ return m_scheduledTime; }
inline bool ScheduledTimeHasBeenSet() const { return m_scheduledTimeHasBeenSet; }
inline void SetScheduledTime(const Aws::Utils::DateTime& value) { m_scheduledTimeHasBeenSet = true; m_scheduledTime = value; }
inline void SetScheduledTime(Aws::Utils::DateTime&& value) { m_scheduledTimeHasBeenSet = true; m_scheduledTime = std::move(value); }
inline AutomationExecutionMetadata& WithScheduledTime(const Aws::Utils::DateTime& value) { SetScheduledTime(value); return *this;}
inline AutomationExecutionMetadata& WithScheduledTime(Aws::Utils::DateTime&& value) { SetScheduledTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Information about the Automation runbooks that are run during a runbook
* workflow in Change Manager.</p> <p>The Automation runbooks specified for
* the runbook workflow can't run until all required approvals for the change
* request have been received.</p>
*/
inline const Aws::Vector<Runbook>& GetRunbooks() const{ return m_runbooks; }
inline bool RunbooksHasBeenSet() const { return m_runbooksHasBeenSet; }
inline void SetRunbooks(const Aws::Vector<Runbook>& value) { m_runbooksHasBeenSet = true; m_runbooks = value; }
inline void SetRunbooks(Aws::Vector<Runbook>&& value) { m_runbooksHasBeenSet = true; m_runbooks = std::move(value); }
inline AutomationExecutionMetadata& WithRunbooks(const Aws::Vector<Runbook>& value) { SetRunbooks(value); return *this;}
inline AutomationExecutionMetadata& WithRunbooks(Aws::Vector<Runbook>&& value) { SetRunbooks(std::move(value)); return *this;}
inline AutomationExecutionMetadata& AddRunbooks(const Runbook& value) { m_runbooksHasBeenSet = true; m_runbooks.push_back(value); return *this; }
inline AutomationExecutionMetadata& AddRunbooks(Runbook&& value) { m_runbooksHasBeenSet = true; m_runbooks.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The ID of an OpsItem that is created to represent a Change Manager change
* request.</p>
*/
inline const Aws::String& GetOpsItemId() const{ return m_opsItemId; }
inline bool OpsItemIdHasBeenSet() const { return m_opsItemIdHasBeenSet; }
inline void SetOpsItemId(const Aws::String& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = value; }
inline void SetOpsItemId(Aws::String&& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = std::move(value); }
inline void SetOpsItemId(const char* value) { m_opsItemIdHasBeenSet = true; m_opsItemId.assign(value); }
inline AutomationExecutionMetadata& WithOpsItemId(const Aws::String& value) { SetOpsItemId(value); return *this;}
inline AutomationExecutionMetadata& WithOpsItemId(Aws::String&& value) { SetOpsItemId(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithOpsItemId(const char* value) { SetOpsItemId(value); return *this;}
///@}
///@{
/**
* <p>The ID of a State Manager association used in the Automation operation.</p>
*/
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 AutomationExecutionMetadata& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline AutomationExecutionMetadata& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Change Manager change request.</p>
*/
inline const Aws::String& GetChangeRequestName() const{ return m_changeRequestName; }
inline bool ChangeRequestNameHasBeenSet() const { return m_changeRequestNameHasBeenSet; }
inline void SetChangeRequestName(const Aws::String& value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName = value; }
inline void SetChangeRequestName(Aws::String&& value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName = std::move(value); }
inline void SetChangeRequestName(const char* value) { m_changeRequestNameHasBeenSet = true; m_changeRequestName.assign(value); }
inline AutomationExecutionMetadata& WithChangeRequestName(const Aws::String& value) { SetChangeRequestName(value); return *this;}
inline AutomationExecutionMetadata& WithChangeRequestName(Aws::String&& value) { SetChangeRequestName(std::move(value)); return *this;}
inline AutomationExecutionMetadata& WithChangeRequestName(const char* value) { SetChangeRequestName(value); return *this;}
///@}
private:
Aws::String m_automationExecutionId;
bool m_automationExecutionIdHasBeenSet = false;
Aws::String m_documentName;
bool m_documentNameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
AutomationExecutionStatus m_automationExecutionStatus;
bool m_automationExecutionStatusHasBeenSet = false;
Aws::Utils::DateTime m_executionStartTime;
bool m_executionStartTimeHasBeenSet = false;
Aws::Utils::DateTime m_executionEndTime;
bool m_executionEndTimeHasBeenSet = false;
Aws::String m_executedBy;
bool m_executedByHasBeenSet = false;
Aws::String m_logFile;
bool m_logFileHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_outputs;
bool m_outputsHasBeenSet = false;
ExecutionMode m_mode;
bool m_modeHasBeenSet = false;
Aws::String m_parentAutomationExecutionId;
bool m_parentAutomationExecutionIdHasBeenSet = false;
Aws::String m_currentStepName;
bool m_currentStepNameHasBeenSet = false;
Aws::String m_currentAction;
bool m_currentActionHasBeenSet = false;
Aws::String m_failureMessage;
bool m_failureMessageHasBeenSet = false;
Aws::String m_targetParameterName;
bool m_targetParameterNameHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
ResolvedTargets m_resolvedTargets;
bool m_resolvedTargetsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_target;
bool m_targetHasBeenSet = false;
AutomationType m_automationType;
bool m_automationTypeHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
Aws::Vector<AlarmStateInformation> m_triggeredAlarms;
bool m_triggeredAlarmsHasBeenSet = false;
Aws::String m_targetLocationsURL;
bool m_targetLocationsURLHasBeenSet = false;
AutomationSubtype m_automationSubtype;
bool m_automationSubtypeHasBeenSet = false;
Aws::Utils::DateTime m_scheduledTime;
bool m_scheduledTimeHasBeenSet = false;
Aws::Vector<Runbook> m_runbooks;
bool m_runbooksHasBeenSet = false;
Aws::String m_opsItemId;
bool m_opsItemIdHasBeenSet = false;
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
Aws::String m_changeRequestName;
bool m_changeRequestNameHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,48 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AutomationExecutionStatus
{
NOT_SET,
Pending,
InProgress,
Waiting,
Success,
TimedOut,
Cancelling,
Cancelled,
Failed,
PendingApproval,
Approved,
Rejected,
Scheduled,
RunbookInProgress,
PendingChangeCalendarOverride,
ChangeCalendarOverrideApproved,
ChangeCalendarOverrideRejected,
CompletedWithSuccess,
CompletedWithFailure,
Exited
};
namespace AutomationExecutionStatusMapper
{
AWS_SSM_API AutomationExecutionStatus GetAutomationExecutionStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAutomationExecutionStatus(AutomationExecutionStatus value);
} // namespace AutomationExecutionStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AutomationSubtype
{
NOT_SET,
ChangeRequest
};
namespace AutomationSubtypeMapper
{
AWS_SSM_API AutomationSubtype GetAutomationSubtypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAutomationSubtype(AutomationSubtype value);
} // namespace AutomationSubtypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class AutomationType
{
NOT_SET,
CrossAccount,
Local
};
namespace AutomationTypeMapper
{
AWS_SSM_API AutomationType GetAutomationTypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForAutomationType(AutomationType value);
} // namespace AutomationTypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,208 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/OperatingSystem.h>
#include <aws/ssm/model/PatchFilterGroup.h>
#include <aws/ssm/model/PatchRuleGroup.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/PatchComplianceLevel.h>
#include <aws/ssm/model/PatchAction.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/PatchSource.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Defines the basic information about a patch baseline override.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/BaselineOverride">AWS
* API Reference</a></p>
*/
class BaselineOverride
{
public:
AWS_SSM_API BaselineOverride();
AWS_SSM_API BaselineOverride(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API BaselineOverride& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The operating system rule used by the patch baseline override.</p>
*/
inline const OperatingSystem& GetOperatingSystem() const{ return m_operatingSystem; }
inline bool OperatingSystemHasBeenSet() const { return m_operatingSystemHasBeenSet; }
inline void SetOperatingSystem(const OperatingSystem& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = value; }
inline void SetOperatingSystem(OperatingSystem&& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = std::move(value); }
inline BaselineOverride& WithOperatingSystem(const OperatingSystem& value) { SetOperatingSystem(value); return *this;}
inline BaselineOverride& WithOperatingSystem(OperatingSystem&& value) { SetOperatingSystem(std::move(value)); return *this;}
///@}
///@{
inline const PatchFilterGroup& GetGlobalFilters() const{ return m_globalFilters; }
inline bool GlobalFiltersHasBeenSet() const { return m_globalFiltersHasBeenSet; }
inline void SetGlobalFilters(const PatchFilterGroup& value) { m_globalFiltersHasBeenSet = true; m_globalFilters = value; }
inline void SetGlobalFilters(PatchFilterGroup&& value) { m_globalFiltersHasBeenSet = true; m_globalFilters = std::move(value); }
inline BaselineOverride& WithGlobalFilters(const PatchFilterGroup& value) { SetGlobalFilters(value); return *this;}
inline BaselineOverride& WithGlobalFilters(PatchFilterGroup&& value) { SetGlobalFilters(std::move(value)); return *this;}
///@}
///@{
inline const PatchRuleGroup& GetApprovalRules() const{ return m_approvalRules; }
inline bool ApprovalRulesHasBeenSet() const { return m_approvalRulesHasBeenSet; }
inline void SetApprovalRules(const PatchRuleGroup& value) { m_approvalRulesHasBeenSet = true; m_approvalRules = value; }
inline void SetApprovalRules(PatchRuleGroup&& value) { m_approvalRulesHasBeenSet = true; m_approvalRules = std::move(value); }
inline BaselineOverride& WithApprovalRules(const PatchRuleGroup& value) { SetApprovalRules(value); return *this;}
inline BaselineOverride& WithApprovalRules(PatchRuleGroup&& value) { SetApprovalRules(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of explicitly approved patches for the baseline.</p> <p>For
* information about accepted formats for lists of approved patches and rejected
* patches, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p>
*/
inline const Aws::Vector<Aws::String>& GetApprovedPatches() const{ return m_approvedPatches; }
inline bool ApprovedPatchesHasBeenSet() const { return m_approvedPatchesHasBeenSet; }
inline void SetApprovedPatches(const Aws::Vector<Aws::String>& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches = value; }
inline void SetApprovedPatches(Aws::Vector<Aws::String>&& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches = std::move(value); }
inline BaselineOverride& WithApprovedPatches(const Aws::Vector<Aws::String>& value) { SetApprovedPatches(value); return *this;}
inline BaselineOverride& WithApprovedPatches(Aws::Vector<Aws::String>&& value) { SetApprovedPatches(std::move(value)); return *this;}
inline BaselineOverride& AddApprovedPatches(const Aws::String& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(value); return *this; }
inline BaselineOverride& AddApprovedPatches(Aws::String&& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(std::move(value)); return *this; }
inline BaselineOverride& AddApprovedPatches(const char* value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(value); return *this; }
///@}
///@{
/**
* <p>Defines the compliance level for approved patches. When an approved patch is
* reported as missing, this value describes the severity of the compliance
* violation.</p>
*/
inline const PatchComplianceLevel& GetApprovedPatchesComplianceLevel() const{ return m_approvedPatchesComplianceLevel; }
inline bool ApprovedPatchesComplianceLevelHasBeenSet() const { return m_approvedPatchesComplianceLevelHasBeenSet; }
inline void SetApprovedPatchesComplianceLevel(const PatchComplianceLevel& value) { m_approvedPatchesComplianceLevelHasBeenSet = true; m_approvedPatchesComplianceLevel = value; }
inline void SetApprovedPatchesComplianceLevel(PatchComplianceLevel&& value) { m_approvedPatchesComplianceLevelHasBeenSet = true; m_approvedPatchesComplianceLevel = std::move(value); }
inline BaselineOverride& WithApprovedPatchesComplianceLevel(const PatchComplianceLevel& value) { SetApprovedPatchesComplianceLevel(value); return *this;}
inline BaselineOverride& WithApprovedPatchesComplianceLevel(PatchComplianceLevel&& value) { SetApprovedPatchesComplianceLevel(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of explicitly rejected patches for the baseline.</p> <p>For
* information about accepted formats for lists of approved patches and rejected
* patches, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p>
*/
inline const Aws::Vector<Aws::String>& GetRejectedPatches() const{ return m_rejectedPatches; }
inline bool RejectedPatchesHasBeenSet() const { return m_rejectedPatchesHasBeenSet; }
inline void SetRejectedPatches(const Aws::Vector<Aws::String>& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches = value; }
inline void SetRejectedPatches(Aws::Vector<Aws::String>&& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches = std::move(value); }
inline BaselineOverride& WithRejectedPatches(const Aws::Vector<Aws::String>& value) { SetRejectedPatches(value); return *this;}
inline BaselineOverride& WithRejectedPatches(Aws::Vector<Aws::String>&& value) { SetRejectedPatches(std::move(value)); return *this;}
inline BaselineOverride& AddRejectedPatches(const Aws::String& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(value); return *this; }
inline BaselineOverride& AddRejectedPatches(Aws::String&& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(std::move(value)); return *this; }
inline BaselineOverride& AddRejectedPatches(const char* value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(value); return *this; }
///@}
///@{
/**
* <p>The action for Patch Manager to take on patches included in the
* <code>RejectedPackages</code> list. A patch can be allowed only if it is a
* dependency of another package, or blocked entirely along with packages that
* include it as a dependency.</p>
*/
inline const PatchAction& GetRejectedPatchesAction() const{ return m_rejectedPatchesAction; }
inline bool RejectedPatchesActionHasBeenSet() const { return m_rejectedPatchesActionHasBeenSet; }
inline void SetRejectedPatchesAction(const PatchAction& value) { m_rejectedPatchesActionHasBeenSet = true; m_rejectedPatchesAction = value; }
inline void SetRejectedPatchesAction(PatchAction&& value) { m_rejectedPatchesActionHasBeenSet = true; m_rejectedPatchesAction = std::move(value); }
inline BaselineOverride& WithRejectedPatchesAction(const PatchAction& value) { SetRejectedPatchesAction(value); return *this;}
inline BaselineOverride& WithRejectedPatchesAction(PatchAction&& value) { SetRejectedPatchesAction(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Indicates whether the list of approved patches includes non-security updates
* that should be applied to the managed nodes. The default value is
* <code>false</code>. Applies to Linux managed nodes only.</p>
*/
inline bool GetApprovedPatchesEnableNonSecurity() const{ return m_approvedPatchesEnableNonSecurity; }
inline bool ApprovedPatchesEnableNonSecurityHasBeenSet() const { return m_approvedPatchesEnableNonSecurityHasBeenSet; }
inline void SetApprovedPatchesEnableNonSecurity(bool value) { m_approvedPatchesEnableNonSecurityHasBeenSet = true; m_approvedPatchesEnableNonSecurity = value; }
inline BaselineOverride& WithApprovedPatchesEnableNonSecurity(bool value) { SetApprovedPatchesEnableNonSecurity(value); return *this;}
///@}
///@{
/**
* <p>Information about the patches to use to update the managed nodes, including
* target operating systems and source repositories. Applies to Linux managed nodes
* only.</p>
*/
inline const Aws::Vector<PatchSource>& GetSources() const{ return m_sources; }
inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; }
inline void SetSources(const Aws::Vector<PatchSource>& value) { m_sourcesHasBeenSet = true; m_sources = value; }
inline void SetSources(Aws::Vector<PatchSource>&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); }
inline BaselineOverride& WithSources(const Aws::Vector<PatchSource>& value) { SetSources(value); return *this;}
inline BaselineOverride& WithSources(Aws::Vector<PatchSource>&& value) { SetSources(std::move(value)); return *this;}
inline BaselineOverride& AddSources(const PatchSource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; }
inline BaselineOverride& AddSources(PatchSource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; }
///@}
private:
OperatingSystem m_operatingSystem;
bool m_operatingSystemHasBeenSet = false;
PatchFilterGroup m_globalFilters;
bool m_globalFiltersHasBeenSet = false;
PatchRuleGroup m_approvalRules;
bool m_approvalRulesHasBeenSet = false;
Aws::Vector<Aws::String> m_approvedPatches;
bool m_approvedPatchesHasBeenSet = false;
PatchComplianceLevel m_approvedPatchesComplianceLevel;
bool m_approvedPatchesComplianceLevelHasBeenSet = false;
Aws::Vector<Aws::String> m_rejectedPatches;
bool m_rejectedPatchesHasBeenSet = false;
PatchAction m_rejectedPatchesAction;
bool m_rejectedPatchesActionHasBeenSet = false;
bool m_approvedPatchesEnableNonSecurity;
bool m_approvedPatchesEnableNonSecurityHasBeenSet = false;
Aws::Vector<PatchSource> m_sources;
bool m_sourcesHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class CalendarState
{
NOT_SET,
OPEN,
CLOSED
};
namespace CalendarStateMapper
{
AWS_SSM_API CalendarState GetCalendarStateForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForCalendarState(CalendarState value);
} // namespace CalendarStateMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,82 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
* <p/><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommandRequest">AWS
* API Reference</a></p>
*/
class CancelCommandRequest : public SSMRequest
{
public:
AWS_SSM_API CancelCommandRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CancelCommand"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the command you want to cancel.</p>
*/
inline const Aws::String& GetCommandId() const{ return m_commandId; }
inline bool CommandIdHasBeenSet() const { return m_commandIdHasBeenSet; }
inline void SetCommandId(const Aws::String& value) { m_commandIdHasBeenSet = true; m_commandId = value; }
inline void SetCommandId(Aws::String&& value) { m_commandIdHasBeenSet = true; m_commandId = std::move(value); }
inline void SetCommandId(const char* value) { m_commandIdHasBeenSet = true; m_commandId.assign(value); }
inline CancelCommandRequest& WithCommandId(const Aws::String& value) { SetCommandId(value); return *this;}
inline CancelCommandRequest& WithCommandId(Aws::String&& value) { SetCommandId(std::move(value)); return *this;}
inline CancelCommandRequest& WithCommandId(const char* value) { SetCommandId(value); return *this;}
///@}
///@{
/**
* <p>(Optional) A list of managed node IDs on which you want to cancel the
* command. If not provided, the command is canceled on every node on which it was
* requested.</p>
*/
inline const Aws::Vector<Aws::String>& GetInstanceIds() const{ return m_instanceIds; }
inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; }
inline void SetInstanceIds(const Aws::Vector<Aws::String>& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = value; }
inline void SetInstanceIds(Aws::Vector<Aws::String>&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = std::move(value); }
inline CancelCommandRequest& WithInstanceIds(const Aws::Vector<Aws::String>& value) { SetInstanceIds(value); return *this;}
inline CancelCommandRequest& WithInstanceIds(Aws::Vector<Aws::String>&& value) { SetInstanceIds(std::move(value)); return *this;}
inline CancelCommandRequest& AddInstanceIds(const Aws::String& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; }
inline CancelCommandRequest& AddInstanceIds(Aws::String&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(std::move(value)); return *this; }
inline CancelCommandRequest& AddInstanceIds(const char* value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; }
///@}
private:
Aws::String m_commandId;
bool m_commandIdHasBeenSet = false;
Aws::Vector<Aws::String> m_instanceIds;
bool m_instanceIdsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Whether or not the command was successfully canceled. There is no guarantee
* that a request can be canceled.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommandResult">AWS
* API Reference</a></p>
*/
class CancelCommandResult
{
public:
AWS_SSM_API CancelCommandResult();
AWS_SSM_API CancelCommandResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CancelCommandResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CancelCommandResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CancelCommandResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CancelCommandResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CancelMaintenanceWindowExecutionRequest : public SSMRequest
{
public:
AWS_SSM_API CancelMaintenanceWindowExecutionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CancelMaintenanceWindowExecution"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the maintenance window execution to stop.</p>
*/
inline const Aws::String& GetWindowExecutionId() const{ return m_windowExecutionId; }
inline bool WindowExecutionIdHasBeenSet() const { return m_windowExecutionIdHasBeenSet; }
inline void SetWindowExecutionId(const Aws::String& value) { m_windowExecutionIdHasBeenSet = true; m_windowExecutionId = value; }
inline void SetWindowExecutionId(Aws::String&& value) { m_windowExecutionIdHasBeenSet = true; m_windowExecutionId = std::move(value); }
inline void SetWindowExecutionId(const char* value) { m_windowExecutionIdHasBeenSet = true; m_windowExecutionId.assign(value); }
inline CancelMaintenanceWindowExecutionRequest& WithWindowExecutionId(const Aws::String& value) { SetWindowExecutionId(value); return *this;}
inline CancelMaintenanceWindowExecutionRequest& WithWindowExecutionId(Aws::String&& value) { SetWindowExecutionId(std::move(value)); return *this;}
inline CancelMaintenanceWindowExecutionRequest& WithWindowExecutionId(const char* value) { SetWindowExecutionId(value); return *this;}
///@}
private:
Aws::String m_windowExecutionId;
bool m_windowExecutionIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CancelMaintenanceWindowExecutionResult
{
public:
AWS_SSM_API CancelMaintenanceWindowExecutionResult();
AWS_SSM_API CancelMaintenanceWindowExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CancelMaintenanceWindowExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID of the maintenance window execution that has been stopped.</p>
*/
inline const Aws::String& GetWindowExecutionId() const{ return m_windowExecutionId; }
inline void SetWindowExecutionId(const Aws::String& value) { m_windowExecutionId = value; }
inline void SetWindowExecutionId(Aws::String&& value) { m_windowExecutionId = std::move(value); }
inline void SetWindowExecutionId(const char* value) { m_windowExecutionId.assign(value); }
inline CancelMaintenanceWindowExecutionResult& WithWindowExecutionId(const Aws::String& value) { SetWindowExecutionId(value); return *this;}
inline CancelMaintenanceWindowExecutionResult& WithWindowExecutionId(Aws::String&& value) { SetWindowExecutionId(std::move(value)); return *this;}
inline CancelMaintenanceWindowExecutionResult& WithWindowExecutionId(const char* value) { SetWindowExecutionId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CancelMaintenanceWindowExecutionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CancelMaintenanceWindowExecutionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CancelMaintenanceWindowExecutionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_windowExecutionId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,79 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Configuration options for sending command output to Amazon CloudWatch
* Logs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CloudWatchOutputConfig">AWS
* API Reference</a></p>
*/
class CloudWatchOutputConfig
{
public:
AWS_SSM_API CloudWatchOutputConfig();
AWS_SSM_API CloudWatchOutputConfig(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CloudWatchOutputConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the CloudWatch Logs log group where you want to send command
* output. If you don't specify a group name, Amazon Web Services Systems Manager
* automatically creates a log group for you. The log group uses the following
* naming format:</p> <p> <code>aws/ssm/<i>SystemsManagerDocumentName</i> </code>
* </p>
*/
inline const Aws::String& GetCloudWatchLogGroupName() const{ return m_cloudWatchLogGroupName; }
inline bool CloudWatchLogGroupNameHasBeenSet() const { return m_cloudWatchLogGroupNameHasBeenSet; }
inline void SetCloudWatchLogGroupName(const Aws::String& value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName = value; }
inline void SetCloudWatchLogGroupName(Aws::String&& value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName = std::move(value); }
inline void SetCloudWatchLogGroupName(const char* value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName.assign(value); }
inline CloudWatchOutputConfig& WithCloudWatchLogGroupName(const Aws::String& value) { SetCloudWatchLogGroupName(value); return *this;}
inline CloudWatchOutputConfig& WithCloudWatchLogGroupName(Aws::String&& value) { SetCloudWatchLogGroupName(std::move(value)); return *this;}
inline CloudWatchOutputConfig& WithCloudWatchLogGroupName(const char* value) { SetCloudWatchLogGroupName(value); return *this;}
///@}
///@{
/**
* <p>Enables Systems Manager to send command output to CloudWatch Logs.</p>
*/
inline bool GetCloudWatchOutputEnabled() const{ return m_cloudWatchOutputEnabled; }
inline bool CloudWatchOutputEnabledHasBeenSet() const { return m_cloudWatchOutputEnabledHasBeenSet; }
inline void SetCloudWatchOutputEnabled(bool value) { m_cloudWatchOutputEnabledHasBeenSet = true; m_cloudWatchOutputEnabled = value; }
inline CloudWatchOutputConfig& WithCloudWatchOutputEnabled(bool value) { SetCloudWatchOutputEnabled(value); return *this;}
///@}
private:
Aws::String m_cloudWatchLogGroupName;
bool m_cloudWatchLogGroupNameHasBeenSet = false;
bool m_cloudWatchOutputEnabled;
bool m_cloudWatchOutputEnabledHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,527 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/CommandStatus.h>
#include <aws/ssm/model/NotificationConfig.h>
#include <aws/ssm/model/CloudWatchOutputConfig.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/AlarmStateInformation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes a command request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/Command">AWS API
* Reference</a></p>
*/
class Command
{
public:
AWS_SSM_API Command();
AWS_SSM_API Command(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Command& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>A unique identifier for this command.</p>
*/
inline const Aws::String& GetCommandId() const{ return m_commandId; }
inline bool CommandIdHasBeenSet() const { return m_commandIdHasBeenSet; }
inline void SetCommandId(const Aws::String& value) { m_commandIdHasBeenSet = true; m_commandId = value; }
inline void SetCommandId(Aws::String&& value) { m_commandIdHasBeenSet = true; m_commandId = std::move(value); }
inline void SetCommandId(const char* value) { m_commandIdHasBeenSet = true; m_commandId.assign(value); }
inline Command& WithCommandId(const Aws::String& value) { SetCommandId(value); return *this;}
inline Command& WithCommandId(Aws::String&& value) { SetCommandId(std::move(value)); return *this;}
inline Command& WithCommandId(const char* value) { SetCommandId(value); return *this;}
///@}
///@{
/**
* <p>The name of the document requested for execution.</p>
*/
inline const Aws::String& GetDocumentName() const{ return m_documentName; }
inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; }
inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; }
inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); }
inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); }
inline Command& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;}
inline Command& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;}
inline Command& WithDocumentName(const char* value) { SetDocumentName(value); return *this;}
///@}
///@{
/**
* <p>The Systems Manager document (SSM document) version.</p>
*/
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 Command& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline Command& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline Command& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>User-specified information about the command, such as a brief description of
* what the command should do.</p>
*/
inline const Aws::String& GetComment() const{ return m_comment; }
inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; }
inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; }
inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); }
inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); }
inline Command& WithComment(const Aws::String& value) { SetComment(value); return *this;}
inline Command& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;}
inline Command& WithComment(const char* value) { SetComment(value); return *this;}
///@}
///@{
/**
* <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for
* all invocations that have the status <code>InProgress</code>,
* <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is
* calculated based on the total timeout for the overall command. For more
* information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding
* command timeout values</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>.</p>
*/
inline const Aws::Utils::DateTime& GetExpiresAfter() const{ return m_expiresAfter; }
inline bool ExpiresAfterHasBeenSet() const { return m_expiresAfterHasBeenSet; }
inline void SetExpiresAfter(const Aws::Utils::DateTime& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = value; }
inline void SetExpiresAfter(Aws::Utils::DateTime&& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = std::move(value); }
inline Command& WithExpiresAfter(const Aws::Utils::DateTime& value) { SetExpiresAfter(value); return *this;}
inline Command& WithExpiresAfter(Aws::Utils::DateTime&& value) { SetExpiresAfter(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The parameter values to be inserted in the document when running the
* command.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline Command& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline Command& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline Command& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline Command& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline Command& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline Command& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline Command& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline Command& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The managed node IDs against which this command was requested.</p>
*/
inline const Aws::Vector<Aws::String>& GetInstanceIds() const{ return m_instanceIds; }
inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; }
inline void SetInstanceIds(const Aws::Vector<Aws::String>& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = value; }
inline void SetInstanceIds(Aws::Vector<Aws::String>&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = std::move(value); }
inline Command& WithInstanceIds(const Aws::Vector<Aws::String>& value) { SetInstanceIds(value); return *this;}
inline Command& WithInstanceIds(Aws::Vector<Aws::String>&& value) { SetInstanceIds(std::move(value)); return *this;}
inline Command& AddInstanceIds(const Aws::String& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; }
inline Command& AddInstanceIds(Aws::String&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(std::move(value)); return *this; }
inline Command& AddInstanceIds(const char* value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; }
///@}
///@{
/**
* <p>An array of search criteria that targets managed nodes using a Key,Value
* combination that you specify. Targets is required if you don't provide one or
* more managed node IDs in the call.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline Command& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline Command& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline Command& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline Command& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The date and time the command was requested.</p>
*/
inline const Aws::Utils::DateTime& GetRequestedDateTime() const{ return m_requestedDateTime; }
inline bool RequestedDateTimeHasBeenSet() const { return m_requestedDateTimeHasBeenSet; }
inline void SetRequestedDateTime(const Aws::Utils::DateTime& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = value; }
inline void SetRequestedDateTime(Aws::Utils::DateTime&& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = std::move(value); }
inline Command& WithRequestedDateTime(const Aws::Utils::DateTime& value) { SetRequestedDateTime(value); return *this;}
inline Command& WithRequestedDateTime(Aws::Utils::DateTime&& value) { SetRequestedDateTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status of the command.</p>
*/
inline const CommandStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const CommandStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(CommandStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline Command& WithStatus(const CommandStatus& value) { SetStatus(value); return *this;}
inline Command& WithStatus(CommandStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A detailed status of the command execution. <code>StatusDetails</code>
* includes more information than <code>Status</code> because it includes states
* resulting from error and concurrency control parameters.
* <code>StatusDetails</code> can show different results than Status. For more
* information about these statuses, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding
* command statuses</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li>
* <p>Pending: The command hasn't been sent to any managed nodes.</p> </li> <li>
* <p>In Progress: The command has been sent to at least one managed node but
* hasn't reached a final state on all managed nodes.</p> </li> <li> <p>Success:
* The command successfully ran on all invocations. This is a terminal state.</p>
* </li> <li> <p>Delivery Timed Out: The value of MaxErrors or more command
* invocations shows a status of Delivery Timed Out. This is a terminal state.</p>
* </li> <li> <p>Execution Timed Out: The value of MaxErrors or more command
* invocations shows a status of Execution Timed Out. This is a terminal state.</p>
* </li> <li> <p>Failed: The value of MaxErrors or more command invocations shows a
* status of Failed. This is a terminal state.</p> </li> <li> <p>Incomplete: The
* command was attempted on all managed nodes and one or more invocations doesn't
* have a value of Success but not enough invocations failed for the status to be
* Failed. This is a terminal state.</p> </li> <li> <p>Cancelled: The command was
* terminated before it was completed. This is a terminal state.</p> </li> <li>
* <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded
* the account limit for pending invocations. The system has canceled the command
* before running it on any managed node. This is a terminal state.</p> </li> <li>
* <p>Delayed: The system attempted to send the command to the managed node but
* wasn't successful. The system retries again.</p> </li> </ul>
*/
inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; }
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
inline void SetStatusDetails(const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
inline void SetStatusDetails(Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
inline void SetStatusDetails(const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); }
inline Command& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;}
inline Command& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;}
inline Command& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;}
///@}
///@{
/**
* <p>(Deprecated) You can no longer specify this parameter. The system ignores it.
* Instead, Systems Manager automatically determines the Amazon Web Services Region
* of the S3 bucket.</p>
*/
inline const Aws::String& GetOutputS3Region() const{ return m_outputS3Region; }
inline bool OutputS3RegionHasBeenSet() const { return m_outputS3RegionHasBeenSet; }
inline void SetOutputS3Region(const Aws::String& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = value; }
inline void SetOutputS3Region(Aws::String&& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = std::move(value); }
inline void SetOutputS3Region(const char* value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region.assign(value); }
inline Command& WithOutputS3Region(const Aws::String& value) { SetOutputS3Region(value); return *this;}
inline Command& WithOutputS3Region(Aws::String&& value) { SetOutputS3Region(std::move(value)); return *this;}
inline Command& WithOutputS3Region(const char* value) { SetOutputS3Region(value); return *this;}
///@}
///@{
/**
* <p>The S3 bucket where the responses to the command executions should be stored.
* This was requested when issuing the command.</p>
*/
inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; }
inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; }
inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; }
inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); }
inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); }
inline Command& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;}
inline Command& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;}
inline Command& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;}
///@}
///@{
/**
* <p>The S3 directory path inside the bucket where the responses to the command
* executions should be stored. This was requested when issuing the command.</p>
*/
inline const Aws::String& GetOutputS3KeyPrefix() const{ return m_outputS3KeyPrefix; }
inline bool OutputS3KeyPrefixHasBeenSet() const { return m_outputS3KeyPrefixHasBeenSet; }
inline void SetOutputS3KeyPrefix(const Aws::String& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = value; }
inline void SetOutputS3KeyPrefix(Aws::String&& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = std::move(value); }
inline void SetOutputS3KeyPrefix(const char* value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix.assign(value); }
inline Command& WithOutputS3KeyPrefix(const Aws::String& value) { SetOutputS3KeyPrefix(value); return *this;}
inline Command& WithOutputS3KeyPrefix(Aws::String&& value) { SetOutputS3KeyPrefix(std::move(value)); return *this;}
inline Command& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;}
///@}
///@{
/**
* <p>The maximum number of managed nodes that are allowed to run the command at
* the same time. You can specify a number of managed nodes, such as 10, or a
* percentage of nodes, such as 10%. The default value is 50. For more information
* about how to use <code>MaxConcurrency</code>, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon
* Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services
* Systems Manager User Guide</i>.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline Command& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline Command& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline Command& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The maximum number of errors allowed before the system stops sending the
* command to additional targets. You can specify a number of errors, such as 10,
* or a percentage or errors, such as 10%. The default value is <code>0</code>. For
* more information about how to use <code>MaxErrors</code>, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon
* Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services
* Systems Manager User Guide</i>.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline Command& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline Command& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline Command& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>The number of targets for the command.</p>
*/
inline int GetTargetCount() const{ return m_targetCount; }
inline bool TargetCountHasBeenSet() const { return m_targetCountHasBeenSet; }
inline void SetTargetCount(int value) { m_targetCountHasBeenSet = true; m_targetCount = value; }
inline Command& WithTargetCount(int value) { SetTargetCount(value); return *this;}
///@}
///@{
/**
* <p>The number of targets for which the command invocation reached a terminal
* state. Terminal states include the following: Success, Failed, Execution Timed
* Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
*/
inline int GetCompletedCount() const{ return m_completedCount; }
inline bool CompletedCountHasBeenSet() const { return m_completedCountHasBeenSet; }
inline void SetCompletedCount(int value) { m_completedCountHasBeenSet = true; m_completedCount = value; }
inline Command& WithCompletedCount(int value) { SetCompletedCount(value); return *this;}
///@}
///@{
/**
* <p>The number of targets for which the status is Failed or Execution Timed
* Out.</p>
*/
inline int GetErrorCount() const{ return m_errorCount; }
inline bool ErrorCountHasBeenSet() const { return m_errorCountHasBeenSet; }
inline void SetErrorCount(int value) { m_errorCountHasBeenSet = true; m_errorCount = value; }
inline Command& WithErrorCount(int value) { SetErrorCount(value); return *this;}
///@}
///@{
/**
* <p>The number of targets for which the status is Delivery Timed Out.</p>
*/
inline int GetDeliveryTimedOutCount() const{ return m_deliveryTimedOutCount; }
inline bool DeliveryTimedOutCountHasBeenSet() const { return m_deliveryTimedOutCountHasBeenSet; }
inline void SetDeliveryTimedOutCount(int value) { m_deliveryTimedOutCountHasBeenSet = true; m_deliveryTimedOutCount = value; }
inline Command& WithDeliveryTimedOutCount(int value) { SetDeliveryTimedOutCount(value); return *this;}
///@}
///@{
/**
* <p>The Identity and Access Management (IAM) service role that Run Command, a
* capability of Amazon Web Services Systems Manager, uses to act on your behalf
* when sending notifications about command status changes. </p>
*/
inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); }
inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
inline Command& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
inline Command& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;}
inline Command& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
///@}
///@{
/**
* <p>Configurations for sending notifications about command status changes. </p>
*/
inline const NotificationConfig& GetNotificationConfig() const{ return m_notificationConfig; }
inline bool NotificationConfigHasBeenSet() const { return m_notificationConfigHasBeenSet; }
inline void SetNotificationConfig(const NotificationConfig& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = value; }
inline void SetNotificationConfig(NotificationConfig&& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = std::move(value); }
inline Command& WithNotificationConfig(const NotificationConfig& value) { SetNotificationConfig(value); return *this;}
inline Command& WithNotificationConfig(NotificationConfig&& value) { SetNotificationConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems
* Manager to send the command output.</p>
*/
inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; }
inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; }
inline void SetCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = value; }
inline void SetCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = std::move(value); }
inline Command& WithCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { SetCloudWatchOutputConfig(value); return *this;}
inline Command& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
*/
inline int GetTimeoutSeconds() const{ return m_timeoutSeconds; }
inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; }
inline void SetTimeoutSeconds(int value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; }
inline Command& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;}
///@}
///@{
/**
* <p>The details for the CloudWatch alarm applied to your command.</p>
*/
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline Command& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline Command& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The CloudWatch alarm that was invoked by the command.</p>
*/
inline const Aws::Vector<AlarmStateInformation>& GetTriggeredAlarms() const{ return m_triggeredAlarms; }
inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; }
inline void SetTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; }
inline void SetTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); }
inline Command& WithTriggeredAlarms(const Aws::Vector<AlarmStateInformation>& value) { SetTriggeredAlarms(value); return *this;}
inline Command& WithTriggeredAlarms(Aws::Vector<AlarmStateInformation>&& value) { SetTriggeredAlarms(std::move(value)); return *this;}
inline Command& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; }
inline Command& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_commandId;
bool m_commandIdHasBeenSet = false;
Aws::String m_documentName;
bool m_documentNameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::String m_comment;
bool m_commentHasBeenSet = false;
Aws::Utils::DateTime m_expiresAfter;
bool m_expiresAfterHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::Vector<Aws::String> m_instanceIds;
bool m_instanceIdsHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::Utils::DateTime m_requestedDateTime;
bool m_requestedDateTimeHasBeenSet = false;
CommandStatus m_status;
bool m_statusHasBeenSet = false;
Aws::String m_statusDetails;
bool m_statusDetailsHasBeenSet = false;
Aws::String m_outputS3Region;
bool m_outputS3RegionHasBeenSet = false;
Aws::String m_outputS3BucketName;
bool m_outputS3BucketNameHasBeenSet = false;
Aws::String m_outputS3KeyPrefix;
bool m_outputS3KeyPrefixHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
int m_targetCount;
bool m_targetCountHasBeenSet = false;
int m_completedCount;
bool m_completedCountHasBeenSet = false;
int m_errorCount;
bool m_errorCountHasBeenSet = false;
int m_deliveryTimedOutCount;
bool m_deliveryTimedOutCountHasBeenSet = false;
Aws::String m_serviceRole;
bool m_serviceRoleHasBeenSet = false;
NotificationConfig m_notificationConfig;
bool m_notificationConfigHasBeenSet = false;
CloudWatchOutputConfig m_cloudWatchOutputConfig;
bool m_cloudWatchOutputConfigHasBeenSet = false;
int m_timeoutSeconds;
bool m_timeoutSecondsHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
Aws::Vector<AlarmStateInformation> m_triggeredAlarms;
bool m_triggeredAlarmsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/CommandFilterKey.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes a command filter.</p> <p>A managed node ID can't be
* specified when a command status is <code>Pending</code> because the command
* hasn't run on the node yet.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandFilter">AWS
* API Reference</a></p>
*/
class CommandFilter
{
public:
AWS_SSM_API CommandFilter();
AWS_SSM_API CommandFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CommandFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the filter.</p> <p>The <code>ExecutionStage</code> filter
* can't be used with the <code>ListCommandInvocations</code> operation, only with
* <code>ListCommands</code>.</p>
*/
inline const CommandFilterKey& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const CommandFilterKey& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(CommandFilterKey&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline CommandFilter& WithKey(const CommandFilterKey& value) { SetKey(value); return *this;}
inline CommandFilter& WithKey(CommandFilterKey&& value) { SetKey(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The filter value. Valid values for each filter key are as follows:</p> <ul>
* <li> <p> <b>InvokedAfter</b>: Specify a timestamp to limit your results. For
* example, specify <code>2024-07-07T00:00:00Z</code> to see a list of command
* executions occurring July 7, 2021, and later.</p> </li> <li> <p>
* <b>InvokedBefore</b>: Specify a timestamp to limit your results. For example,
* specify <code>2024-07-07T00:00:00Z</code> to see a list of command executions
* from before July 7, 2021.</p> </li> <li> <p> <b>Status</b>: Specify a valid
* command status to see a list of all command executions with that status. The
* status choices depend on the API you call.</p> <p>The status values you can
* specify for <code>ListCommands</code> are:</p> <ul> <li> <p>
* <code>Pending</code> </p> </li> <li> <p> <code>InProgress</code> </p> </li> <li>
* <p> <code>Success</code> </p> </li> <li> <p> <code>Cancelled</code> </p> </li>
* <li> <p> <code>Failed</code> </p> </li> <li> <p> <code>TimedOut</code> (this
* includes both Delivery and Execution time outs) </p> </li> <li> <p>
* <code>AccessDenied</code> </p> </li> <li> <p> <code>DeliveryTimedOut</code> </p>
* </li> <li> <p> <code>ExecutionTimedOut</code> </p> </li> <li> <p>
* <code>Incomplete</code> </p> </li> <li> <p> <code>NoInstancesInTag</code> </p>
* </li> <li> <p> <code>LimitExceeded</code> </p> </li> </ul> <p>The status values
* you can specify for <code>ListCommandInvocations</code> are:</p> <ul> <li> <p>
* <code>Pending</code> </p> </li> <li> <p> <code>InProgress</code> </p> </li> <li>
* <p> <code>Delayed</code> </p> </li> <li> <p> <code>Success</code> </p> </li>
* <li> <p> <code>Cancelled</code> </p> </li> <li> <p> <code>Failed</code> </p>
* </li> <li> <p> <code>TimedOut</code> (this includes both Delivery and Execution
* time outs) </p> </li> <li> <p> <code>AccessDenied</code> </p> </li> <li> <p>
* <code>DeliveryTimedOut</code> </p> </li> <li> <p> <code>ExecutionTimedOut</code>
* </p> </li> <li> <p> <code>Undeliverable</code> </p> </li> <li> <p>
* <code>InvalidPlatform</code> </p> </li> <li> <p> <code>Terminated</code> </p>
* </li> </ul> </li> <li> <p> <b>DocumentName</b>: Specify name of the Amazon Web
* Services Systems Manager document (SSM document) for which you want to see
* command execution results. For example, specify
* <code>AWS-RunPatchBaseline</code> to see command executions that used this SSM
* document to perform security patching operations on managed nodes. </p> </li>
* <li> <p> <b>ExecutionStage</b>: Specify one of the following values
* (<code>ListCommands</code> operations only):</p> <ul> <li> <p>
* <code>Executing</code>: Returns a list of command executions that are currently
* still running.</p> </li> <li> <p> <code>Complete</code>: Returns a list of
* command executions that have already completed. </p> </li> </ul> </li> </ul>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline CommandFilter& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline CommandFilter& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline CommandFilter& WithValue(const char* value) { SetValue(value); return *this;}
///@}
private:
CommandFilterKey m_key;
bool m_keyHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class CommandFilterKey
{
NOT_SET,
InvokedAfter,
InvokedBefore,
Status,
ExecutionStage,
DocumentName
};
namespace CommandFilterKeyMapper
{
AWS_SSM_API CommandFilterKey GetCommandFilterKeyForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForCommandFilterKey(CommandFilterKey value);
} // namespace CommandFilterKeyMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,365 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/CommandInvocationStatus.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/NotificationConfig.h>
#include <aws/ssm/model/CloudWatchOutputConfig.h>
#include <aws/ssm/model/CommandPlugin.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>An invocation is a copy of a command sent to a specific managed node. A
* command can apply to one or more managed nodes. A command invocation applies to
* one managed node. For example, if a user runs <code>SendCommand</code> against
* three managed nodes, then a command invocation is created for each requested
* managed node ID. A command invocation returns status and detail information
* about a command you ran. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandInvocation">AWS
* API Reference</a></p>
*/
class CommandInvocation
{
public:
AWS_SSM_API CommandInvocation();
AWS_SSM_API CommandInvocation(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CommandInvocation& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The command against which this invocation was requested.</p>
*/
inline const Aws::String& GetCommandId() const{ return m_commandId; }
inline bool CommandIdHasBeenSet() const { return m_commandIdHasBeenSet; }
inline void SetCommandId(const Aws::String& value) { m_commandIdHasBeenSet = true; m_commandId = value; }
inline void SetCommandId(Aws::String&& value) { m_commandIdHasBeenSet = true; m_commandId = std::move(value); }
inline void SetCommandId(const char* value) { m_commandIdHasBeenSet = true; m_commandId.assign(value); }
inline CommandInvocation& WithCommandId(const Aws::String& value) { SetCommandId(value); return *this;}
inline CommandInvocation& WithCommandId(Aws::String&& value) { SetCommandId(std::move(value)); return *this;}
inline CommandInvocation& WithCommandId(const char* value) { SetCommandId(value); return *this;}
///@}
///@{
/**
* <p>The managed node ID in which this invocation was requested.</p>
*/
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 CommandInvocation& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
inline CommandInvocation& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
inline CommandInvocation& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
///@}
///@{
/**
* <p>The fully qualified host name of the managed node.</p>
*/
inline const Aws::String& GetInstanceName() const{ return m_instanceName; }
inline bool InstanceNameHasBeenSet() const { return m_instanceNameHasBeenSet; }
inline void SetInstanceName(const Aws::String& value) { m_instanceNameHasBeenSet = true; m_instanceName = value; }
inline void SetInstanceName(Aws::String&& value) { m_instanceNameHasBeenSet = true; m_instanceName = std::move(value); }
inline void SetInstanceName(const char* value) { m_instanceNameHasBeenSet = true; m_instanceName.assign(value); }
inline CommandInvocation& WithInstanceName(const Aws::String& value) { SetInstanceName(value); return *this;}
inline CommandInvocation& WithInstanceName(Aws::String&& value) { SetInstanceName(std::move(value)); return *this;}
inline CommandInvocation& WithInstanceName(const char* value) { SetInstanceName(value); return *this;}
///@}
///@{
/**
* <p>User-specified information about the command, such as a brief description of
* what the command should do.</p>
*/
inline const Aws::String& GetComment() const{ return m_comment; }
inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; }
inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; }
inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); }
inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); }
inline CommandInvocation& WithComment(const Aws::String& value) { SetComment(value); return *this;}
inline CommandInvocation& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;}
inline CommandInvocation& WithComment(const char* value) { SetComment(value); return *this;}
///@}
///@{
/**
* <p>The document name that was requested for execution.</p>
*/
inline const Aws::String& GetDocumentName() const{ return m_documentName; }
inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; }
inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; }
inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); }
inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); }
inline CommandInvocation& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;}
inline CommandInvocation& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;}
inline CommandInvocation& WithDocumentName(const char* value) { SetDocumentName(value); return *this;}
///@}
///@{
/**
* <p>The Systems Manager document (SSM document) version.</p>
*/
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 CommandInvocation& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline CommandInvocation& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline CommandInvocation& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The time and date the request was sent to this managed node.</p>
*/
inline const Aws::Utils::DateTime& GetRequestedDateTime() const{ return m_requestedDateTime; }
inline bool RequestedDateTimeHasBeenSet() const { return m_requestedDateTimeHasBeenSet; }
inline void SetRequestedDateTime(const Aws::Utils::DateTime& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = value; }
inline void SetRequestedDateTime(Aws::Utils::DateTime&& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = std::move(value); }
inline CommandInvocation& WithRequestedDateTime(const Aws::Utils::DateTime& value) { SetRequestedDateTime(value); return *this;}
inline CommandInvocation& WithRequestedDateTime(Aws::Utils::DateTime&& value) { SetRequestedDateTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Whether or not the invocation succeeded, failed, or is pending.</p>
*/
inline const CommandInvocationStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const CommandInvocationStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(CommandInvocationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline CommandInvocation& WithStatus(const CommandInvocationStatus& value) { SetStatus(value); return *this;}
inline CommandInvocation& WithStatus(CommandInvocationStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A detailed status of the command execution for each invocation (each managed
* node targeted by the command). StatusDetails includes more information than
* Status because it includes states resulting from error and concurrency control
* parameters. StatusDetails can show different results than Status. For more
* information about these statuses, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding
* command statuses</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li>
* <p>Pending: The command hasn't been sent to the managed node.</p> </li> <li>
* <p>In Progress: The command has been sent to the managed node but hasn't reached
* a terminal state.</p> </li> <li> <p>Success: The execution of the command or
* plugin was successfully completed. This is a terminal state.</p> </li> <li>
* <p>Delivery Timed Out: The command wasn't delivered to the managed node before
* the delivery timeout expired. Delivery timeouts don't count against the parent
* command's <code>MaxErrors</code> limit, but they do contribute to whether the
* parent command status is Success or Incomplete. This is a terminal state.</p>
* </li> <li> <p>Execution Timed Out: Command execution started on the managed
* node, but the execution wasn't complete before the execution timeout expired.
* Execution timeouts count against the <code>MaxErrors</code> limit of the parent
* command. This is a terminal state.</p> </li> <li> <p>Failed: The command wasn't
* successful on the managed node. For a plugin, this indicates that the result
* code wasn't zero. For a command invocation, this indicates that the result code
* for one or more plugins wasn't zero. Invocation failures count against the
* <code>MaxErrors</code> limit of the parent command. This is a terminal
* state.</p> </li> <li> <p>Cancelled: The command was terminated before it was
* completed. This is a terminal state.</p> </li> <li> <p>Undeliverable: The
* command can't be delivered to the managed node. The managed node might not exist
* or might not be responding. Undeliverable invocations don't count against the
* parent command's MaxErrors limit and don't contribute to whether the parent
* command status is Success or Incomplete. This is a terminal state.</p> </li>
* <li> <p>Terminated: The parent command exceeded its MaxErrors limit and
* subsequent command invocations were canceled by the system. This is a terminal
* state.</p> </li> <li> <p>Delayed: The system attempted to send the command to
* the managed node but wasn't successful. The system retries again.</p> </li>
* </ul>
*/
inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; }
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
inline void SetStatusDetails(const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
inline void SetStatusDetails(Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
inline void SetStatusDetails(const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); }
inline CommandInvocation& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;}
inline CommandInvocation& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;}
inline CommandInvocation& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;}
///@}
///@{
/**
* <p> Gets the trace output sent by the agent. </p>
*/
inline const Aws::String& GetTraceOutput() const{ return m_traceOutput; }
inline bool TraceOutputHasBeenSet() const { return m_traceOutputHasBeenSet; }
inline void SetTraceOutput(const Aws::String& value) { m_traceOutputHasBeenSet = true; m_traceOutput = value; }
inline void SetTraceOutput(Aws::String&& value) { m_traceOutputHasBeenSet = true; m_traceOutput = std::move(value); }
inline void SetTraceOutput(const char* value) { m_traceOutputHasBeenSet = true; m_traceOutput.assign(value); }
inline CommandInvocation& WithTraceOutput(const Aws::String& value) { SetTraceOutput(value); return *this;}
inline CommandInvocation& WithTraceOutput(Aws::String&& value) { SetTraceOutput(std::move(value)); return *this;}
inline CommandInvocation& WithTraceOutput(const char* value) { SetTraceOutput(value); return *this;}
///@}
///@{
/**
* <p>The URL to the plugin's StdOut file in Amazon Simple Storage Service (Amazon
* S3), if the S3 bucket was defined for the parent command. For an invocation,
* <code>StandardOutputUrl</code> is populated if there is just one plugin defined
* for the command, and the S3 bucket was defined for the command.</p>
*/
inline const Aws::String& GetStandardOutputUrl() const{ return m_standardOutputUrl; }
inline bool StandardOutputUrlHasBeenSet() const { return m_standardOutputUrlHasBeenSet; }
inline void SetStandardOutputUrl(const Aws::String& value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl = value; }
inline void SetStandardOutputUrl(Aws::String&& value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl = std::move(value); }
inline void SetStandardOutputUrl(const char* value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl.assign(value); }
inline CommandInvocation& WithStandardOutputUrl(const Aws::String& value) { SetStandardOutputUrl(value); return *this;}
inline CommandInvocation& WithStandardOutputUrl(Aws::String&& value) { SetStandardOutputUrl(std::move(value)); return *this;}
inline CommandInvocation& WithStandardOutputUrl(const char* value) { SetStandardOutputUrl(value); return *this;}
///@}
///@{
/**
* <p>The URL to the plugin's StdErr file in Amazon Simple Storage Service (Amazon
* S3), if the S3 bucket was defined for the parent command. For an invocation,
* <code>StandardErrorUrl</code> is populated if there is just one plugin defined
* for the command, and the S3 bucket was defined for the command.</p>
*/
inline const Aws::String& GetStandardErrorUrl() const{ return m_standardErrorUrl; }
inline bool StandardErrorUrlHasBeenSet() const { return m_standardErrorUrlHasBeenSet; }
inline void SetStandardErrorUrl(const Aws::String& value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl = value; }
inline void SetStandardErrorUrl(Aws::String&& value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl = std::move(value); }
inline void SetStandardErrorUrl(const char* value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl.assign(value); }
inline CommandInvocation& WithStandardErrorUrl(const Aws::String& value) { SetStandardErrorUrl(value); return *this;}
inline CommandInvocation& WithStandardErrorUrl(Aws::String&& value) { SetStandardErrorUrl(std::move(value)); return *this;}
inline CommandInvocation& WithStandardErrorUrl(const char* value) { SetStandardErrorUrl(value); return *this;}
///@}
///@{
/**
* <p>Plugins processed by the command.</p>
*/
inline const Aws::Vector<CommandPlugin>& GetCommandPlugins() const{ return m_commandPlugins; }
inline bool CommandPluginsHasBeenSet() const { return m_commandPluginsHasBeenSet; }
inline void SetCommandPlugins(const Aws::Vector<CommandPlugin>& value) { m_commandPluginsHasBeenSet = true; m_commandPlugins = value; }
inline void SetCommandPlugins(Aws::Vector<CommandPlugin>&& value) { m_commandPluginsHasBeenSet = true; m_commandPlugins = std::move(value); }
inline CommandInvocation& WithCommandPlugins(const Aws::Vector<CommandPlugin>& value) { SetCommandPlugins(value); return *this;}
inline CommandInvocation& WithCommandPlugins(Aws::Vector<CommandPlugin>&& value) { SetCommandPlugins(std::move(value)); return *this;}
inline CommandInvocation& AddCommandPlugins(const CommandPlugin& value) { m_commandPluginsHasBeenSet = true; m_commandPlugins.push_back(value); return *this; }
inline CommandInvocation& AddCommandPlugins(CommandPlugin&& value) { m_commandPluginsHasBeenSet = true; m_commandPlugins.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The Identity and Access Management (IAM) service role that Run Command, a
* capability of Amazon Web Services Systems Manager, uses to act on your behalf
* when sending notifications about command status changes on a per managed node
* basis.</p>
*/
inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); }
inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
inline CommandInvocation& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
inline CommandInvocation& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;}
inline CommandInvocation& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
///@}
///@{
/**
* <p>Configurations for sending notifications about command status changes on a
* per managed node basis.</p>
*/
inline const NotificationConfig& GetNotificationConfig() const{ return m_notificationConfig; }
inline bool NotificationConfigHasBeenSet() const { return m_notificationConfigHasBeenSet; }
inline void SetNotificationConfig(const NotificationConfig& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = value; }
inline void SetNotificationConfig(NotificationConfig&& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = std::move(value); }
inline CommandInvocation& WithNotificationConfig(const NotificationConfig& value) { SetNotificationConfig(value); return *this;}
inline CommandInvocation& WithNotificationConfig(NotificationConfig&& value) { SetNotificationConfig(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems
* Manager to send the command output.</p>
*/
inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; }
inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; }
inline void SetCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = value; }
inline void SetCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = std::move(value); }
inline CommandInvocation& WithCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { SetCloudWatchOutputConfig(value); return *this;}
inline CommandInvocation& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;}
///@}
private:
Aws::String m_commandId;
bool m_commandIdHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::String m_instanceName;
bool m_instanceNameHasBeenSet = false;
Aws::String m_comment;
bool m_commentHasBeenSet = false;
Aws::String m_documentName;
bool m_documentNameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Utils::DateTime m_requestedDateTime;
bool m_requestedDateTimeHasBeenSet = false;
CommandInvocationStatus m_status;
bool m_statusHasBeenSet = false;
Aws::String m_statusDetails;
bool m_statusDetailsHasBeenSet = false;
Aws::String m_traceOutput;
bool m_traceOutputHasBeenSet = false;
Aws::String m_standardOutputUrl;
bool m_standardOutputUrlHasBeenSet = false;
Aws::String m_standardErrorUrl;
bool m_standardErrorUrlHasBeenSet = false;
Aws::Vector<CommandPlugin> m_commandPlugins;
bool m_commandPluginsHasBeenSet = false;
Aws::String m_serviceRole;
bool m_serviceRoleHasBeenSet = false;
NotificationConfig m_notificationConfig;
bool m_notificationConfigHasBeenSet = false;
CloudWatchOutputConfig m_cloudWatchOutputConfig;
bool m_cloudWatchOutputConfigHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,37 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class CommandInvocationStatus
{
NOT_SET,
Pending,
InProgress,
Delayed,
Success,
Cancelled,
TimedOut,
Failed,
Cancelling
};
namespace CommandInvocationStatusMapper
{
AWS_SSM_API CommandInvocationStatus GetCommandInvocationStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForCommandInvocationStatus(CommandInvocationStatus value);
} // namespace CommandInvocationStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,295 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/CommandPluginStatus.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes plugin details.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CommandPlugin">AWS
* API Reference</a></p>
*/
class CommandPlugin
{
public:
AWS_SSM_API CommandPlugin();
AWS_SSM_API CommandPlugin(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CommandPlugin& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the plugin. Must be one of the following:
* <code>aws:updateAgent</code>, <code>aws:domainjoin</code>,
* <code>aws:applications</code>, <code>aws:runPowerShellScript</code>,
* <code>aws:psmodule</code>, <code>aws:cloudWatch</code>,
* <code>aws:runShellScript</code>, or <code>aws:updateSSMAgent</code>. </p>
*/
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 CommandPlugin& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CommandPlugin& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CommandPlugin& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The status of this plugin. You can run a document with multiple plugins.</p>
*/
inline const CommandPluginStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const CommandPluginStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(CommandPluginStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline CommandPlugin& WithStatus(const CommandPluginStatus& value) { SetStatus(value); return *this;}
inline CommandPlugin& WithStatus(CommandPluginStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A detailed status of the plugin execution. <code>StatusDetails</code>
* includes more information than Status because it includes states resulting from
* error and concurrency control parameters. StatusDetails can show different
* results than Status. For more information about these statuses, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding
* command statuses</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>. StatusDetails can be one of the following values:</p> <ul> <li>
* <p>Pending: The command hasn't been sent to the managed node.</p> </li> <li>
* <p>In Progress: The command has been sent to the managed node but hasn't reached
* a terminal state.</p> </li> <li> <p>Success: The execution of the command or
* plugin was successfully completed. This is a terminal state.</p> </li> <li>
* <p>Delivery Timed Out: The command wasn't delivered to the managed node before
* the delivery timeout expired. Delivery timeouts don't count against the parent
* command's <code>MaxErrors</code> limit, but they do contribute to whether the
* parent command status is Success or Incomplete. This is a terminal state.</p>
* </li> <li> <p>Execution Timed Out: Command execution started on the managed
* node, but the execution wasn't complete before the execution timeout expired.
* Execution timeouts count against the <code>MaxErrors</code> limit of the parent
* command. This is a terminal state.</p> </li> <li> <p>Failed: The command wasn't
* successful on the managed node. For a plugin, this indicates that the result
* code wasn't zero. For a command invocation, this indicates that the result code
* for one or more plugins wasn't zero. Invocation failures count against the
* MaxErrors limit of the parent command. This is a terminal state.</p> </li> <li>
* <p>Cancelled: The command was terminated before it was completed. This is a
* terminal state.</p> </li> <li> <p>Undeliverable: The command can't be delivered
* to the managed node. The managed node might not exist, or it might not be
* responding. Undeliverable invocations don't count against the parent command's
* MaxErrors limit, and they don't contribute to whether the parent command status
* is Success or Incomplete. This is a terminal state.</p> </li> <li>
* <p>Terminated: The parent command exceeded its MaxErrors limit and subsequent
* command invocations were canceled by the system. This is a terminal state.</p>
* </li> </ul>
*/
inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; }
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
inline void SetStatusDetails(const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
inline void SetStatusDetails(Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
inline void SetStatusDetails(const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); }
inline CommandPlugin& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;}
inline CommandPlugin& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;}
inline CommandPlugin& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;}
///@}
///@{
/**
* <p>A numeric response code generated after running the plugin. </p>
*/
inline int GetResponseCode() const{ return m_responseCode; }
inline bool ResponseCodeHasBeenSet() const { return m_responseCodeHasBeenSet; }
inline void SetResponseCode(int value) { m_responseCodeHasBeenSet = true; m_responseCode = value; }
inline CommandPlugin& WithResponseCode(int value) { SetResponseCode(value); return *this;}
///@}
///@{
/**
* <p>The time the plugin started running. </p>
*/
inline const Aws::Utils::DateTime& GetResponseStartDateTime() const{ return m_responseStartDateTime; }
inline bool ResponseStartDateTimeHasBeenSet() const { return m_responseStartDateTimeHasBeenSet; }
inline void SetResponseStartDateTime(const Aws::Utils::DateTime& value) { m_responseStartDateTimeHasBeenSet = true; m_responseStartDateTime = value; }
inline void SetResponseStartDateTime(Aws::Utils::DateTime&& value) { m_responseStartDateTimeHasBeenSet = true; m_responseStartDateTime = std::move(value); }
inline CommandPlugin& WithResponseStartDateTime(const Aws::Utils::DateTime& value) { SetResponseStartDateTime(value); return *this;}
inline CommandPlugin& WithResponseStartDateTime(Aws::Utils::DateTime&& value) { SetResponseStartDateTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time the plugin stopped running. Could stop prematurely if, for example,
* a cancel command was sent. </p>
*/
inline const Aws::Utils::DateTime& GetResponseFinishDateTime() const{ return m_responseFinishDateTime; }
inline bool ResponseFinishDateTimeHasBeenSet() const { return m_responseFinishDateTimeHasBeenSet; }
inline void SetResponseFinishDateTime(const Aws::Utils::DateTime& value) { m_responseFinishDateTimeHasBeenSet = true; m_responseFinishDateTime = value; }
inline void SetResponseFinishDateTime(Aws::Utils::DateTime&& value) { m_responseFinishDateTimeHasBeenSet = true; m_responseFinishDateTime = std::move(value); }
inline CommandPlugin& WithResponseFinishDateTime(const Aws::Utils::DateTime& value) { SetResponseFinishDateTime(value); return *this;}
inline CommandPlugin& WithResponseFinishDateTime(Aws::Utils::DateTime&& value) { SetResponseFinishDateTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Output of the plugin execution.</p>
*/
inline const Aws::String& GetOutput() const{ return m_output; }
inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; }
inline void SetOutput(const Aws::String& value) { m_outputHasBeenSet = true; m_output = value; }
inline void SetOutput(Aws::String&& value) { m_outputHasBeenSet = true; m_output = std::move(value); }
inline void SetOutput(const char* value) { m_outputHasBeenSet = true; m_output.assign(value); }
inline CommandPlugin& WithOutput(const Aws::String& value) { SetOutput(value); return *this;}
inline CommandPlugin& WithOutput(Aws::String&& value) { SetOutput(std::move(value)); return *this;}
inline CommandPlugin& WithOutput(const char* value) { SetOutput(value); return *this;}
///@}
///@{
/**
* <p>The URL for the complete text written by the plugin to stdout in Amazon S3.
* If the S3 bucket for the command wasn't specified, then this string is
* empty.</p>
*/
inline const Aws::String& GetStandardOutputUrl() const{ return m_standardOutputUrl; }
inline bool StandardOutputUrlHasBeenSet() const { return m_standardOutputUrlHasBeenSet; }
inline void SetStandardOutputUrl(const Aws::String& value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl = value; }
inline void SetStandardOutputUrl(Aws::String&& value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl = std::move(value); }
inline void SetStandardOutputUrl(const char* value) { m_standardOutputUrlHasBeenSet = true; m_standardOutputUrl.assign(value); }
inline CommandPlugin& WithStandardOutputUrl(const Aws::String& value) { SetStandardOutputUrl(value); return *this;}
inline CommandPlugin& WithStandardOutputUrl(Aws::String&& value) { SetStandardOutputUrl(std::move(value)); return *this;}
inline CommandPlugin& WithStandardOutputUrl(const char* value) { SetStandardOutputUrl(value); return *this;}
///@}
///@{
/**
* <p>The URL for the complete text written by the plugin to stderr. If execution
* isn't yet complete, then this string is empty.</p>
*/
inline const Aws::String& GetStandardErrorUrl() const{ return m_standardErrorUrl; }
inline bool StandardErrorUrlHasBeenSet() const { return m_standardErrorUrlHasBeenSet; }
inline void SetStandardErrorUrl(const Aws::String& value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl = value; }
inline void SetStandardErrorUrl(Aws::String&& value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl = std::move(value); }
inline void SetStandardErrorUrl(const char* value) { m_standardErrorUrlHasBeenSet = true; m_standardErrorUrl.assign(value); }
inline CommandPlugin& WithStandardErrorUrl(const Aws::String& value) { SetStandardErrorUrl(value); return *this;}
inline CommandPlugin& WithStandardErrorUrl(Aws::String&& value) { SetStandardErrorUrl(std::move(value)); return *this;}
inline CommandPlugin& WithStandardErrorUrl(const char* value) { SetStandardErrorUrl(value); return *this;}
///@}
///@{
/**
* <p>(Deprecated) You can no longer specify this parameter. The system ignores it.
* Instead, Amazon Web Services Systems Manager automatically determines the S3
* bucket region.</p>
*/
inline const Aws::String& GetOutputS3Region() const{ return m_outputS3Region; }
inline bool OutputS3RegionHasBeenSet() const { return m_outputS3RegionHasBeenSet; }
inline void SetOutputS3Region(const Aws::String& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = value; }
inline void SetOutputS3Region(Aws::String&& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = std::move(value); }
inline void SetOutputS3Region(const char* value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region.assign(value); }
inline CommandPlugin& WithOutputS3Region(const Aws::String& value) { SetOutputS3Region(value); return *this;}
inline CommandPlugin& WithOutputS3Region(Aws::String&& value) { SetOutputS3Region(std::move(value)); return *this;}
inline CommandPlugin& WithOutputS3Region(const char* value) { SetOutputS3Region(value); return *this;}
///@}
///@{
/**
* <p>The S3 bucket where the responses to the command executions should be stored.
* This was requested when issuing the command. For example, in the following
* response:</p> <p>
* <code>amzn-s3-demo-bucket/my-prefix/i-02573cafcfEXAMPLE/awsrunShellScript</code>
* </p> <p> <code>amzn-s3-demo-bucket</code> is the name of the S3 bucket;</p> <p>
* <code>my-prefix</code> is the name of the S3 prefix;</p> <p>
* <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p> <p>
* <code>awsrunShellScript</code> is the name of the plugin.</p>
*/
inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; }
inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; }
inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; }
inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); }
inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); }
inline CommandPlugin& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;}
inline CommandPlugin& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;}
inline CommandPlugin& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;}
///@}
///@{
/**
* <p>The S3 directory path inside the bucket where the responses to the command
* executions should be stored. This was requested when issuing the command. For
* example, in the following response:</p> <p>
* <code>amzn-s3-demo-bucket/my-prefix/i-02573cafcfEXAMPLE/awsrunShellScript</code>
* </p> <p> <code>amzn-s3-demo-bucket</code> is the name of the S3 bucket;</p> <p>
* <code>my-prefix</code> is the name of the S3 prefix;</p> <p>
* <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p> <p>
* <code>awsrunShellScript</code> is the name of the plugin.</p>
*/
inline const Aws::String& GetOutputS3KeyPrefix() const{ return m_outputS3KeyPrefix; }
inline bool OutputS3KeyPrefixHasBeenSet() const { return m_outputS3KeyPrefixHasBeenSet; }
inline void SetOutputS3KeyPrefix(const Aws::String& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = value; }
inline void SetOutputS3KeyPrefix(Aws::String&& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = std::move(value); }
inline void SetOutputS3KeyPrefix(const char* value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix.assign(value); }
inline CommandPlugin& WithOutputS3KeyPrefix(const Aws::String& value) { SetOutputS3KeyPrefix(value); return *this;}
inline CommandPlugin& WithOutputS3KeyPrefix(Aws::String&& value) { SetOutputS3KeyPrefix(std::move(value)); return *this;}
inline CommandPlugin& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
CommandPluginStatus m_status;
bool m_statusHasBeenSet = false;
Aws::String m_statusDetails;
bool m_statusDetailsHasBeenSet = false;
int m_responseCode;
bool m_responseCodeHasBeenSet = false;
Aws::Utils::DateTime m_responseStartDateTime;
bool m_responseStartDateTimeHasBeenSet = false;
Aws::Utils::DateTime m_responseFinishDateTime;
bool m_responseFinishDateTimeHasBeenSet = false;
Aws::String m_output;
bool m_outputHasBeenSet = false;
Aws::String m_standardOutputUrl;
bool m_standardOutputUrlHasBeenSet = false;
Aws::String m_standardErrorUrl;
bool m_standardErrorUrlHasBeenSet = false;
Aws::String m_outputS3Region;
bool m_outputS3RegionHasBeenSet = false;
Aws::String m_outputS3BucketName;
bool m_outputS3BucketNameHasBeenSet = false;
Aws::String m_outputS3KeyPrefix;
bool m_outputS3KeyPrefixHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class CommandPluginStatus
{
NOT_SET,
Pending,
InProgress,
Success,
TimedOut,
Cancelled,
Failed
};
namespace CommandPluginStatusMapper
{
AWS_SSM_API CommandPluginStatus GetCommandPluginStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForCommandPluginStatus(CommandPluginStatus value);
} // namespace CommandPluginStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class CommandStatus
{
NOT_SET,
Pending,
InProgress,
Success,
Cancelled,
Failed,
TimedOut,
Cancelling
};
namespace CommandStatusMapper
{
AWS_SSM_API CommandStatus GetCommandStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForCommandStatus(CommandStatus value);
} // namespace CommandStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,101 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A summary of the call execution that includes an execution ID, the type of
* execution (for example, <code>Command</code>), and the date/time of the
* execution using a datetime object that is saved in the following format:
* <code>yyyy-MM-dd'T'HH:mm:ss'Z'</code> </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceExecutionSummary">AWS
* API Reference</a></p>
*/
class ComplianceExecutionSummary
{
public:
AWS_SSM_API ComplianceExecutionSummary();
AWS_SSM_API ComplianceExecutionSummary(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API ComplianceExecutionSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The time the execution ran as a datetime object that is saved in the
* following format: <code>yyyy-MM-dd'T'HH:mm:ss'Z'</code> </p>
*/
inline const Aws::Utils::DateTime& GetExecutionTime() const{ return m_executionTime; }
inline bool ExecutionTimeHasBeenSet() const { return m_executionTimeHasBeenSet; }
inline void SetExecutionTime(const Aws::Utils::DateTime& value) { m_executionTimeHasBeenSet = true; m_executionTime = value; }
inline void SetExecutionTime(Aws::Utils::DateTime&& value) { m_executionTimeHasBeenSet = true; m_executionTime = std::move(value); }
inline ComplianceExecutionSummary& WithExecutionTime(const Aws::Utils::DateTime& value) { SetExecutionTime(value); return *this;}
inline ComplianceExecutionSummary& WithExecutionTime(Aws::Utils::DateTime&& value) { SetExecutionTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>An ID created by the system when <code>PutComplianceItems</code> was called.
* For example, <code>CommandID</code> is a valid execution ID. You can use this ID
* in subsequent calls.</p>
*/
inline const Aws::String& GetExecutionId() const{ return m_executionId; }
inline bool ExecutionIdHasBeenSet() const { return m_executionIdHasBeenSet; }
inline void SetExecutionId(const Aws::String& value) { m_executionIdHasBeenSet = true; m_executionId = value; }
inline void SetExecutionId(Aws::String&& value) { m_executionIdHasBeenSet = true; m_executionId = std::move(value); }
inline void SetExecutionId(const char* value) { m_executionIdHasBeenSet = true; m_executionId.assign(value); }
inline ComplianceExecutionSummary& WithExecutionId(const Aws::String& value) { SetExecutionId(value); return *this;}
inline ComplianceExecutionSummary& WithExecutionId(Aws::String&& value) { SetExecutionId(std::move(value)); return *this;}
inline ComplianceExecutionSummary& WithExecutionId(const char* value) { SetExecutionId(value); return *this;}
///@}
///@{
/**
* <p>The type of execution. For example, <code>Command</code> is a valid execution
* type.</p>
*/
inline const Aws::String& GetExecutionType() const{ return m_executionType; }
inline bool ExecutionTypeHasBeenSet() const { return m_executionTypeHasBeenSet; }
inline void SetExecutionType(const Aws::String& value) { m_executionTypeHasBeenSet = true; m_executionType = value; }
inline void SetExecutionType(Aws::String&& value) { m_executionTypeHasBeenSet = true; m_executionType = std::move(value); }
inline void SetExecutionType(const char* value) { m_executionTypeHasBeenSet = true; m_executionType.assign(value); }
inline ComplianceExecutionSummary& WithExecutionType(const Aws::String& value) { SetExecutionType(value); return *this;}
inline ComplianceExecutionSummary& WithExecutionType(Aws::String&& value) { SetExecutionType(std::move(value)); return *this;}
inline ComplianceExecutionSummary& WithExecutionType(const char* value) { SetExecutionType(value); return *this;}
///@}
private:
Aws::Utils::DateTime m_executionTime;
bool m_executionTimeHasBeenSet = false;
Aws::String m_executionId;
bool m_executionIdHasBeenSet = false;
Aws::String m_executionType;
bool m_executionTypeHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,214 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/ComplianceStatus.h>
#include <aws/ssm/model/ComplianceSeverity.h>
#include <aws/ssm/model/ComplianceExecutionSummary.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Information about the compliance as defined by the resource type. For
* example, for a patch resource type, <code>Items</code> includes information
* about the PatchSeverity, Classification, and so on.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItem">AWS
* API Reference</a></p>
*/
class ComplianceItem
{
public:
AWS_SSM_API ComplianceItem();
AWS_SSM_API ComplianceItem(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API ComplianceItem& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The compliance type. For example, Association (for a State Manager
* association), Patch, or Custom:<code>string</code> are all valid compliance
* types.</p>
*/
inline const Aws::String& GetComplianceType() const{ return m_complianceType; }
inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; }
inline void SetComplianceType(const Aws::String& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; }
inline void SetComplianceType(Aws::String&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); }
inline void SetComplianceType(const char* value) { m_complianceTypeHasBeenSet = true; m_complianceType.assign(value); }
inline ComplianceItem& WithComplianceType(const Aws::String& value) { SetComplianceType(value); return *this;}
inline ComplianceItem& WithComplianceType(Aws::String&& value) { SetComplianceType(std::move(value)); return *this;}
inline ComplianceItem& WithComplianceType(const char* value) { SetComplianceType(value); return *this;}
///@}
///@{
/**
* <p>The type of resource. <code>ManagedInstance</code> is currently the only
* supported resource type.</p>
*/
inline const Aws::String& GetResourceType() const{ return m_resourceType; }
inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); }
inline ComplianceItem& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;}
inline ComplianceItem& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;}
inline ComplianceItem& WithResourceType(const char* value) { SetResourceType(value); return *this;}
///@}
///@{
/**
* <p>An ID for the resource. For a managed node, this is the node ID.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline ComplianceItem& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline ComplianceItem& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline ComplianceItem& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>An ID for the compliance item. For example, if the compliance item is a
* Windows patch, the ID could be the number of the KB article; for example:
* KB4010320.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline ComplianceItem& WithId(const Aws::String& value) { SetId(value); return *this;}
inline ComplianceItem& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline ComplianceItem& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>A title for the compliance item. For example, if the compliance item is a
* Windows patch, the title could be the title of the KB article for the patch; for
* example: Security Update for Active Directory Federation Services.</p>
*/
inline const Aws::String& GetTitle() const{ return m_title; }
inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
inline ComplianceItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
inline ComplianceItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
inline ComplianceItem& WithTitle(const char* value) { SetTitle(value); return *this;}
///@}
///@{
/**
* <p>The status of the compliance item. An item is either COMPLIANT,
* NON_COMPLIANT, or an empty string (for Windows patches that aren't
* applicable).</p>
*/
inline const ComplianceStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const ComplianceStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(ComplianceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline ComplianceItem& WithStatus(const ComplianceStatus& value) { SetStatus(value); return *this;}
inline ComplianceItem& WithStatus(ComplianceStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The severity of the compliance status. Severity can be one of the following:
* Critical, High, Medium, Low, Informational, Unspecified.</p>
*/
inline const ComplianceSeverity& GetSeverity() const{ return m_severity; }
inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
inline void SetSeverity(const ComplianceSeverity& value) { m_severityHasBeenSet = true; m_severity = value; }
inline void SetSeverity(ComplianceSeverity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); }
inline ComplianceItem& WithSeverity(const ComplianceSeverity& value) { SetSeverity(value); return *this;}
inline ComplianceItem& WithSeverity(ComplianceSeverity&& value) { SetSeverity(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A summary for the compliance item. The summary includes an execution ID, the
* execution type (for example, command), and the execution time.</p>
*/
inline const ComplianceExecutionSummary& GetExecutionSummary() const{ return m_executionSummary; }
inline bool ExecutionSummaryHasBeenSet() const { return m_executionSummaryHasBeenSet; }
inline void SetExecutionSummary(const ComplianceExecutionSummary& value) { m_executionSummaryHasBeenSet = true; m_executionSummary = value; }
inline void SetExecutionSummary(ComplianceExecutionSummary&& value) { m_executionSummaryHasBeenSet = true; m_executionSummary = std::move(value); }
inline ComplianceItem& WithExecutionSummary(const ComplianceExecutionSummary& value) { SetExecutionSummary(value); return *this;}
inline ComplianceItem& WithExecutionSummary(ComplianceExecutionSummary&& value) { SetExecutionSummary(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A "Key": "Value" tag combination for the compliance item.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetDetails() const{ return m_details; }
inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
inline void SetDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_detailsHasBeenSet = true; m_details = value; }
inline void SetDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); }
inline ComplianceItem& WithDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetDetails(value); return *this;}
inline ComplianceItem& WithDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetDetails(std::move(value)); return *this;}
inline ComplianceItem& AddDetails(const Aws::String& key, const Aws::String& value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
inline ComplianceItem& AddDetails(Aws::String&& key, const Aws::String& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; }
inline ComplianceItem& AddDetails(const Aws::String& key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; }
inline ComplianceItem& AddDetails(Aws::String&& key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), std::move(value)); return *this; }
inline ComplianceItem& AddDetails(const char* key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; }
inline ComplianceItem& AddDetails(Aws::String&& key, const char* value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; }
inline ComplianceItem& AddDetails(const char* key, const char* value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
///@}
private:
Aws::String m_complianceType;
bool m_complianceTypeHasBeenSet = false;
Aws::String m_resourceType;
bool m_resourceTypeHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_title;
bool m_titleHasBeenSet = false;
ComplianceStatus m_status;
bool m_statusHasBeenSet = false;
ComplianceSeverity m_severity;
bool m_severityHasBeenSet = false;
ComplianceExecutionSummary m_executionSummary;
bool m_executionSummaryHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_details;
bool m_detailsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,138 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/ComplianceSeverity.h>
#include <aws/ssm/model/ComplianceStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Information about a compliance item.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceItemEntry">AWS
* API Reference</a></p>
*/
class ComplianceItemEntry
{
public:
AWS_SSM_API ComplianceItemEntry();
AWS_SSM_API ComplianceItemEntry(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API ComplianceItemEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The compliance item ID. For example, if the compliance item is a Windows
* patch, the ID could be the number of the KB article.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline ComplianceItemEntry& WithId(const Aws::String& value) { SetId(value); return *this;}
inline ComplianceItemEntry& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline ComplianceItemEntry& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The title of the compliance item. For example, if the compliance item is a
* Windows patch, the title could be the title of the KB article for the patch; for
* example: Security Update for Active Directory Federation Services. </p>
*/
inline const Aws::String& GetTitle() const{ return m_title; }
inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
inline ComplianceItemEntry& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
inline ComplianceItemEntry& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
inline ComplianceItemEntry& WithTitle(const char* value) { SetTitle(value); return *this;}
///@}
///@{
/**
* <p>The severity of the compliance status. Severity can be one of the following:
* Critical, High, Medium, Low, Informational, Unspecified.</p>
*/
inline const ComplianceSeverity& GetSeverity() const{ return m_severity; }
inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
inline void SetSeverity(const ComplianceSeverity& value) { m_severityHasBeenSet = true; m_severity = value; }
inline void SetSeverity(ComplianceSeverity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); }
inline ComplianceItemEntry& WithSeverity(const ComplianceSeverity& value) { SetSeverity(value); return *this;}
inline ComplianceItemEntry& WithSeverity(ComplianceSeverity&& value) { SetSeverity(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status of the compliance item. An item is either COMPLIANT or
* NON_COMPLIANT.</p>
*/
inline const ComplianceStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const ComplianceStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(ComplianceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline ComplianceItemEntry& WithStatus(const ComplianceStatus& value) { SetStatus(value); return *this;}
inline ComplianceItemEntry& WithStatus(ComplianceStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A "Key": "Value" tag combination for the compliance item.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetDetails() const{ return m_details; }
inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
inline void SetDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_detailsHasBeenSet = true; m_details = value; }
inline void SetDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); }
inline ComplianceItemEntry& WithDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetDetails(value); return *this;}
inline ComplianceItemEntry& WithDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetDetails(std::move(value)); return *this;}
inline ComplianceItemEntry& AddDetails(const Aws::String& key, const Aws::String& value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
inline ComplianceItemEntry& AddDetails(Aws::String&& key, const Aws::String& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; }
inline ComplianceItemEntry& AddDetails(const Aws::String& key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; }
inline ComplianceItemEntry& AddDetails(Aws::String&& key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), std::move(value)); return *this; }
inline ComplianceItemEntry& AddDetails(const char* key, Aws::String&& value) { m_detailsHasBeenSet = true; m_details.emplace(key, std::move(value)); return *this; }
inline ComplianceItemEntry& AddDetails(Aws::String&& key, const char* value) { m_detailsHasBeenSet = true; m_details.emplace(std::move(key), value); return *this; }
inline ComplianceItemEntry& AddDetails(const char* key, const char* value) { m_detailsHasBeenSet = true; m_details.emplace(key, value); return *this; }
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_title;
bool m_titleHasBeenSet = false;
ComplianceSeverity m_severity;
bool m_severityHasBeenSet = false;
ComplianceStatus m_status;
bool m_statusHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_details;
bool m_detailsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class ComplianceQueryOperatorType
{
NOT_SET,
EQUAL,
NOT_EQUAL,
BEGIN_WITH,
LESS_THAN,
GREATER_THAN
};
namespace ComplianceQueryOperatorTypeMapper
{
AWS_SSM_API ComplianceQueryOperatorType GetComplianceQueryOperatorTypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForComplianceQueryOperatorType(ComplianceQueryOperatorType value);
} // namespace ComplianceQueryOperatorTypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class ComplianceSeverity
{
NOT_SET,
CRITICAL,
HIGH,
MEDIUM,
LOW,
INFORMATIONAL,
UNSPECIFIED
};
namespace ComplianceSeverityMapper
{
AWS_SSM_API ComplianceSeverity GetComplianceSeverityForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForComplianceSeverity(ComplianceSeverity value);
} // namespace ComplianceSeverityMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class ComplianceStatus
{
NOT_SET,
COMPLIANT,
NON_COMPLIANT
};
namespace ComplianceStatusMapper
{
AWS_SSM_API ComplianceStatus GetComplianceStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForComplianceStatus(ComplianceStatus value);
} // namespace ComplianceStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/ComplianceQueryOperatorType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>One or more filters. Use a filter to return a more specific list of
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceStringFilter">AWS
* API Reference</a></p>
*/
class ComplianceStringFilter
{
public:
AWS_SSM_API ComplianceStringFilter();
AWS_SSM_API ComplianceStringFilter(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API ComplianceStringFilter& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the filter.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline ComplianceStringFilter& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline ComplianceStringFilter& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline ComplianceStringFilter& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The value for which to search.</p>
*/
inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; }
inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; }
inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; }
inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); }
inline ComplianceStringFilter& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;}
inline ComplianceStringFilter& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;}
inline ComplianceStringFilter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
inline ComplianceStringFilter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; }
inline ComplianceStringFilter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; }
///@}
///@{
/**
* <p>The type of comparison that should be performed for the value: Equal,
* NotEqual, BeginWith, LessThan, or GreaterThan.</p>
*/
inline const ComplianceQueryOperatorType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const ComplianceQueryOperatorType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(ComplianceQueryOperatorType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline ComplianceStringFilter& WithType(const ComplianceQueryOperatorType& value) { SetType(value); return *this;}
inline ComplianceStringFilter& WithType(ComplianceQueryOperatorType&& value) { SetType(std::move(value)); return *this;}
///@}
private:
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::Vector<Aws::String> m_values;
bool m_valuesHasBeenSet = false;
ComplianceQueryOperatorType m_type;
bool m_typeHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,95 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/CompliantSummary.h>
#include <aws/ssm/model/NonCompliantSummary.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A summary of compliance information by compliance type.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ComplianceSummaryItem">AWS
* API Reference</a></p>
*/
class ComplianceSummaryItem
{
public:
AWS_SSM_API ComplianceSummaryItem();
AWS_SSM_API ComplianceSummaryItem(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API ComplianceSummaryItem& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The type of compliance item. For example, the compliance type can be
* Association, Patch, or Custom:string.</p>
*/
inline const Aws::String& GetComplianceType() const{ return m_complianceType; }
inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; }
inline void SetComplianceType(const Aws::String& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; }
inline void SetComplianceType(Aws::String&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); }
inline void SetComplianceType(const char* value) { m_complianceTypeHasBeenSet = true; m_complianceType.assign(value); }
inline ComplianceSummaryItem& WithComplianceType(const Aws::String& value) { SetComplianceType(value); return *this;}
inline ComplianceSummaryItem& WithComplianceType(Aws::String&& value) { SetComplianceType(std::move(value)); return *this;}
inline ComplianceSummaryItem& WithComplianceType(const char* value) { SetComplianceType(value); return *this;}
///@}
///@{
/**
* <p>A list of COMPLIANT items for the specified compliance type.</p>
*/
inline const CompliantSummary& GetCompliantSummary() const{ return m_compliantSummary; }
inline bool CompliantSummaryHasBeenSet() const { return m_compliantSummaryHasBeenSet; }
inline void SetCompliantSummary(const CompliantSummary& value) { m_compliantSummaryHasBeenSet = true; m_compliantSummary = value; }
inline void SetCompliantSummary(CompliantSummary&& value) { m_compliantSummaryHasBeenSet = true; m_compliantSummary = std::move(value); }
inline ComplianceSummaryItem& WithCompliantSummary(const CompliantSummary& value) { SetCompliantSummary(value); return *this;}
inline ComplianceSummaryItem& WithCompliantSummary(CompliantSummary&& value) { SetCompliantSummary(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of NON_COMPLIANT items for the specified compliance type.</p>
*/
inline const NonCompliantSummary& GetNonCompliantSummary() const{ return m_nonCompliantSummary; }
inline bool NonCompliantSummaryHasBeenSet() const { return m_nonCompliantSummaryHasBeenSet; }
inline void SetNonCompliantSummary(const NonCompliantSummary& value) { m_nonCompliantSummaryHasBeenSet = true; m_nonCompliantSummary = value; }
inline void SetNonCompliantSummary(NonCompliantSummary&& value) { m_nonCompliantSummaryHasBeenSet = true; m_nonCompliantSummary = std::move(value); }
inline ComplianceSummaryItem& WithNonCompliantSummary(const NonCompliantSummary& value) { SetNonCompliantSummary(value); return *this;}
inline ComplianceSummaryItem& WithNonCompliantSummary(NonCompliantSummary&& value) { SetNonCompliantSummary(std::move(value)); return *this;}
///@}
private:
Aws::String m_complianceType;
bool m_complianceTypeHasBeenSet = false;
CompliantSummary m_compliantSummary;
bool m_compliantSummaryHasBeenSet = false;
NonCompliantSummary m_nonCompliantSummary;
bool m_nonCompliantSummaryHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class ComplianceUploadType
{
NOT_SET,
COMPLETE,
PARTIAL
};
namespace ComplianceUploadTypeMapper
{
AWS_SSM_API ComplianceUploadType GetComplianceUploadTypeForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForComplianceUploadType(ComplianceUploadType value);
} // namespace ComplianceUploadTypeMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,73 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/SeveritySummary.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>A summary of resources that are compliant. The summary is organized according
* to the resource count for each compliance type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CompliantSummary">AWS
* API Reference</a></p>
*/
class CompliantSummary
{
public:
AWS_SSM_API CompliantSummary();
AWS_SSM_API CompliantSummary(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CompliantSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The total number of resources that are compliant.</p>
*/
inline int GetCompliantCount() const{ return m_compliantCount; }
inline bool CompliantCountHasBeenSet() const { return m_compliantCountHasBeenSet; }
inline void SetCompliantCount(int value) { m_compliantCountHasBeenSet = true; m_compliantCount = value; }
inline CompliantSummary& WithCompliantCount(int value) { SetCompliantCount(value); return *this;}
///@}
///@{
/**
* <p>A summary of the compliance severity by compliance type.</p>
*/
inline const SeveritySummary& GetSeveritySummary() const{ return m_severitySummary; }
inline bool SeveritySummaryHasBeenSet() const { return m_severitySummaryHasBeenSet; }
inline void SetSeveritySummary(const SeveritySummary& value) { m_severitySummaryHasBeenSet = true; m_severitySummary = value; }
inline void SetSeveritySummary(SeveritySummary&& value) { m_severitySummaryHasBeenSet = true; m_severitySummary = std::move(value); }
inline CompliantSummary& WithSeveritySummary(const SeveritySummary& value) { SetSeveritySummary(value); return *this;}
inline CompliantSummary& WithSeveritySummary(SeveritySummary&& value) { SetSeveritySummary(std::move(value)); return *this;}
///@}
private:
int m_compliantCount;
bool m_compliantCountHasBeenSet = false;
SeveritySummary m_severitySummary;
bool m_severitySummaryHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
enum class ConnectionStatus
{
NOT_SET,
connected,
notconnected
};
namespace ConnectionStatusMapper
{
AWS_SSM_API ConnectionStatus GetConnectionStatusForName(const Aws::String& name);
AWS_SSM_API Aws::String GetNameForConnectionStatus(ConnectionStatus value);
} // namespace ConnectionStatusMapper
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,192 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/Tag.h>
#include <aws/ssm/model/RegistrationMetadataItem.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateActivationRequest : public SSMRequest
{
public:
AWS_SSM_API CreateActivationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateActivation"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>A user-defined description of the resource that you want to register with
* Systems Manager. </p> <p>Don't enter personally identifiable
* information in this field.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateActivationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateActivationRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateActivationRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The name of the registered, managed node as it will appear in the Amazon Web
* Services Systems Manager console or when you use the Amazon Web Services command
* line tools to list Systems Manager resources.</p> <p>Don't enter
* personally identifiable information in this field.</p>
*/
inline const Aws::String& GetDefaultInstanceName() const{ return m_defaultInstanceName; }
inline bool DefaultInstanceNameHasBeenSet() const { return m_defaultInstanceNameHasBeenSet; }
inline void SetDefaultInstanceName(const Aws::String& value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName = value; }
inline void SetDefaultInstanceName(Aws::String&& value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName = std::move(value); }
inline void SetDefaultInstanceName(const char* value) { m_defaultInstanceNameHasBeenSet = true; m_defaultInstanceName.assign(value); }
inline CreateActivationRequest& WithDefaultInstanceName(const Aws::String& value) { SetDefaultInstanceName(value); return *this;}
inline CreateActivationRequest& WithDefaultInstanceName(Aws::String&& value) { SetDefaultInstanceName(std::move(value)); return *this;}
inline CreateActivationRequest& WithDefaultInstanceName(const char* value) { SetDefaultInstanceName(value); return *this;}
///@}
///@{
/**
* <p>The name of the Identity and Access Management (IAM) role that you want to
* assign to the managed node. This IAM role must provide AssumeRole permissions
* for the Amazon Web Services Systems Manager service principal
* <code>ssm.amazonaws.com</code>. For more information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html">Create
* the IAM service role required for Systems Manager in a hybrid and multicloud
* environments</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>.</p> <p>You can't specify an IAM service-linked role for this
* parameter. You must create a unique role.</p>
*/
inline const Aws::String& GetIamRole() const{ return m_iamRole; }
inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; }
inline void SetIamRole(const Aws::String& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; }
inline void SetIamRole(Aws::String&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); }
inline void SetIamRole(const char* value) { m_iamRoleHasBeenSet = true; m_iamRole.assign(value); }
inline CreateActivationRequest& WithIamRole(const Aws::String& value) { SetIamRole(value); return *this;}
inline CreateActivationRequest& WithIamRole(Aws::String&& value) { SetIamRole(std::move(value)); return *this;}
inline CreateActivationRequest& WithIamRole(const char* value) { SetIamRole(value); return *this;}
///@}
///@{
/**
* <p>Specify the maximum number of managed nodes you want to register. The default
* value is <code>1</code>.</p>
*/
inline int GetRegistrationLimit() const{ return m_registrationLimit; }
inline bool RegistrationLimitHasBeenSet() const { return m_registrationLimitHasBeenSet; }
inline void SetRegistrationLimit(int value) { m_registrationLimitHasBeenSet = true; m_registrationLimit = value; }
inline CreateActivationRequest& WithRegistrationLimit(int value) { SetRegistrationLimit(value); return *this;}
///@}
///@{
/**
* <p>The date by which this activation request should expire, in timestamp format,
* such as "2024-07-07T00:00:00". You can specify a date up to 30 days in advance.
* If you don't provide an expiration date, the activation code expires in 24
* hours.</p>
*/
inline const Aws::Utils::DateTime& GetExpirationDate() const{ return m_expirationDate; }
inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
inline void SetExpirationDate(const Aws::Utils::DateTime& value) { m_expirationDateHasBeenSet = true; m_expirationDate = value; }
inline void SetExpirationDate(Aws::Utils::DateTime&& value) { m_expirationDateHasBeenSet = true; m_expirationDate = std::move(value); }
inline CreateActivationRequest& WithExpirationDate(const Aws::Utils::DateTime& value) { SetExpirationDate(value); return *this;}
inline CreateActivationRequest& WithExpirationDate(Aws::Utils::DateTime&& value) { SetExpirationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource. Tags enable you to
* categorize a resource in different ways, such as by purpose, owner, or
* environment. For example, you might want to tag an activation to identify which
* servers or virtual machines (VMs) in your on-premises environment you intend to
* activate. In this case, you could specify the following key-value pairs:</p>
* <ul> <li> <p> <code>Key=OS,Value=Windows</code> </p> </li> <li> <p>
* <code>Key=Environment,Value=Production</code> </p> </li> </ul>
* <p>When you install SSM Agent on your on-premises servers and VMs, you specify
* an activation ID and code. When you specify the activation ID and code, tags
* assigned to the activation are automatically applied to the on-premises servers
* or VMs.</p> <p>You can't add tags to or delete tags from an
* existing activation. You can tag your on-premises servers, edge devices, and VMs
* after they connect to Systems Manager for the first time and are assigned a
* managed node ID. This means they are listed in the Amazon Web Services Systems
* Manager console with an ID that is prefixed with "mi-". For information about
* how to add tags to your managed nodes, see <a>AddTagsToResource</a>. For
* information about how to remove tags from your managed nodes, see
* <a>RemoveTagsFromResource</a>.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateActivationRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateActivationRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateActivationRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateActivationRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Reserved for internal use.</p>
*/
inline const Aws::Vector<RegistrationMetadataItem>& GetRegistrationMetadata() const{ return m_registrationMetadata; }
inline bool RegistrationMetadataHasBeenSet() const { return m_registrationMetadataHasBeenSet; }
inline void SetRegistrationMetadata(const Aws::Vector<RegistrationMetadataItem>& value) { m_registrationMetadataHasBeenSet = true; m_registrationMetadata = value; }
inline void SetRegistrationMetadata(Aws::Vector<RegistrationMetadataItem>&& value) { m_registrationMetadataHasBeenSet = true; m_registrationMetadata = std::move(value); }
inline CreateActivationRequest& WithRegistrationMetadata(const Aws::Vector<RegistrationMetadataItem>& value) { SetRegistrationMetadata(value); return *this;}
inline CreateActivationRequest& WithRegistrationMetadata(Aws::Vector<RegistrationMetadataItem>&& value) { SetRegistrationMetadata(std::move(value)); return *this;}
inline CreateActivationRequest& AddRegistrationMetadata(const RegistrationMetadataItem& value) { m_registrationMetadataHasBeenSet = true; m_registrationMetadata.push_back(value); return *this; }
inline CreateActivationRequest& AddRegistrationMetadata(RegistrationMetadataItem&& value) { m_registrationMetadataHasBeenSet = true; m_registrationMetadata.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_defaultInstanceName;
bool m_defaultInstanceNameHasBeenSet = false;
Aws::String m_iamRole;
bool m_iamRoleHasBeenSet = false;
int m_registrationLimit;
bool m_registrationLimitHasBeenSet = false;
Aws::Utils::DateTime m_expirationDate;
bool m_expirationDateHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
Aws::Vector<RegistrationMetadataItem> m_registrationMetadata;
bool m_registrationMetadataHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,84 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateActivationResult
{
public:
AWS_SSM_API CreateActivationResult();
AWS_SSM_API CreateActivationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateActivationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID number generated by the system when it processed the activation. The
* activation ID functions like a user name.</p>
*/
inline const Aws::String& GetActivationId() const{ return m_activationId; }
inline void SetActivationId(const Aws::String& value) { m_activationId = value; }
inline void SetActivationId(Aws::String&& value) { m_activationId = std::move(value); }
inline void SetActivationId(const char* value) { m_activationId.assign(value); }
inline CreateActivationResult& WithActivationId(const Aws::String& value) { SetActivationId(value); return *this;}
inline CreateActivationResult& WithActivationId(Aws::String&& value) { SetActivationId(std::move(value)); return *this;}
inline CreateActivationResult& WithActivationId(const char* value) { SetActivationId(value); return *this;}
///@}
///@{
/**
* <p>The code the system generates when it processes the activation. The
* activation code functions like a password to validate the activation ID. </p>
*/
inline const Aws::String& GetActivationCode() const{ return m_activationCode; }
inline void SetActivationCode(const Aws::String& value) { m_activationCode = value; }
inline void SetActivationCode(Aws::String&& value) { m_activationCode = std::move(value); }
inline void SetActivationCode(const char* value) { m_activationCode.assign(value); }
inline CreateActivationResult& WithActivationCode(const Aws::String& value) { SetActivationCode(value); return *this;}
inline CreateActivationResult& WithActivationCode(Aws::String&& value) { SetActivationCode(std::move(value)); return *this;}
inline CreateActivationResult& WithActivationCode(const char* value) { SetActivationCode(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateActivationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateActivationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateActivationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_activationId;
Aws::String m_activationCode;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/CreateAssociationBatchRequestEntry.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateAssociationBatchRequest : public SSMRequest
{
public:
AWS_SSM_API CreateAssociationBatchRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateAssociationBatch"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>One or more associations.</p>
*/
inline const Aws::Vector<CreateAssociationBatchRequestEntry>& GetEntries() const{ return m_entries; }
inline bool EntriesHasBeenSet() const { return m_entriesHasBeenSet; }
inline void SetEntries(const Aws::Vector<CreateAssociationBatchRequestEntry>& value) { m_entriesHasBeenSet = true; m_entries = value; }
inline void SetEntries(Aws::Vector<CreateAssociationBatchRequestEntry>&& value) { m_entriesHasBeenSet = true; m_entries = std::move(value); }
inline CreateAssociationBatchRequest& WithEntries(const Aws::Vector<CreateAssociationBatchRequestEntry>& value) { SetEntries(value); return *this;}
inline CreateAssociationBatchRequest& WithEntries(Aws::Vector<CreateAssociationBatchRequestEntry>&& value) { SetEntries(std::move(value)); return *this;}
inline CreateAssociationBatchRequest& AddEntries(const CreateAssociationBatchRequestEntry& value) { m_entriesHasBeenSet = true; m_entries.push_back(value); return *this; }
inline CreateAssociationBatchRequest& AddEntries(CreateAssociationBatchRequestEntry&& value) { m_entriesHasBeenSet = true; m_entries.push_back(std::move(value)); return *this; }
///@}
private:
Aws::Vector<CreateAssociationBatchRequestEntry> m_entries;
bool m_entriesHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,449 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/InstanceAssociationOutputLocation.h>
#include <aws/ssm/model/AssociationComplianceSeverity.h>
#include <aws/ssm/model/AssociationSyncCompliance.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/TargetLocation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
/**
* <p>Describes the association of a Amazon Web Services Systems Manager document
* (SSM document) and a managed node.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatchRequestEntry">AWS
* API Reference</a></p>
*/
class CreateAssociationBatchRequestEntry
{
public:
AWS_SSM_API CreateAssociationBatchRequestEntry();
AWS_SSM_API CreateAssociationBatchRequestEntry(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API CreateAssociationBatchRequestEntry& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The name of the SSM document that contains the configuration information for
* the managed node. You can specify Command or Automation runbooks.</p> <p>You can
* specify Amazon Web Services-predefined documents, documents you created, or a
* document that is shared with you from another account.</p> <p>For SSM documents
* that are shared with you from other Amazon Web Services accounts, you must
* specify the complete SSM document ARN, in the following format:</p> <p>
* <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
* </code> </p> <p>For example:</p> <p>
* <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
* <p>For Amazon Web Services-predefined documents and SSM documents you created in
* your account, you only need to specify the document name. For example,
* <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
*/
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 CreateAssociationBatchRequestEntry& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The managed node ID.</p> <p> <code>InstanceId</code> has been
* deprecated. To specify a managed node ID for an association, use the
* <code>Targets</code> parameter. Requests that include the parameter
* <code>InstanceID</code> with Systems Manager documents (SSM documents) that use
* schema version 2.0 or later will fail. In addition, if you use the parameter
* <code>InstanceId</code>, you can't use the parameters
* <code>AssociationName</code>, <code>DocumentVersion</code>,
* <code>MaxErrors</code>, <code>MaxConcurrency</code>,
* <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these
* parameters, you must use the <code>Targets</code> parameter.</p>
*/
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 CreateAssociationBatchRequestEntry& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
///@}
///@{
/**
* <p>A description of the parameters for a document. </p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline CreateAssociationBatchRequestEntry& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline CreateAssociationBatchRequestEntry& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline CreateAssociationBatchRequestEntry& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline CreateAssociationBatchRequestEntry& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline CreateAssociationBatchRequestEntry& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>Specify the target for the association. This target is required for
* associations that use an Automation runbook and target resources by using rate
* controls. Automation is a capability of Amazon Web Services Systems Manager.</p>
*/
inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; }
inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; }
inline void SetAutomationTargetParameterName(const Aws::String& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = value; }
inline void SetAutomationTargetParameterName(Aws::String&& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = std::move(value); }
inline void SetAutomationTargetParameterName(const char* value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName.assign(value); }
inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(const Aws::String& value) { SetAutomationTargetParameterName(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(Aws::String&& value) { SetAutomationTargetParameterName(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithAutomationTargetParameterName(const char* value) { SetAutomationTargetParameterName(value); return *this;}
///@}
///@{
/**
* <p>The document version.</p>
*/
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 CreateAssociationBatchRequestEntry& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The managed nodes targeted by the request.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline CreateAssociationBatchRequestEntry& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A cron expression that specifies a schedule when the association runs.</p>
*/
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 CreateAssociationBatchRequestEntry& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;}
///@}
///@{
/**
* <p>An S3 bucket where you want to store the results of this request.</p>
*/
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 CreateAssociationBatchRequestEntry& WithOutputLocation(const InstanceAssociationOutputLocation& value) { SetOutputLocation(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithOutputLocation(InstanceAssociationOutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify a descriptive name for the association.</p>
*/
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 CreateAssociationBatchRequestEntry& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithAssociationName(const char* value) { SetAssociationName(value); return *this;}
///@}
///@{
/**
* <p>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 <code>MaxError</code> to 10%, then the
* system stops sending the request when the sixth error is received.</p>
* <p>Executions that are already running an association when
* <code>MaxErrors</code> 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 <code>MaxConcurrency</code> to 1 so that
* executions proceed one at a time.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline CreateAssociationBatchRequestEntry& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>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.</p> <p>If a new managed node starts and attempts
* to run an association while Systems Manager is running
* <code>MaxConcurrency</code> 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 <code>MaxConcurrency</code>.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The severity level to assign to the association.</p>
*/
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 CreateAssociationBatchRequestEntry& WithComplianceSeverity(const AssociationComplianceSeverity& value) { SetComplianceSeverity(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithComplianceSeverity(AssociationComplianceSeverity&& value) { SetComplianceSeverity(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The mode for generating association compliance. You can specify
* <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> 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
* <code>COMPLIANT</code>. If the association execution doesn't run successfully,
* the association is <code>NON-COMPLIANT</code>. </p> <p>In <code>MANUAL</code>
* mode, you must specify the <code>AssociationId</code> as a parameter for the
* <a>PutComplianceItems</a> 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 <a>PutComplianceItems</a> API
* operation.</p> <p>By default, all associations use <code>AUTO</code> mode.</p>
*/
inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; }
inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; }
inline void SetSyncCompliance(const AssociationSyncCompliance& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = value; }
inline void SetSyncCompliance(AssociationSyncCompliance&& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithSyncCompliance(const AssociationSyncCompliance& value) { SetSyncCompliance(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithSyncCompliance(AssociationSyncCompliance&& value) { SetSyncCompliance(std::move(value)); return *this;}
///@}
///@{
/**
* <p>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.</p>
*/
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 CreateAssociationBatchRequestEntry& WithApplyOnlyAtCronInterval(bool value) { SetApplyOnlyAtCronInterval(value); return *this;}
///@}
///@{
/**
* <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
* documents your associations are gated under. The associations only run when that
* Change Calendar is open. For more information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
* Web Services Systems Manager Change Calendar</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetCalendarNames() const{ return m_calendarNames; }
inline bool CalendarNamesHasBeenSet() const { return m_calendarNamesHasBeenSet; }
inline void SetCalendarNames(const Aws::Vector<Aws::String>& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = value; }
inline void SetCalendarNames(Aws::Vector<Aws::String>&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithCalendarNames(const Aws::Vector<Aws::String>& value) { SetCalendarNames(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithCalendarNames(Aws::Vector<Aws::String>&& value) { SetCalendarNames(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& AddCalendarNames(const Aws::String& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
inline CreateAssociationBatchRequestEntry& AddCalendarNames(Aws::String&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(std::move(value)); return *this; }
inline CreateAssociationBatchRequestEntry& AddCalendarNames(const char* value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
///@}
///@{
/**
* <p>Use this action to create an association in multiple Regions and multiple
* accounts.</p>
*/
inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
inline CreateAssociationBatchRequestEntry& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
*/
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 CreateAssociationBatchRequestEntry& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;}
///@}
///@{
/**
* <p>The number of hours the association can run before it is canceled. Duration
* applies to associations that are currently running, and any pending and in
* progress commands on all targets. If a target was taken offline for the
* association to run, it is made available again immediately, without a reboot.
* </p> <p>The <code>Duration</code> parameter applies only when both these
* conditions are true:</p> <ul> <li> <p>The association for which you specify a
* duration is cancelable according to the parameters of the SSM command document
* or Automation runbook associated with this execution. </p> </li> <li> <p>The
* command specifies the <code> <a
* href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociationBatchRequestEntry.html#systemsmanager-Type-CreateAssociationBatchRequestEntry-ApplyOnlyAtCronInterval">ApplyOnlyAtCronInterval</a>
* </code> parameter, which means that the association doesn't run immediately
* after it is created, but only according to the specified schedule.</p> </li>
* </ul>
*/
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 CreateAssociationBatchRequestEntry& WithDuration(int value) { SetDuration(value); return *this;}
///@}
///@{
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets
* and TargetMaps can't be specified together.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline CreateAssociationBatchRequestEntry& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline CreateAssociationBatchRequestEntry& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
///@{
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline CreateAssociationBatchRequestEntry& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline CreateAssociationBatchRequestEntry& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::String m_automationTargetParameterName;
bool m_automationTargetParameterNameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::String m_scheduleExpression;
bool m_scheduleExpressionHasBeenSet = false;
InstanceAssociationOutputLocation m_outputLocation;
bool m_outputLocationHasBeenSet = false;
Aws::String m_associationName;
bool m_associationNameHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
AssociationComplianceSeverity m_complianceSeverity;
bool m_complianceSeverityHasBeenSet = false;
AssociationSyncCompliance m_syncCompliance;
bool m_syncComplianceHasBeenSet = false;
bool m_applyOnlyAtCronInterval;
bool m_applyOnlyAtCronIntervalHasBeenSet = false;
Aws::Vector<Aws::String> m_calendarNames;
bool m_calendarNamesHasBeenSet = false;
Aws::Vector<TargetLocation> m_targetLocations;
bool m_targetLocationsHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/AssociationDescription.h>
#include <aws/ssm/model/FailedCreateAssociation.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateAssociationBatchResult
{
public:
AWS_SSM_API CreateAssociationBatchResult();
AWS_SSM_API CreateAssociationBatchResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateAssociationBatchResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>Information about the associations that succeeded.</p>
*/
inline const Aws::Vector<AssociationDescription>& GetSuccessful() const{ return m_successful; }
inline void SetSuccessful(const Aws::Vector<AssociationDescription>& value) { m_successful = value; }
inline void SetSuccessful(Aws::Vector<AssociationDescription>&& value) { m_successful = std::move(value); }
inline CreateAssociationBatchResult& WithSuccessful(const Aws::Vector<AssociationDescription>& value) { SetSuccessful(value); return *this;}
inline CreateAssociationBatchResult& WithSuccessful(Aws::Vector<AssociationDescription>&& value) { SetSuccessful(std::move(value)); return *this;}
inline CreateAssociationBatchResult& AddSuccessful(const AssociationDescription& value) { m_successful.push_back(value); return *this; }
inline CreateAssociationBatchResult& AddSuccessful(AssociationDescription&& value) { m_successful.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Information about the associations that failed.</p>
*/
inline const Aws::Vector<FailedCreateAssociation>& GetFailed() const{ return m_failed; }
inline void SetFailed(const Aws::Vector<FailedCreateAssociation>& value) { m_failed = value; }
inline void SetFailed(Aws::Vector<FailedCreateAssociation>&& value) { m_failed = std::move(value); }
inline CreateAssociationBatchResult& WithFailed(const Aws::Vector<FailedCreateAssociation>& value) { SetFailed(value); return *this;}
inline CreateAssociationBatchResult& WithFailed(Aws::Vector<FailedCreateAssociation>&& value) { SetFailed(std::move(value)); return *this;}
inline CreateAssociationBatchResult& AddFailed(const FailedCreateAssociation& value) { m_failed.push_back(value); return *this; }
inline CreateAssociationBatchResult& AddFailed(FailedCreateAssociation&& value) { m_failed.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateAssociationBatchResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateAssociationBatchResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateAssociationBatchResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::Vector<AssociationDescription> m_successful;
Aws::Vector<FailedCreateAssociation> m_failed;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,495 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/InstanceAssociationOutputLocation.h>
#include <aws/ssm/model/AssociationComplianceSeverity.h>
#include <aws/ssm/model/AssociationSyncCompliance.h>
#include <aws/ssm/model/AlarmConfiguration.h>
#include <aws/ssm/model/Target.h>
#include <aws/ssm/model/TargetLocation.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateAssociationRequest : public SSMRequest
{
public:
AWS_SSM_API CreateAssociationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateAssociation"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the SSM Command document or Automation runbook that contains the
* configuration information for the managed node.</p> <p>You can specify Amazon
* Web Services-predefined documents, documents you created, or a document that is
* shared with you from another Amazon Web Services account.</p> <p>For Systems
* Manager documents (SSM documents) that are shared with you from other Amazon Web
* Services accounts, you must specify the complete SSM document ARN, in the
* following format:</p> <p>
* <code>arn:<i>partition</i>:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
* </code> </p> <p>For example:</p> <p>
* <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code> </p>
* <p>For Amazon Web Services-predefined documents and SSM documents you created in
* your account, you only need to specify the document name. For example,
* <code>AWS-ApplyPatchBaseline</code> or <code>My-Document</code>.</p>
*/
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 CreateAssociationRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateAssociationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateAssociationRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The document version you want to associate with the targets. Can be a
* specific version or the default version.</p> <p>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
* <code>default</code> 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 <code>default</code>.</p>
*
*/
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 CreateAssociationRequest& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline CreateAssociationRequest& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline CreateAssociationRequest& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The managed node ID.</p> <p> <code>InstanceId</code> has been
* deprecated. To specify a managed node ID for an association, use the
* <code>Targets</code> parameter. Requests that include the parameter
* <code>InstanceID</code> with Systems Manager documents (SSM documents) that use
* schema version 2.0 or later will fail. In addition, if you use the parameter
* <code>InstanceId</code>, you can't use the parameters
* <code>AssociationName</code>, <code>DocumentVersion</code>,
* <code>MaxErrors</code>, <code>MaxConcurrency</code>,
* <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these
* parameters, you must use the <code>Targets</code> parameter.</p>
*/
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 CreateAssociationRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
inline CreateAssociationRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
inline CreateAssociationRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
///@}
///@{
/**
* <p>The parameters for the runtime configuration of the document.</p>
*/
inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline CreateAssociationRequest& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;}
inline CreateAssociationRequest& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;}
inline CreateAssociationRequest& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline CreateAssociationRequest& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline CreateAssociationRequest& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline CreateAssociationRequest& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline CreateAssociationRequest& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline CreateAssociationRequest& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The targets for the association. You can target managed nodes by using tags,
* Amazon Web Services resource groups, all managed nodes in an Amazon Web Services
* account, or individual managed node IDs. You can target all managed nodes in an
* Amazon Web Services account by specifying the <code>InstanceIds</code> key with
* a value of <code>*</code>. For more information about choosing targets for an
* association, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html">Understanding
* targets and rate controls in State Manager associations</a> in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p>
*/
inline const Aws::Vector<Target>& GetTargets() const{ return m_targets; }
inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; }
inline void SetTargets(const Aws::Vector<Target>& value) { m_targetsHasBeenSet = true; m_targets = value; }
inline void SetTargets(Aws::Vector<Target>&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); }
inline CreateAssociationRequest& WithTargets(const Aws::Vector<Target>& value) { SetTargets(value); return *this;}
inline CreateAssociationRequest& WithTargets(Aws::Vector<Target>&& value) { SetTargets(std::move(value)); return *this;}
inline CreateAssociationRequest& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; }
inline CreateAssociationRequest& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A cron expression when the association will be applied to the targets.</p>
*/
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 CreateAssociationRequest& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;}
inline CreateAssociationRequest& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;}
inline CreateAssociationRequest& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;}
///@}
///@{
/**
* <p>An Amazon Simple Storage Service (Amazon S3) bucket where you want to store
* the output details of the request.</p>
*/
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 CreateAssociationRequest& WithOutputLocation(const InstanceAssociationOutputLocation& value) { SetOutputLocation(value); return *this;}
inline CreateAssociationRequest& WithOutputLocation(InstanceAssociationOutputLocation&& value) { SetOutputLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify a descriptive name for the association.</p>
*/
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 CreateAssociationRequest& WithAssociationName(const Aws::String& value) { SetAssociationName(value); return *this;}
inline CreateAssociationRequest& WithAssociationName(Aws::String&& value) { SetAssociationName(std::move(value)); return *this;}
inline CreateAssociationRequest& WithAssociationName(const char* value) { SetAssociationName(value); return *this;}
///@}
///@{
/**
* <p>Choose the parameter that will define how your automation will branch out.
* This target is required for associations that use an Automation runbook and
* target resources by using rate controls. Automation is a capability of Amazon
* Web Services Systems Manager.</p>
*/
inline const Aws::String& GetAutomationTargetParameterName() const{ return m_automationTargetParameterName; }
inline bool AutomationTargetParameterNameHasBeenSet() const { return m_automationTargetParameterNameHasBeenSet; }
inline void SetAutomationTargetParameterName(const Aws::String& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = value; }
inline void SetAutomationTargetParameterName(Aws::String&& value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName = std::move(value); }
inline void SetAutomationTargetParameterName(const char* value) { m_automationTargetParameterNameHasBeenSet = true; m_automationTargetParameterName.assign(value); }
inline CreateAssociationRequest& WithAutomationTargetParameterName(const Aws::String& value) { SetAutomationTargetParameterName(value); return *this;}
inline CreateAssociationRequest& WithAutomationTargetParameterName(Aws::String&& value) { SetAutomationTargetParameterName(std::move(value)); return *this;}
inline CreateAssociationRequest& WithAutomationTargetParameterName(const char* value) { SetAutomationTargetParameterName(value); return *this;}
///@}
///@{
/**
* <p>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 <code>MaxError</code> to 10%, then the
* system stops sending the request when the sixth error is received.</p>
* <p>Executions that are already running an association when
* <code>MaxErrors</code> 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 <code>MaxConcurrency</code> to 1 so that
* executions proceed one at a time.</p>
*/
inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; }
inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; }
inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; }
inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); }
inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); }
inline CreateAssociationRequest& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;}
inline CreateAssociationRequest& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;}
inline CreateAssociationRequest& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;}
///@}
///@{
/**
* <p>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.</p> <p>If a new managed node starts and attempts
* to run an association while Systems Manager is running
* <code>MaxConcurrency</code> 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 <code>MaxConcurrency</code>.</p>
*/
inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; }
inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; }
inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; }
inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); }
inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); }
inline CreateAssociationRequest& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;}
inline CreateAssociationRequest& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;}
inline CreateAssociationRequest& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;}
///@}
///@{
/**
* <p>The severity level to assign to the association.</p>
*/
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 CreateAssociationRequest& WithComplianceSeverity(const AssociationComplianceSeverity& value) { SetComplianceSeverity(value); return *this;}
inline CreateAssociationRequest& WithComplianceSeverity(AssociationComplianceSeverity&& value) { SetComplianceSeverity(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The mode for generating association compliance. You can specify
* <code>AUTO</code> or <code>MANUAL</code>. In <code>AUTO</code> 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
* <code>COMPLIANT</code>. If the association execution doesn't run successfully,
* the association is <code>NON-COMPLIANT</code>.</p> <p>In <code>MANUAL</code>
* mode, you must specify the <code>AssociationId</code> as a parameter for the
* <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
* managed by State Manager. It is managed by your direct call to the
* <a>PutComplianceItems</a> API operation.</p> <p>By default, all associations use
* <code>AUTO</code> mode.</p>
*/
inline const AssociationSyncCompliance& GetSyncCompliance() const{ return m_syncCompliance; }
inline bool SyncComplianceHasBeenSet() const { return m_syncComplianceHasBeenSet; }
inline void SetSyncCompliance(const AssociationSyncCompliance& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = value; }
inline void SetSyncCompliance(AssociationSyncCompliance&& value) { m_syncComplianceHasBeenSet = true; m_syncCompliance = std::move(value); }
inline CreateAssociationRequest& WithSyncCompliance(const AssociationSyncCompliance& value) { SetSyncCompliance(value); return *this;}
inline CreateAssociationRequest& WithSyncCompliance(AssociationSyncCompliance&& value) { SetSyncCompliance(std::move(value)); return *this;}
///@}
///@{
/**
* <p>By default, when you create a new association, 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.</p>
*/
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 CreateAssociationRequest& WithApplyOnlyAtCronInterval(bool value) { SetApplyOnlyAtCronInterval(value); return *this;}
///@}
///@{
/**
* <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type
* documents you want to gate your associations under. The associations only run
* when that change calendar is open. For more information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon
* Web Services Systems Manager Change Calendar</a>.</p>
*/
inline const Aws::Vector<Aws::String>& GetCalendarNames() const{ return m_calendarNames; }
inline bool CalendarNamesHasBeenSet() const { return m_calendarNamesHasBeenSet; }
inline void SetCalendarNames(const Aws::Vector<Aws::String>& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = value; }
inline void SetCalendarNames(Aws::Vector<Aws::String>&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames = std::move(value); }
inline CreateAssociationRequest& WithCalendarNames(const Aws::Vector<Aws::String>& value) { SetCalendarNames(value); return *this;}
inline CreateAssociationRequest& WithCalendarNames(Aws::Vector<Aws::String>&& value) { SetCalendarNames(std::move(value)); return *this;}
inline CreateAssociationRequest& AddCalendarNames(const Aws::String& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
inline CreateAssociationRequest& AddCalendarNames(Aws::String&& value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(std::move(value)); return *this; }
inline CreateAssociationRequest& AddCalendarNames(const char* value) { m_calendarNamesHasBeenSet = true; m_calendarNames.push_back(value); return *this; }
///@}
///@{
/**
* <p>A location is a combination of Amazon Web Services Regions and Amazon Web
* Services accounts where you want to run the association. Use this action to
* create an association in multiple Regions and multiple accounts.</p>
*/
inline const Aws::Vector<TargetLocation>& GetTargetLocations() const{ return m_targetLocations; }
inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; }
inline void SetTargetLocations(const Aws::Vector<TargetLocation>& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; }
inline void SetTargetLocations(Aws::Vector<TargetLocation>&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); }
inline CreateAssociationRequest& WithTargetLocations(const Aws::Vector<TargetLocation>& value) { SetTargetLocations(value); return *this;}
inline CreateAssociationRequest& WithTargetLocations(Aws::Vector<TargetLocation>&& value) { SetTargetLocations(std::move(value)); return *this;}
inline CreateAssociationRequest& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; }
inline CreateAssociationRequest& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Number of days to wait after the scheduled day to run an association. For
* example, if you specified a cron schedule of <code>cron(0 0 ? * THU#2 *)</code>,
* you could specify an offset of 3 to run the association each Sunday after the
* second Thursday of the month. For more information about cron schedules for
* associations, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html">Reference:
* Cron and rate expressions for Systems Manager</a> in the <i>Amazon Web Services
* Systems Manager User Guide</i>. </p> <p>To use offsets, you must specify
* the <code>ApplyOnlyAtCronInterval</code> parameter. This option tells the system
* not to run an association immediately after you create it. </p>
*/
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 CreateAssociationRequest& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;}
///@}
///@{
/**
* <p>The number of hours the association can run before it is canceled. Duration
* applies to associations that are currently running, and any pending and in
* progress commands on all targets. If a target was taken offline for the
* association to run, it is made available again immediately, without a reboot.
* </p> <p>The <code>Duration</code> parameter applies only when both these
* conditions are true:</p> <ul> <li> <p>The association for which you specify a
* duration is cancelable according to the parameters of the SSM command document
* or Automation runbook associated with this execution. </p> </li> <li> <p>The
* command specifies the <code> <a
* href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html#systemsmanager-CreateAssociation-request-ApplyOnlyAtCronInterval">ApplyOnlyAtCronInterval</a>
* </code> parameter, which means that the association doesn't run immediately
* after it is created, but only according to the specified schedule.</p> </li>
* </ul>
*/
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 CreateAssociationRequest& WithDuration(int value) { SetDuration(value); return *this;}
///@}
///@{
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets
* and TargetMaps can't be specified together.</p>
*/
inline const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& GetTargetMaps() const{ return m_targetMaps; }
inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; }
inline void SetTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; }
inline void SetTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); }
inline CreateAssociationRequest& WithTargetMaps(const Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>& value) { SetTargetMaps(value); return *this;}
inline CreateAssociationRequest& WithTargetMaps(Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>>&& value) { SetTargetMaps(std::move(value)); return *this;}
inline CreateAssociationRequest& AddTargetMaps(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; }
inline CreateAssociationRequest& AddTargetMaps(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Adds or overwrites one or more tags for a State Manager association.
* <i>Tags</i> are metadata that you can assign to your Amazon Web Services
* resources. Tags enable you to categorize your resources in different ways, for
* example, by purpose, owner, or environment. Each tag consists of a key and an
* optional value, both of which you define. </p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateAssociationRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateAssociationRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateAssociationRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateAssociationRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
///@{
inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; }
inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; }
inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; }
inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); }
inline CreateAssociationRequest& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;}
inline CreateAssociationRequest& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters;
bool m_parametersHasBeenSet = false;
Aws::Vector<Target> m_targets;
bool m_targetsHasBeenSet = false;
Aws::String m_scheduleExpression;
bool m_scheduleExpressionHasBeenSet = false;
InstanceAssociationOutputLocation m_outputLocation;
bool m_outputLocationHasBeenSet = false;
Aws::String m_associationName;
bool m_associationNameHasBeenSet = false;
Aws::String m_automationTargetParameterName;
bool m_automationTargetParameterNameHasBeenSet = false;
Aws::String m_maxErrors;
bool m_maxErrorsHasBeenSet = false;
Aws::String m_maxConcurrency;
bool m_maxConcurrencyHasBeenSet = false;
AssociationComplianceSeverity m_complianceSeverity;
bool m_complianceSeverityHasBeenSet = false;
AssociationSyncCompliance m_syncCompliance;
bool m_syncComplianceHasBeenSet = false;
bool m_applyOnlyAtCronInterval;
bool m_applyOnlyAtCronIntervalHasBeenSet = false;
Aws::Vector<Aws::String> m_calendarNames;
bool m_calendarNamesHasBeenSet = false;
Aws::Vector<TargetLocation> m_targetLocations;
bool m_targetLocationsHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
Aws::Vector<Aws::Map<Aws::String, Aws::Vector<Aws::String>>> m_targetMaps;
bool m_targetMapsHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
AlarmConfiguration m_alarmConfiguration;
bool m_alarmConfigurationHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,66 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/AssociationDescription.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateAssociationResult
{
public:
AWS_SSM_API CreateAssociationResult();
AWS_SSM_API CreateAssociationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateAssociationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>Information about the association.</p>
*/
inline const AssociationDescription& GetAssociationDescription() const{ return m_associationDescription; }
inline void SetAssociationDescription(const AssociationDescription& value) { m_associationDescription = value; }
inline void SetAssociationDescription(AssociationDescription&& value) { m_associationDescription = std::move(value); }
inline CreateAssociationResult& WithAssociationDescription(const AssociationDescription& value) { SetAssociationDescription(value); return *this;}
inline CreateAssociationResult& WithAssociationDescription(AssociationDescription&& value) { SetAssociationDescription(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
AssociationDescription m_associationDescription;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,260 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/DocumentType.h>
#include <aws/ssm/model/DocumentFormat.h>
#include <aws/ssm/model/DocumentRequires.h>
#include <aws/ssm/model/AttachmentsSource.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateDocumentRequest : public SSMRequest
{
public:
AWS_SSM_API CreateDocumentRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateDocument"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The content for the new SSM document in JSON or YAML format. The content of
* the document must not exceed 64KB. This quota also includes the content
* specified for input parameters at runtime. We recommend storing the contents for
* your new document in an external JSON or YAML file and referencing the file in a
* command.</p> <p>For examples, see the following topics in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p> <ul> <li> <p> <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-using.html#create-ssm-console">Create
* an SSM document (console)</a> </p> </li> <li> <p> <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-using.html#create-ssm-document-cli">Create
* an SSM document (command line)</a> </p> </li> <li> <p> <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-using.html#create-ssm-document-api">Create
* an SSM document (API)</a> </p> </li> </ul>
*/
inline const Aws::String& GetContent() const{ return m_content; }
inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; }
inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; }
inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); }
inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); }
inline CreateDocumentRequest& WithContent(const Aws::String& value) { SetContent(value); return *this;}
inline CreateDocumentRequest& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;}
inline CreateDocumentRequest& WithContent(const char* value) { SetContent(value); return *this;}
///@}
///@{
/**
* <p>A list of SSM documents required by a document. This parameter is used
* exclusively by AppConfig. When a user creates an AppConfig configuration in an
* SSM document, the user must also specify a required document for validation
* purposes. In this case, an <code>ApplicationConfiguration</code> document
* requires an <code>ApplicationConfigurationSchema</code> document for validation
* purposes. For more information, see <a
* href="https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html">What
* is AppConfig?</a> in the <i>AppConfig User Guide</i>.</p>
*/
inline const Aws::Vector<DocumentRequires>& GetRequires() const{ return m_requires; }
inline bool RequiresHasBeenSet() const { return m_requiresHasBeenSet; }
inline void SetRequires(const Aws::Vector<DocumentRequires>& value) { m_requiresHasBeenSet = true; m_requires = value; }
inline void SetRequires(Aws::Vector<DocumentRequires>&& value) { m_requiresHasBeenSet = true; m_requires = std::move(value); }
inline CreateDocumentRequest& WithRequires(const Aws::Vector<DocumentRequires>& value) { SetRequires(value); return *this;}
inline CreateDocumentRequest& WithRequires(Aws::Vector<DocumentRequires>&& value) { SetRequires(std::move(value)); return *this;}
inline CreateDocumentRequest& AddRequires(const DocumentRequires& value) { m_requiresHasBeenSet = true; m_requires.push_back(value); return *this; }
inline CreateDocumentRequest& AddRequires(DocumentRequires&& value) { m_requiresHasBeenSet = true; m_requires.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A list of key-value pairs that describe attachments to a version of a
* document.</p>
*/
inline const Aws::Vector<AttachmentsSource>& GetAttachments() const{ return m_attachments; }
inline bool AttachmentsHasBeenSet() const { return m_attachmentsHasBeenSet; }
inline void SetAttachments(const Aws::Vector<AttachmentsSource>& value) { m_attachmentsHasBeenSet = true; m_attachments = value; }
inline void SetAttachments(Aws::Vector<AttachmentsSource>&& value) { m_attachmentsHasBeenSet = true; m_attachments = std::move(value); }
inline CreateDocumentRequest& WithAttachments(const Aws::Vector<AttachmentsSource>& value) { SetAttachments(value); return *this;}
inline CreateDocumentRequest& WithAttachments(Aws::Vector<AttachmentsSource>&& value) { SetAttachments(std::move(value)); return *this;}
inline CreateDocumentRequest& AddAttachments(const AttachmentsSource& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(value); return *this; }
inline CreateDocumentRequest& AddAttachments(AttachmentsSource&& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A name for the SSM document.</p> <p>You can't use the following
* strings as document name prefixes. These are reserved by Amazon Web Services for
* use as document name prefixes:</p> <ul> <li> <p> <code>aws</code> </p> </li>
* <li> <p> <code>amazon</code> </p> </li> <li> <p> <code>amzn</code> </p> </li>
* <li> <p> <code>AWSEC2</code> </p> </li> <li> <p>
* <code>AWSConfigRemediation</code> </p> </li> <li> <p> <code>AWSSupport</code>
* </p> </li> </ul>
*/
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 CreateDocumentRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateDocumentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateDocumentRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>An optional field where you can specify a friendly name for the SSM document.
* This value can differ for each version of the document. You can update this
* value at a later time using the <a>UpdateDocument</a> operation.</p>
*/
inline const Aws::String& GetDisplayName() const{ return m_displayName; }
inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; }
inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; }
inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); }
inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); }
inline CreateDocumentRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;}
inline CreateDocumentRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;}
inline CreateDocumentRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;}
///@}
///@{
/**
* <p>An optional field specifying the version of the artifact you are creating
* with the document. For example, <code>Release12.1</code>. This value is unique
* across all versions of a document, and can't be changed.</p>
*/
inline const Aws::String& GetVersionName() const{ return m_versionName; }
inline bool VersionNameHasBeenSet() const { return m_versionNameHasBeenSet; }
inline void SetVersionName(const Aws::String& value) { m_versionNameHasBeenSet = true; m_versionName = value; }
inline void SetVersionName(Aws::String&& value) { m_versionNameHasBeenSet = true; m_versionName = std::move(value); }
inline void SetVersionName(const char* value) { m_versionNameHasBeenSet = true; m_versionName.assign(value); }
inline CreateDocumentRequest& WithVersionName(const Aws::String& value) { SetVersionName(value); return *this;}
inline CreateDocumentRequest& WithVersionName(Aws::String&& value) { SetVersionName(std::move(value)); return *this;}
inline CreateDocumentRequest& WithVersionName(const char* value) { SetVersionName(value); return *this;}
///@}
///@{
/**
* <p>The type of document to create.</p> <p>The
* <code>DeploymentStrategy</code> document type is an internal-use-only document
* type reserved for AppConfig.</p>
*/
inline const DocumentType& GetDocumentType() const{ return m_documentType; }
inline bool DocumentTypeHasBeenSet() const { return m_documentTypeHasBeenSet; }
inline void SetDocumentType(const DocumentType& value) { m_documentTypeHasBeenSet = true; m_documentType = value; }
inline void SetDocumentType(DocumentType&& value) { m_documentTypeHasBeenSet = true; m_documentType = std::move(value); }
inline CreateDocumentRequest& WithDocumentType(const DocumentType& value) { SetDocumentType(value); return *this;}
inline CreateDocumentRequest& WithDocumentType(DocumentType&& value) { SetDocumentType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify the document format for the request. The document format can be JSON,
* YAML, or TEXT. JSON is the default format.</p>
*/
inline const DocumentFormat& GetDocumentFormat() const{ return m_documentFormat; }
inline bool DocumentFormatHasBeenSet() const { return m_documentFormatHasBeenSet; }
inline void SetDocumentFormat(const DocumentFormat& value) { m_documentFormatHasBeenSet = true; m_documentFormat = value; }
inline void SetDocumentFormat(DocumentFormat&& value) { m_documentFormatHasBeenSet = true; m_documentFormat = std::move(value); }
inline CreateDocumentRequest& WithDocumentFormat(const DocumentFormat& value) { SetDocumentFormat(value); return *this;}
inline CreateDocumentRequest& WithDocumentFormat(DocumentFormat&& value) { SetDocumentFormat(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify a target type to define the kinds of resources the document can run
* on. For example, to run a document on EC2 instances, specify the following
* value: <code>/AWS::EC2::Instance</code>. If you specify a value of '/' the
* document can run on all types of resources. If you don't specify a value, the
* document can't run on any resources. For a list of valid resource types, see <a
* href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html">Amazon
* Web Services resource and property types reference</a> in the <i>CloudFormation
* User Guide</i>. </p>
*/
inline const Aws::String& GetTargetType() const{ return m_targetType; }
inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; }
inline void SetTargetType(const Aws::String& value) { m_targetTypeHasBeenSet = true; m_targetType = value; }
inline void SetTargetType(Aws::String&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); }
inline void SetTargetType(const char* value) { m_targetTypeHasBeenSet = true; m_targetType.assign(value); }
inline CreateDocumentRequest& WithTargetType(const Aws::String& value) { SetTargetType(value); return *this;}
inline CreateDocumentRequest& WithTargetType(Aws::String&& value) { SetTargetType(std::move(value)); return *this;}
inline CreateDocumentRequest& WithTargetType(const char* value) { SetTargetType(value); return *this;}
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource. Tags enable you to
* categorize a resource in different ways, such as by purpose, owner, or
* environment. For example, you might want to tag an SSM document to identify the
* types of targets or the environment where it will run. In this case, you could
* specify the following key-value pairs:</p> <ul> <li> <p>
* <code>Key=OS,Value=Windows</code> </p> </li> <li> <p>
* <code>Key=Environment,Value=Production</code> </p> </li> </ul> <p>To add
* tags to an existing SSM document, use the <a>AddTagsToResource</a>
* operation.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateDocumentRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateDocumentRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateDocumentRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateDocumentRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_content;
bool m_contentHasBeenSet = false;
Aws::Vector<DocumentRequires> m_requires;
bool m_requiresHasBeenSet = false;
Aws::Vector<AttachmentsSource> m_attachments;
bool m_attachmentsHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_displayName;
bool m_displayNameHasBeenSet = false;
Aws::String m_versionName;
bool m_versionNameHasBeenSet = false;
DocumentType m_documentType;
bool m_documentTypeHasBeenSet = false;
DocumentFormat m_documentFormat;
bool m_documentFormatHasBeenSet = false;
Aws::String m_targetType;
bool m_targetTypeHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,66 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/model/DocumentDescription.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateDocumentResult
{
public:
AWS_SSM_API CreateDocumentResult();
AWS_SSM_API CreateDocumentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateDocumentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>Information about the SSM document.</p>
*/
inline const DocumentDescription& GetDocumentDescription() const{ return m_documentDescription; }
inline void SetDocumentDescription(const DocumentDescription& value) { m_documentDescription = value; }
inline void SetDocumentDescription(DocumentDescription&& value) { m_documentDescription = std::move(value); }
inline CreateDocumentResult& WithDocumentDescription(const DocumentDescription& value) { SetDocumentDescription(value); return *this;}
inline CreateDocumentResult& WithDocumentDescription(DocumentDescription&& value) { SetDocumentDescription(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateDocumentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateDocumentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateDocumentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
DocumentDescription m_documentDescription;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,264 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateMaintenanceWindowRequest : public SSMRequest
{
public:
AWS_SSM_API CreateMaintenanceWindowRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateMaintenanceWindow"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the maintenance window.</p>
*/
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 CreateMaintenanceWindowRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateMaintenanceWindowRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>An optional description for the maintenance window. We recommend specifying a
* description to help you organize your maintenance windows. </p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateMaintenanceWindowRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateMaintenanceWindowRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The date and time, in ISO-8601 Extended format, for when you want the
* maintenance window to become active. <code>StartDate</code> allows you to delay
* activation of the maintenance window until the specified future date.</p>
* <p>When using a rate schedule, if you provide a start date that occurs in the
* past, the current date and time are used as the start date. </p>
*/
inline const Aws::String& GetStartDate() const{ return m_startDate; }
inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; }
inline void SetStartDate(const Aws::String& value) { m_startDateHasBeenSet = true; m_startDate = value; }
inline void SetStartDate(Aws::String&& value) { m_startDateHasBeenSet = true; m_startDate = std::move(value); }
inline void SetStartDate(const char* value) { m_startDateHasBeenSet = true; m_startDate.assign(value); }
inline CreateMaintenanceWindowRequest& WithStartDate(const Aws::String& value) { SetStartDate(value); return *this;}
inline CreateMaintenanceWindowRequest& WithStartDate(Aws::String&& value) { SetStartDate(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithStartDate(const char* value) { SetStartDate(value); return *this;}
///@}
///@{
/**
* <p>The date and time, in ISO-8601 Extended format, for when you want the
* maintenance window to become inactive. <code>EndDate</code> allows you to set a
* date and time in the future when the maintenance window will no longer run.</p>
*/
inline const Aws::String& GetEndDate() const{ return m_endDate; }
inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; }
inline void SetEndDate(const Aws::String& value) { m_endDateHasBeenSet = true; m_endDate = value; }
inline void SetEndDate(Aws::String&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); }
inline void SetEndDate(const char* value) { m_endDateHasBeenSet = true; m_endDate.assign(value); }
inline CreateMaintenanceWindowRequest& WithEndDate(const Aws::String& value) { SetEndDate(value); return *this;}
inline CreateMaintenanceWindowRequest& WithEndDate(Aws::String&& value) { SetEndDate(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithEndDate(const char* value) { SetEndDate(value); return *this;}
///@}
///@{
/**
* <p>The schedule of the maintenance window in the form of a cron or rate
* expression.</p>
*/
inline const Aws::String& GetSchedule() const{ return m_schedule; }
inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; }
inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; }
inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); }
inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); }
inline CreateMaintenanceWindowRequest& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;}
inline CreateMaintenanceWindowRequest& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithSchedule(const char* value) { SetSchedule(value); return *this;}
///@}
///@{
/**
* <p>The time zone that the scheduled maintenance window executions are based on,
* in Internet Assigned Numbers Authority (IANA) format. For example:
* "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the <a
* href="https://www.iana.org/time-zones">Time Zone Database</a> on the IANA
* website.</p>
*/
inline const Aws::String& GetScheduleTimezone() const{ return m_scheduleTimezone; }
inline bool ScheduleTimezoneHasBeenSet() const { return m_scheduleTimezoneHasBeenSet; }
inline void SetScheduleTimezone(const Aws::String& value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone = value; }
inline void SetScheduleTimezone(Aws::String&& value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone = std::move(value); }
inline void SetScheduleTimezone(const char* value) { m_scheduleTimezoneHasBeenSet = true; m_scheduleTimezone.assign(value); }
inline CreateMaintenanceWindowRequest& WithScheduleTimezone(const Aws::String& value) { SetScheduleTimezone(value); return *this;}
inline CreateMaintenanceWindowRequest& WithScheduleTimezone(Aws::String&& value) { SetScheduleTimezone(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithScheduleTimezone(const char* value) { SetScheduleTimezone(value); return *this;}
///@}
///@{
/**
* <p>The number of days to wait after the date and time specified by a cron
* expression before running the maintenance window.</p> <p>For example, the
* following cron expression schedules a maintenance window to run on the third
* Tuesday of every month at 11:30 PM.</p> <p> <code>cron(30 23 ? * TUE#3 *)</code>
* </p> <p>If the schedule offset is <code>2</code>, the maintenance window won't
* run until two days later.</p>
*/
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 CreateMaintenanceWindowRequest& WithScheduleOffset(int value) { SetScheduleOffset(value); return *this;}
///@}
///@{
/**
* <p>The duration of the maintenance window in hours.</p>
*/
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 CreateMaintenanceWindowRequest& WithDuration(int value) { SetDuration(value); return *this;}
///@}
///@{
/**
* <p>The number of hours before the end of the maintenance window that Amazon Web
* Services Systems Manager stops scheduling new tasks for execution.</p>
*/
inline int GetCutoff() const{ return m_cutoff; }
inline bool CutoffHasBeenSet() const { return m_cutoffHasBeenSet; }
inline void SetCutoff(int value) { m_cutoffHasBeenSet = true; m_cutoff = value; }
inline CreateMaintenanceWindowRequest& WithCutoff(int value) { SetCutoff(value); return *this;}
///@}
///@{
/**
* <p>Enables a maintenance window task to run on managed nodes, even if you
* haven't registered those nodes as targets. If enabled, then you must specify the
* unregistered managed nodes (by node ID) when you register a task with the
* maintenance window.</p> <p>If you don't enable this option, then you must
* specify previously-registered targets when you register a task with the
* maintenance window.</p>
*/
inline bool GetAllowUnassociatedTargets() const{ return m_allowUnassociatedTargets; }
inline bool AllowUnassociatedTargetsHasBeenSet() const { return m_allowUnassociatedTargetsHasBeenSet; }
inline void SetAllowUnassociatedTargets(bool value) { m_allowUnassociatedTargetsHasBeenSet = true; m_allowUnassociatedTargets = value; }
inline CreateMaintenanceWindowRequest& WithAllowUnassociatedTargets(bool value) { SetAllowUnassociatedTargets(value); return *this;}
///@}
///@{
/**
* <p>User-provided idempotency token.</p>
*/
inline const Aws::String& GetClientToken() const{ return m_clientToken; }
inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
inline CreateMaintenanceWindowRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
inline CreateMaintenanceWindowRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource. Tags enable you to
* categorize a resource in different ways, such as by purpose, owner, or
* environment. For example, you might want to tag a maintenance window to identify
* the type of tasks it will run, the types of targets, and the environment it will
* run in. In this case, you could specify the following key-value pairs:</p> <ul>
* <li> <p> <code>Key=TaskType,Value=AgentUpdate</code> </p> </li> <li> <p>
* <code>Key=OS,Value=Windows</code> </p> </li> <li> <p>
* <code>Key=Environment,Value=Production</code> </p> </li> </ul> <p>To add
* tags to an existing maintenance window, use the <a>AddTagsToResource</a>
* operation.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateMaintenanceWindowRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateMaintenanceWindowRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateMaintenanceWindowRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateMaintenanceWindowRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_startDate;
bool m_startDateHasBeenSet = false;
Aws::String m_endDate;
bool m_endDateHasBeenSet = false;
Aws::String m_schedule;
bool m_scheduleHasBeenSet = false;
Aws::String m_scheduleTimezone;
bool m_scheduleTimezoneHasBeenSet = false;
int m_scheduleOffset;
bool m_scheduleOffsetHasBeenSet = false;
int m_duration;
bool m_durationHasBeenSet = false;
int m_cutoff;
bool m_cutoffHasBeenSet = false;
bool m_allowUnassociatedTargets;
bool m_allowUnassociatedTargetsHasBeenSet = false;
Aws::String m_clientToken;
bool m_clientTokenHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateMaintenanceWindowResult
{
public:
AWS_SSM_API CreateMaintenanceWindowResult();
AWS_SSM_API CreateMaintenanceWindowResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateMaintenanceWindowResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID of the created maintenance window.</p>
*/
inline const Aws::String& GetWindowId() const{ return m_windowId; }
inline void SetWindowId(const Aws::String& value) { m_windowId = value; }
inline void SetWindowId(Aws::String&& value) { m_windowId = std::move(value); }
inline void SetWindowId(const char* value) { m_windowId.assign(value); }
inline CreateMaintenanceWindowResult& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;}
inline CreateMaintenanceWindowResult& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;}
inline CreateMaintenanceWindowResult& WithWindowId(const char* value) { SetWindowId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateMaintenanceWindowResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateMaintenanceWindowResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateMaintenanceWindowResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_windowId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,363 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/DateTime.h>
#include <aws/ssm/model/OpsItemDataValue.h>
#include <aws/ssm/model/OpsItemNotification.h>
#include <aws/ssm/model/RelatedOpsItem.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateOpsItemRequest : public SSMRequest
{
public:
AWS_SSM_API CreateOpsItemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateOpsItem"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>User-defined text that contains information about the OpsItem, in Markdown
* format. </p> <p>Provide enough information so that users viewing this
* OpsItem for the first time understand the issue. </p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateOpsItemRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateOpsItemRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The type of OpsItem to create. Systems Manager supports the following types
* of OpsItems:</p> <ul> <li> <p> <code>/aws/issue</code> </p> <p>This type of
* OpsItem is used for default OpsItems created by OpsCenter. </p> </li> <li> <p>
* <code>/aws/changerequest</code> </p> <p>This type of OpsItem is used by Change
* Manager for reviewing and approving or rejecting change requests. </p> </li>
* <li> <p> <code>/aws/insight</code> </p> <p>This type of OpsItem is used by
* OpsCenter for aggregating and reporting on duplicate OpsItems. </p> </li> </ul>
*/
inline const Aws::String& GetOpsItemType() const{ return m_opsItemType; }
inline bool OpsItemTypeHasBeenSet() const { return m_opsItemTypeHasBeenSet; }
inline void SetOpsItemType(const Aws::String& value) { m_opsItemTypeHasBeenSet = true; m_opsItemType = value; }
inline void SetOpsItemType(Aws::String&& value) { m_opsItemTypeHasBeenSet = true; m_opsItemType = std::move(value); }
inline void SetOpsItemType(const char* value) { m_opsItemTypeHasBeenSet = true; m_opsItemType.assign(value); }
inline CreateOpsItemRequest& WithOpsItemType(const Aws::String& value) { SetOpsItemType(value); return *this;}
inline CreateOpsItemRequest& WithOpsItemType(Aws::String&& value) { SetOpsItemType(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithOpsItemType(const char* value) { SetOpsItemType(value); return *this;}
///@}
///@{
/**
* <p>Operational data is custom data that provides useful reference details about
* the OpsItem. For example, you can specify log files, error strings, license
* keys, troubleshooting tips, or other relevant data. You enter operational data
* as key-value pairs. The key has a maximum length of 128 characters. The value
* has a maximum size of 20 KB.</p> <p>Operational data keys
* <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>,
* <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>,
* <code>/amzn</code>, <code>/ssm</code>.</p> <p>You can choose to
* make the data searchable by other users in the account or you can restrict
* search access. Searchable data means that all users with access to the OpsItem
* Overview page (as provided by the <a>DescribeOpsItems</a> API operation) can
* view and search on the specified data. Operational data that isn't searchable is
* only viewable by users who have access to the OpsItem (as provided by the
* <a>GetOpsItem</a> API operation).</p> <p>Use the <code>/aws/resources</code> key
* in OperationalData to specify a related resource in the request. Use the
* <code>/aws/automations</code> key in OperationalData to associate an Automation
* runbook with the OpsItem. To view Amazon Web Services CLI example commands that
* use these keys, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Create
* OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>.</p>
*/
inline const Aws::Map<Aws::String, OpsItemDataValue>& GetOperationalData() const{ return m_operationalData; }
inline bool OperationalDataHasBeenSet() const { return m_operationalDataHasBeenSet; }
inline void SetOperationalData(const Aws::Map<Aws::String, OpsItemDataValue>& value) { m_operationalDataHasBeenSet = true; m_operationalData = value; }
inline void SetOperationalData(Aws::Map<Aws::String, OpsItemDataValue>&& value) { m_operationalDataHasBeenSet = true; m_operationalData = std::move(value); }
inline CreateOpsItemRequest& WithOperationalData(const Aws::Map<Aws::String, OpsItemDataValue>& value) { SetOperationalData(value); return *this;}
inline CreateOpsItemRequest& WithOperationalData(Aws::Map<Aws::String, OpsItemDataValue>&& value) { SetOperationalData(std::move(value)); return *this;}
inline CreateOpsItemRequest& AddOperationalData(const Aws::String& key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, value); return *this; }
inline CreateOpsItemRequest& AddOperationalData(Aws::String&& key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(std::move(key), value); return *this; }
inline CreateOpsItemRequest& AddOperationalData(const Aws::String& key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, std::move(value)); return *this; }
inline CreateOpsItemRequest& AddOperationalData(Aws::String&& key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(std::move(key), std::move(value)); return *this; }
inline CreateOpsItemRequest& AddOperationalData(const char* key, OpsItemDataValue&& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, std::move(value)); return *this; }
inline CreateOpsItemRequest& AddOperationalData(const char* key, const OpsItemDataValue& value) { m_operationalDataHasBeenSet = true; m_operationalData.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
* when this OpsItem is edited or changed.</p>
*/
inline const Aws::Vector<OpsItemNotification>& GetNotifications() const{ return m_notifications; }
inline bool NotificationsHasBeenSet() const { return m_notificationsHasBeenSet; }
inline void SetNotifications(const Aws::Vector<OpsItemNotification>& value) { m_notificationsHasBeenSet = true; m_notifications = value; }
inline void SetNotifications(Aws::Vector<OpsItemNotification>&& value) { m_notificationsHasBeenSet = true; m_notifications = std::move(value); }
inline CreateOpsItemRequest& WithNotifications(const Aws::Vector<OpsItemNotification>& value) { SetNotifications(value); return *this;}
inline CreateOpsItemRequest& WithNotifications(Aws::Vector<OpsItemNotification>&& value) { SetNotifications(std::move(value)); return *this;}
inline CreateOpsItemRequest& AddNotifications(const OpsItemNotification& value) { m_notificationsHasBeenSet = true; m_notifications.push_back(value); return *this; }
inline CreateOpsItemRequest& AddNotifications(OpsItemNotification&& value) { m_notificationsHasBeenSet = true; m_notifications.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The importance of this OpsItem in relation to other OpsItems in the
* system.</p>
*/
inline int GetPriority() const{ return m_priority; }
inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; }
inline CreateOpsItemRequest& WithPriority(int value) { SetPriority(value); return *this;}
///@}
///@{
/**
* <p>One or more OpsItems that share something in common with the current
* OpsItems. For example, related OpsItems can include OpsItems with similar error
* messages, impacted resources, or statuses for the impacted resource.</p>
*/
inline const Aws::Vector<RelatedOpsItem>& GetRelatedOpsItems() const{ return m_relatedOpsItems; }
inline bool RelatedOpsItemsHasBeenSet() const { return m_relatedOpsItemsHasBeenSet; }
inline void SetRelatedOpsItems(const Aws::Vector<RelatedOpsItem>& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems = value; }
inline void SetRelatedOpsItems(Aws::Vector<RelatedOpsItem>&& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems = std::move(value); }
inline CreateOpsItemRequest& WithRelatedOpsItems(const Aws::Vector<RelatedOpsItem>& value) { SetRelatedOpsItems(value); return *this;}
inline CreateOpsItemRequest& WithRelatedOpsItems(Aws::Vector<RelatedOpsItem>&& value) { SetRelatedOpsItems(std::move(value)); return *this;}
inline CreateOpsItemRequest& AddRelatedOpsItems(const RelatedOpsItem& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems.push_back(value); return *this; }
inline CreateOpsItemRequest& AddRelatedOpsItems(RelatedOpsItem&& value) { m_relatedOpsItemsHasBeenSet = true; m_relatedOpsItems.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager.</p>
* <p>The source name can't contain the following strings: <code>aws</code>,
* <code>amazon</code>, and <code>amzn</code>. </p>
*/
inline const Aws::String& GetSource() const{ return m_source; }
inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; }
inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; }
inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); }
inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); }
inline CreateOpsItemRequest& WithSource(const Aws::String& value) { SetSource(value); return *this;}
inline CreateOpsItemRequest& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithSource(const char* value) { SetSource(value); return *this;}
///@}
///@{
/**
* <p>A short heading that describes the nature of the OpsItem and the impacted
* resource.</p>
*/
inline const Aws::String& GetTitle() const{ return m_title; }
inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
inline CreateOpsItemRequest& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
inline CreateOpsItemRequest& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithTitle(const char* value) { SetTitle(value); return *this;}
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource.</p> <p>Tags use a key-value
* pair. For example:</p> <p> <code>Key=Department,Value=Finance</code> </p>
* <p>To add tags to a new OpsItem, a user must have IAM permissions
* for both the <code>ssm:CreateOpsItems</code> operation and the
* <code>ssm:AddTagsToResource</code> operation. To add tags to an existing
* OpsItem, use the <a>AddTagsToResource</a> operation.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateOpsItemRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateOpsItemRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateOpsItemRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateOpsItemRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Specify a category to assign to an OpsItem. </p>
*/
inline const Aws::String& GetCategory() const{ return m_category; }
inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; }
inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; }
inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); }
inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); }
inline CreateOpsItemRequest& WithCategory(const Aws::String& value) { SetCategory(value); return *this;}
inline CreateOpsItemRequest& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithCategory(const char* value) { SetCategory(value); return *this;}
///@}
///@{
/**
* <p>Specify a severity to assign to an OpsItem.</p>
*/
inline const Aws::String& GetSeverity() const{ return m_severity; }
inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
inline void SetSeverity(const Aws::String& value) { m_severityHasBeenSet = true; m_severity = value; }
inline void SetSeverity(Aws::String&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); }
inline void SetSeverity(const char* value) { m_severityHasBeenSet = true; m_severity.assign(value); }
inline CreateOpsItemRequest& WithSeverity(const Aws::String& value) { SetSeverity(value); return *this;}
inline CreateOpsItemRequest& WithSeverity(Aws::String&& value) { SetSeverity(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithSeverity(const char* value) { SetSeverity(value); return *this;}
///@}
///@{
/**
* <p>The time a runbook workflow started. Currently reported only for the OpsItem
* type <code>/aws/changerequest</code>.</p>
*/
inline const Aws::Utils::DateTime& GetActualStartTime() const{ return m_actualStartTime; }
inline bool ActualStartTimeHasBeenSet() const { return m_actualStartTimeHasBeenSet; }
inline void SetActualStartTime(const Aws::Utils::DateTime& value) { m_actualStartTimeHasBeenSet = true; m_actualStartTime = value; }
inline void SetActualStartTime(Aws::Utils::DateTime&& value) { m_actualStartTimeHasBeenSet = true; m_actualStartTime = std::move(value); }
inline CreateOpsItemRequest& WithActualStartTime(const Aws::Utils::DateTime& value) { SetActualStartTime(value); return *this;}
inline CreateOpsItemRequest& WithActualStartTime(Aws::Utils::DateTime&& value) { SetActualStartTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time a runbook workflow ended. Currently reported only for the OpsItem
* type <code>/aws/changerequest</code>.</p>
*/
inline const Aws::Utils::DateTime& GetActualEndTime() const{ return m_actualEndTime; }
inline bool ActualEndTimeHasBeenSet() const { return m_actualEndTimeHasBeenSet; }
inline void SetActualEndTime(const Aws::Utils::DateTime& value) { m_actualEndTimeHasBeenSet = true; m_actualEndTime = value; }
inline void SetActualEndTime(Aws::Utils::DateTime&& value) { m_actualEndTimeHasBeenSet = true; m_actualEndTime = std::move(value); }
inline CreateOpsItemRequest& WithActualEndTime(const Aws::Utils::DateTime& value) { SetActualEndTime(value); return *this;}
inline CreateOpsItemRequest& WithActualEndTime(Aws::Utils::DateTime&& value) { SetActualEndTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time specified in a change request for a runbook workflow to start.
* Currently supported only for the OpsItem type
* <code>/aws/changerequest</code>.</p>
*/
inline const Aws::Utils::DateTime& GetPlannedStartTime() const{ return m_plannedStartTime; }
inline bool PlannedStartTimeHasBeenSet() const { return m_plannedStartTimeHasBeenSet; }
inline void SetPlannedStartTime(const Aws::Utils::DateTime& value) { m_plannedStartTimeHasBeenSet = true; m_plannedStartTime = value; }
inline void SetPlannedStartTime(Aws::Utils::DateTime&& value) { m_plannedStartTimeHasBeenSet = true; m_plannedStartTime = std::move(value); }
inline CreateOpsItemRequest& WithPlannedStartTime(const Aws::Utils::DateTime& value) { SetPlannedStartTime(value); return *this;}
inline CreateOpsItemRequest& WithPlannedStartTime(Aws::Utils::DateTime&& value) { SetPlannedStartTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The time specified in a change request for a runbook workflow to end.
* Currently supported only for the OpsItem type
* <code>/aws/changerequest</code>.</p>
*/
inline const Aws::Utils::DateTime& GetPlannedEndTime() const{ return m_plannedEndTime; }
inline bool PlannedEndTimeHasBeenSet() const { return m_plannedEndTimeHasBeenSet; }
inline void SetPlannedEndTime(const Aws::Utils::DateTime& value) { m_plannedEndTimeHasBeenSet = true; m_plannedEndTime = value; }
inline void SetPlannedEndTime(Aws::Utils::DateTime&& value) { m_plannedEndTimeHasBeenSet = true; m_plannedEndTime = std::move(value); }
inline CreateOpsItemRequest& WithPlannedEndTime(const Aws::Utils::DateTime& value) { SetPlannedEndTime(value); return *this;}
inline CreateOpsItemRequest& WithPlannedEndTime(Aws::Utils::DateTime&& value) { SetPlannedEndTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The target Amazon Web Services account where you want to create an OpsItem.
* To make this call, your account must be configured to work with OpsItems across
* accounts. For more information, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set
* up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>.</p>
*/
inline const Aws::String& GetAccountId() const{ return m_accountId; }
inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
inline CreateOpsItemRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
inline CreateOpsItemRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
inline CreateOpsItemRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
///@}
private:
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_opsItemType;
bool m_opsItemTypeHasBeenSet = false;
Aws::Map<Aws::String, OpsItemDataValue> m_operationalData;
bool m_operationalDataHasBeenSet = false;
Aws::Vector<OpsItemNotification> m_notifications;
bool m_notificationsHasBeenSet = false;
int m_priority;
bool m_priorityHasBeenSet = false;
Aws::Vector<RelatedOpsItem> m_relatedOpsItems;
bool m_relatedOpsItemsHasBeenSet = false;
Aws::String m_source;
bool m_sourceHasBeenSet = false;
Aws::String m_title;
bool m_titleHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
Aws::String m_category;
bool m_categoryHasBeenSet = false;
Aws::String m_severity;
bool m_severityHasBeenSet = false;
Aws::Utils::DateTime m_actualStartTime;
bool m_actualStartTimeHasBeenSet = false;
Aws::Utils::DateTime m_actualEndTime;
bool m_actualEndTimeHasBeenSet = false;
Aws::Utils::DateTime m_plannedStartTime;
bool m_plannedStartTimeHasBeenSet = false;
Aws::Utils::DateTime m_plannedEndTime;
bool m_plannedEndTimeHasBeenSet = false;
Aws::String m_accountId;
bool m_accountIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,82 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateOpsItemResult
{
public:
AWS_SSM_API CreateOpsItemResult();
AWS_SSM_API CreateOpsItemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateOpsItemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID of the OpsItem.</p>
*/
inline const Aws::String& GetOpsItemId() const{ return m_opsItemId; }
inline void SetOpsItemId(const Aws::String& value) { m_opsItemId = value; }
inline void SetOpsItemId(Aws::String&& value) { m_opsItemId = std::move(value); }
inline void SetOpsItemId(const char* value) { m_opsItemId.assign(value); }
inline CreateOpsItemResult& WithOpsItemId(const Aws::String& value) { SetOpsItemId(value); return *this;}
inline CreateOpsItemResult& WithOpsItemId(Aws::String&& value) { SetOpsItemId(std::move(value)); return *this;}
inline CreateOpsItemResult& WithOpsItemId(const char* value) { SetOpsItemId(value); return *this;}
///@}
///@{
/**
* <p>The OpsItem Amazon Resource Name (ARN).</p>
*/
inline const Aws::String& GetOpsItemArn() const{ return m_opsItemArn; }
inline void SetOpsItemArn(const Aws::String& value) { m_opsItemArn = value; }
inline void SetOpsItemArn(Aws::String&& value) { m_opsItemArn = std::move(value); }
inline void SetOpsItemArn(const char* value) { m_opsItemArn.assign(value); }
inline CreateOpsItemResult& WithOpsItemArn(const Aws::String& value) { SetOpsItemArn(value); return *this;}
inline CreateOpsItemResult& WithOpsItemArn(Aws::String&& value) { SetOpsItemArn(std::move(value)); return *this;}
inline CreateOpsItemResult& WithOpsItemArn(const char* value) { SetOpsItemArn(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateOpsItemResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateOpsItemResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateOpsItemResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_opsItemId;
Aws::String m_opsItemArn;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,106 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/MetadataValue.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateOpsMetadataRequest : public SSMRequest
{
public:
AWS_SSM_API CreateOpsMetadataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateOpsMetadata"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>A resource ID for a new Application Manager application.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline CreateOpsMetadataRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline CreateOpsMetadataRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline CreateOpsMetadataRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>Metadata for a new Application Manager application. </p>
*/
inline const Aws::Map<Aws::String, MetadataValue>& GetMetadata() const{ return m_metadata; }
inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
inline void SetMetadata(const Aws::Map<Aws::String, MetadataValue>& value) { m_metadataHasBeenSet = true; m_metadata = value; }
inline void SetMetadata(Aws::Map<Aws::String, MetadataValue>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); }
inline CreateOpsMetadataRequest& WithMetadata(const Aws::Map<Aws::String, MetadataValue>& value) { SetMetadata(value); return *this;}
inline CreateOpsMetadataRequest& WithMetadata(Aws::Map<Aws::String, MetadataValue>&& value) { SetMetadata(std::move(value)); return *this;}
inline CreateOpsMetadataRequest& AddMetadata(const Aws::String& key, const MetadataValue& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
inline CreateOpsMetadataRequest& AddMetadata(Aws::String&& key, const MetadataValue& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; }
inline CreateOpsMetadataRequest& AddMetadata(const Aws::String& key, MetadataValue&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
inline CreateOpsMetadataRequest& AddMetadata(Aws::String&& key, MetadataValue&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; }
inline CreateOpsMetadataRequest& AddMetadata(const char* key, MetadataValue&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
inline CreateOpsMetadataRequest& AddMetadata(const char* key, const MetadataValue& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource. You can specify a maximum of
* five tags for an OpsMetadata object. Tags enable you to categorize a resource in
* different ways, such as by purpose, owner, or environment. For example, you
* might want to tag an OpsMetadata object to identify an environment or target
* Amazon Web Services Region. In this case, you could specify the following
* key-value pairs:</p> <ul> <li> <p> <code>Key=Environment,Value=Production</code>
* </p> </li> <li> <p> <code>Key=Region,Value=us-east-2</code> </p> </li> </ul>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateOpsMetadataRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreateOpsMetadataRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreateOpsMetadataRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreateOpsMetadataRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::Map<Aws::String, MetadataValue> m_metadata;
bool m_metadataHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,68 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateOpsMetadataResult
{
public:
AWS_SSM_API CreateOpsMetadataResult();
AWS_SSM_API CreateOpsMetadataResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateOpsMetadataResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The Amazon Resource Name (ARN) of the OpsMetadata Object or blob created by
* the call.</p>
*/
inline const Aws::String& GetOpsMetadataArn() const{ return m_opsMetadataArn; }
inline void SetOpsMetadataArn(const Aws::String& value) { m_opsMetadataArn = value; }
inline void SetOpsMetadataArn(Aws::String&& value) { m_opsMetadataArn = std::move(value); }
inline void SetOpsMetadataArn(const char* value) { m_opsMetadataArn.assign(value); }
inline CreateOpsMetadataResult& WithOpsMetadataArn(const Aws::String& value) { SetOpsMetadataArn(value); return *this;}
inline CreateOpsMetadataResult& WithOpsMetadataArn(Aws::String&& value) { SetOpsMetadataArn(std::move(value)); return *this;}
inline CreateOpsMetadataResult& WithOpsMetadataArn(const char* value) { SetOpsMetadataArn(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateOpsMetadataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateOpsMetadataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateOpsMetadataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_opsMetadataArn;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,298 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/ssm/model/OperatingSystem.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/PatchFilterGroup.h>
#include <aws/ssm/model/PatchRuleGroup.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/ssm/model/PatchComplianceLevel.h>
#include <aws/ssm/model/PatchAction.h>
#include <aws/ssm/model/PatchSource.h>
#include <aws/ssm/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreatePatchBaselineRequest : public SSMRequest
{
public:
AWS_SSM_API CreatePatchBaselineRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreatePatchBaseline"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>Defines the operating system the patch baseline applies to. The default value
* is <code>WINDOWS</code>.</p>
*/
inline const OperatingSystem& GetOperatingSystem() const{ return m_operatingSystem; }
inline bool OperatingSystemHasBeenSet() const { return m_operatingSystemHasBeenSet; }
inline void SetOperatingSystem(const OperatingSystem& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = value; }
inline void SetOperatingSystem(OperatingSystem&& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = std::move(value); }
inline CreatePatchBaselineRequest& WithOperatingSystem(const OperatingSystem& value) { SetOperatingSystem(value); return *this;}
inline CreatePatchBaselineRequest& WithOperatingSystem(OperatingSystem&& value) { SetOperatingSystem(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The name of the patch baseline.</p>
*/
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 CreatePatchBaselineRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreatePatchBaselineRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>A set of global filters used to include patches in the baseline.</p>
*/
inline const PatchFilterGroup& GetGlobalFilters() const{ return m_globalFilters; }
inline bool GlobalFiltersHasBeenSet() const { return m_globalFiltersHasBeenSet; }
inline void SetGlobalFilters(const PatchFilterGroup& value) { m_globalFiltersHasBeenSet = true; m_globalFilters = value; }
inline void SetGlobalFilters(PatchFilterGroup&& value) { m_globalFiltersHasBeenSet = true; m_globalFilters = std::move(value); }
inline CreatePatchBaselineRequest& WithGlobalFilters(const PatchFilterGroup& value) { SetGlobalFilters(value); return *this;}
inline CreatePatchBaselineRequest& WithGlobalFilters(PatchFilterGroup&& value) { SetGlobalFilters(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A set of rules used to include patches in the baseline.</p>
*/
inline const PatchRuleGroup& GetApprovalRules() const{ return m_approvalRules; }
inline bool ApprovalRulesHasBeenSet() const { return m_approvalRulesHasBeenSet; }
inline void SetApprovalRules(const PatchRuleGroup& value) { m_approvalRulesHasBeenSet = true; m_approvalRules = value; }
inline void SetApprovalRules(PatchRuleGroup&& value) { m_approvalRulesHasBeenSet = true; m_approvalRules = std::move(value); }
inline CreatePatchBaselineRequest& WithApprovalRules(const PatchRuleGroup& value) { SetApprovalRules(value); return *this;}
inline CreatePatchBaselineRequest& WithApprovalRules(PatchRuleGroup&& value) { SetApprovalRules(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of explicitly approved patches for the baseline.</p> <p>For
* information about accepted formats for lists of approved patches and rejected
* patches, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p>
*/
inline const Aws::Vector<Aws::String>& GetApprovedPatches() const{ return m_approvedPatches; }
inline bool ApprovedPatchesHasBeenSet() const { return m_approvedPatchesHasBeenSet; }
inline void SetApprovedPatches(const Aws::Vector<Aws::String>& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches = value; }
inline void SetApprovedPatches(Aws::Vector<Aws::String>&& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches = std::move(value); }
inline CreatePatchBaselineRequest& WithApprovedPatches(const Aws::Vector<Aws::String>& value) { SetApprovedPatches(value); return *this;}
inline CreatePatchBaselineRequest& WithApprovedPatches(Aws::Vector<Aws::String>&& value) { SetApprovedPatches(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& AddApprovedPatches(const Aws::String& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(value); return *this; }
inline CreatePatchBaselineRequest& AddApprovedPatches(Aws::String&& value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(std::move(value)); return *this; }
inline CreatePatchBaselineRequest& AddApprovedPatches(const char* value) { m_approvedPatchesHasBeenSet = true; m_approvedPatches.push_back(value); return *this; }
///@}
///@{
/**
* <p>Defines the compliance level for approved patches. When an approved patch is
* reported as missing, this value describes the severity of the compliance
* violation. The default value is <code>UNSPECIFIED</code>.</p>
*/
inline const PatchComplianceLevel& GetApprovedPatchesComplianceLevel() const{ return m_approvedPatchesComplianceLevel; }
inline bool ApprovedPatchesComplianceLevelHasBeenSet() const { return m_approvedPatchesComplianceLevelHasBeenSet; }
inline void SetApprovedPatchesComplianceLevel(const PatchComplianceLevel& value) { m_approvedPatchesComplianceLevelHasBeenSet = true; m_approvedPatchesComplianceLevel = value; }
inline void SetApprovedPatchesComplianceLevel(PatchComplianceLevel&& value) { m_approvedPatchesComplianceLevelHasBeenSet = true; m_approvedPatchesComplianceLevel = std::move(value); }
inline CreatePatchBaselineRequest& WithApprovedPatchesComplianceLevel(const PatchComplianceLevel& value) { SetApprovedPatchesComplianceLevel(value); return *this;}
inline CreatePatchBaselineRequest& WithApprovedPatchesComplianceLevel(PatchComplianceLevel&& value) { SetApprovedPatchesComplianceLevel(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Indicates whether the list of approved patches includes non-security updates
* that should be applied to the managed nodes. The default value is
* <code>false</code>. Applies to Linux managed nodes only.</p>
*/
inline bool GetApprovedPatchesEnableNonSecurity() const{ return m_approvedPatchesEnableNonSecurity; }
inline bool ApprovedPatchesEnableNonSecurityHasBeenSet() const { return m_approvedPatchesEnableNonSecurityHasBeenSet; }
inline void SetApprovedPatchesEnableNonSecurity(bool value) { m_approvedPatchesEnableNonSecurityHasBeenSet = true; m_approvedPatchesEnableNonSecurity = value; }
inline CreatePatchBaselineRequest& WithApprovedPatchesEnableNonSecurity(bool value) { SetApprovedPatchesEnableNonSecurity(value); return *this;}
///@}
///@{
/**
* <p>A list of explicitly rejected patches for the baseline.</p> <p>For
* information about accepted formats for lists of approved patches and rejected
* patches, see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web
* Services Systems Manager User Guide</i>.</p>
*/
inline const Aws::Vector<Aws::String>& GetRejectedPatches() const{ return m_rejectedPatches; }
inline bool RejectedPatchesHasBeenSet() const { return m_rejectedPatchesHasBeenSet; }
inline void SetRejectedPatches(const Aws::Vector<Aws::String>& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches = value; }
inline void SetRejectedPatches(Aws::Vector<Aws::String>&& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches = std::move(value); }
inline CreatePatchBaselineRequest& WithRejectedPatches(const Aws::Vector<Aws::String>& value) { SetRejectedPatches(value); return *this;}
inline CreatePatchBaselineRequest& WithRejectedPatches(Aws::Vector<Aws::String>&& value) { SetRejectedPatches(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& AddRejectedPatches(const Aws::String& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(value); return *this; }
inline CreatePatchBaselineRequest& AddRejectedPatches(Aws::String&& value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(std::move(value)); return *this; }
inline CreatePatchBaselineRequest& AddRejectedPatches(const char* value) { m_rejectedPatchesHasBeenSet = true; m_rejectedPatches.push_back(value); return *this; }
///@}
///@{
/**
* <p>The action for Patch Manager to take on patches included in the
* <code>RejectedPackages</code> list.</p> <dl> <dt>ALLOW_AS_DEPENDENCY</dt> <dd>
* <p> <b>Linux and macOS</b>: A package in the rejected patches list is installed
* only if it is a dependency of another package. It is considered compliant with
* the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>.
* This is the default action if no option is specified.</p> <p> <b>Windows
* Server</b>: Windows Server doesn't support the concept of package dependencies.
* If a package in the rejected patches list and already installed on the node, its
* status is reported as <code>INSTALLED_OTHER</code>. Any package not already
* installed on the node is skipped. This is the default action if no option is
* specified.</p> </dd> <dt>BLOCK</dt> <dd> <p> <b>All OSs</b>: Packages in the
* rejected patches list, and packages that include them as dependencies, aren't
* installed by Patch Manager under any circumstances. If a package was installed
* before it was added to the rejected patches list, or is installed outside of
* Patch Manager afterward, it's considered noncompliant with the patch baseline
* and its status is reported as <code>INSTALLED_REJECTED</code>.</p> </dd> </dl>
*/
inline const PatchAction& GetRejectedPatchesAction() const{ return m_rejectedPatchesAction; }
inline bool RejectedPatchesActionHasBeenSet() const { return m_rejectedPatchesActionHasBeenSet; }
inline void SetRejectedPatchesAction(const PatchAction& value) { m_rejectedPatchesActionHasBeenSet = true; m_rejectedPatchesAction = value; }
inline void SetRejectedPatchesAction(PatchAction&& value) { m_rejectedPatchesActionHasBeenSet = true; m_rejectedPatchesAction = std::move(value); }
inline CreatePatchBaselineRequest& WithRejectedPatchesAction(const PatchAction& value) { SetRejectedPatchesAction(value); return *this;}
inline CreatePatchBaselineRequest& WithRejectedPatchesAction(PatchAction&& value) { SetRejectedPatchesAction(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A description of the patch baseline.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreatePatchBaselineRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreatePatchBaselineRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Information about the patches to use to update the managed nodes, including
* target operating systems and source repositories. Applies to Linux managed nodes
* only.</p>
*/
inline const Aws::Vector<PatchSource>& GetSources() const{ return m_sources; }
inline bool SourcesHasBeenSet() const { return m_sourcesHasBeenSet; }
inline void SetSources(const Aws::Vector<PatchSource>& value) { m_sourcesHasBeenSet = true; m_sources = value; }
inline void SetSources(Aws::Vector<PatchSource>&& value) { m_sourcesHasBeenSet = true; m_sources = std::move(value); }
inline CreatePatchBaselineRequest& WithSources(const Aws::Vector<PatchSource>& value) { SetSources(value); return *this;}
inline CreatePatchBaselineRequest& WithSources(Aws::Vector<PatchSource>&& value) { SetSources(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& AddSources(const PatchSource& value) { m_sourcesHasBeenSet = true; m_sources.push_back(value); return *this; }
inline CreatePatchBaselineRequest& AddSources(PatchSource&& value) { m_sourcesHasBeenSet = true; m_sources.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>User-provided idempotency token.</p>
*/
inline const Aws::String& GetClientToken() const{ return m_clientToken; }
inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
inline CreatePatchBaselineRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
inline CreatePatchBaselineRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
///@}
///@{
/**
* <p>Optional metadata that you assign to a resource. Tags enable you to
* categorize a resource in different ways, such as by purpose, owner, or
* environment. For example, you might want to tag a patch baseline to identify the
* severity level of patches it specifies and the operating system family it
* applies to. In this case, you could specify the following key-value pairs:</p>
* <ul> <li> <p> <code>Key=PatchSeverity,Value=Critical</code> </p> </li> <li> <p>
* <code>Key=OS,Value=Windows</code> </p> </li> </ul> <p>To add tags to an
* existing patch baseline, use the <a>AddTagsToResource</a> operation.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreatePatchBaselineRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline CreatePatchBaselineRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline CreatePatchBaselineRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline CreatePatchBaselineRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
OperatingSystem m_operatingSystem;
bool m_operatingSystemHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
PatchFilterGroup m_globalFilters;
bool m_globalFiltersHasBeenSet = false;
PatchRuleGroup m_approvalRules;
bool m_approvalRulesHasBeenSet = false;
Aws::Vector<Aws::String> m_approvedPatches;
bool m_approvedPatchesHasBeenSet = false;
PatchComplianceLevel m_approvedPatchesComplianceLevel;
bool m_approvedPatchesComplianceLevelHasBeenSet = false;
bool m_approvedPatchesEnableNonSecurity;
bool m_approvedPatchesEnableNonSecurityHasBeenSet = false;
Aws::Vector<Aws::String> m_rejectedPatches;
bool m_rejectedPatchesHasBeenSet = false;
PatchAction m_rejectedPatchesAction;
bool m_rejectedPatchesActionHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::Vector<PatchSource> m_sources;
bool m_sourcesHasBeenSet = false;
Aws::String m_clientToken;
bool m_clientTokenHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreatePatchBaselineResult
{
public:
AWS_SSM_API CreatePatchBaselineResult();
AWS_SSM_API CreatePatchBaselineResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreatePatchBaselineResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID of the created patch baseline.</p>
*/
inline const Aws::String& GetBaselineId() const{ return m_baselineId; }
inline void SetBaselineId(const Aws::String& value) { m_baselineId = value; }
inline void SetBaselineId(Aws::String&& value) { m_baselineId = std::move(value); }
inline void SetBaselineId(const char* value) { m_baselineId.assign(value); }
inline CreatePatchBaselineResult& WithBaselineId(const Aws::String& value) { SetBaselineId(value); return *this;}
inline CreatePatchBaselineResult& WithBaselineId(Aws::String&& value) { SetBaselineId(std::move(value)); return *this;}
inline CreatePatchBaselineResult& WithBaselineId(const char* value) { SetBaselineId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreatePatchBaselineResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreatePatchBaselineResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreatePatchBaselineResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_baselineId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/ResourceDataSyncS3Destination.h>
#include <aws/ssm/model/ResourceDataSyncSource.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class CreateResourceDataSyncRequest : public SSMRequest
{
public:
AWS_SSM_API CreateResourceDataSyncRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateResourceDataSync"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>A name for the configuration.</p>
*/
inline const Aws::String& GetSyncName() const{ return m_syncName; }
inline bool SyncNameHasBeenSet() const { return m_syncNameHasBeenSet; }
inline void SetSyncName(const Aws::String& value) { m_syncNameHasBeenSet = true; m_syncName = value; }
inline void SetSyncName(Aws::String&& value) { m_syncNameHasBeenSet = true; m_syncName = std::move(value); }
inline void SetSyncName(const char* value) { m_syncNameHasBeenSet = true; m_syncName.assign(value); }
inline CreateResourceDataSyncRequest& WithSyncName(const Aws::String& value) { SetSyncName(value); return *this;}
inline CreateResourceDataSyncRequest& WithSyncName(Aws::String&& value) { SetSyncName(std::move(value)); return *this;}
inline CreateResourceDataSyncRequest& WithSyncName(const char* value) { SetSyncName(value); return *this;}
///@}
///@{
/**
* <p>Amazon S3 configuration details for the sync. This parameter is required if
* the <code>SyncType</code> value is SyncToDestination.</p>
*/
inline const ResourceDataSyncS3Destination& GetS3Destination() const{ return m_s3Destination; }
inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; }
inline void SetS3Destination(const ResourceDataSyncS3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; }
inline void SetS3Destination(ResourceDataSyncS3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); }
inline CreateResourceDataSyncRequest& WithS3Destination(const ResourceDataSyncS3Destination& value) { SetS3Destination(value); return *this;}
inline CreateResourceDataSyncRequest& WithS3Destination(ResourceDataSyncS3Destination&& value) { SetS3Destination(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify <code>SyncToDestination</code> to create a resource data sync that
* synchronizes data to an S3 bucket for Inventory. If you specify
* <code>SyncToDestination</code>, you must provide a value for
* <code>S3Destination</code>. Specify <code>SyncFromSource</code> to synchronize
* data from a single account and multiple Regions, or multiple Amazon Web Services
* accounts and Amazon Web Services Regions, as listed in Organizations for
* Explorer. If you specify <code>SyncFromSource</code>, you must provide a value
* for <code>SyncSource</code>. The default value is
* <code>SyncToDestination</code>.</p>
*/
inline const Aws::String& GetSyncType() const{ return m_syncType; }
inline bool SyncTypeHasBeenSet() const { return m_syncTypeHasBeenSet; }
inline void SetSyncType(const Aws::String& value) { m_syncTypeHasBeenSet = true; m_syncType = value; }
inline void SetSyncType(Aws::String&& value) { m_syncTypeHasBeenSet = true; m_syncType = std::move(value); }
inline void SetSyncType(const char* value) { m_syncTypeHasBeenSet = true; m_syncType.assign(value); }
inline CreateResourceDataSyncRequest& WithSyncType(const Aws::String& value) { SetSyncType(value); return *this;}
inline CreateResourceDataSyncRequest& WithSyncType(Aws::String&& value) { SetSyncType(std::move(value)); return *this;}
inline CreateResourceDataSyncRequest& WithSyncType(const char* value) { SetSyncType(value); return *this;}
///@}
///@{
/**
* <p>Specify information about the data sources to synchronize. This parameter is
* required if the <code>SyncType</code> value is SyncFromSource.</p>
*/
inline const ResourceDataSyncSource& GetSyncSource() const{ return m_syncSource; }
inline bool SyncSourceHasBeenSet() const { return m_syncSourceHasBeenSet; }
inline void SetSyncSource(const ResourceDataSyncSource& value) { m_syncSourceHasBeenSet = true; m_syncSource = value; }
inline void SetSyncSource(ResourceDataSyncSource&& value) { m_syncSourceHasBeenSet = true; m_syncSource = std::move(value); }
inline CreateResourceDataSyncRequest& WithSyncSource(const ResourceDataSyncSource& value) { SetSyncSource(value); return *this;}
inline CreateResourceDataSyncRequest& WithSyncSource(ResourceDataSyncSource&& value) { SetSyncSource(std::move(value)); return *this;}
///@}
private:
Aws::String m_syncName;
bool m_syncNameHasBeenSet = false;
ResourceDataSyncS3Destination m_s3Destination;
bool m_s3DestinationHasBeenSet = false;
Aws::String m_syncType;
bool m_syncTypeHasBeenSet = false;
ResourceDataSyncSource m_syncSource;
bool m_syncSourceHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class CreateResourceDataSyncResult
{
public:
AWS_SSM_API CreateResourceDataSyncResult();
AWS_SSM_API CreateResourceDataSyncResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API CreateResourceDataSyncResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateResourceDataSyncResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateResourceDataSyncResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateResourceDataSyncResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteActivationRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteActivationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteActivation"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the activation that you want to delete.</p>
*/
inline const Aws::String& GetActivationId() const{ return m_activationId; }
inline bool ActivationIdHasBeenSet() const { return m_activationIdHasBeenSet; }
inline void SetActivationId(const Aws::String& value) { m_activationIdHasBeenSet = true; m_activationId = value; }
inline void SetActivationId(Aws::String&& value) { m_activationIdHasBeenSet = true; m_activationId = std::move(value); }
inline void SetActivationId(const char* value) { m_activationIdHasBeenSet = true; m_activationId.assign(value); }
inline DeleteActivationRequest& WithActivationId(const Aws::String& value) { SetActivationId(value); return *this;}
inline DeleteActivationRequest& WithActivationId(Aws::String&& value) { SetActivationId(std::move(value)); return *this;}
inline DeleteActivationRequest& WithActivationId(const char* value) { SetActivationId(value); return *this;}
///@}
private:
Aws::String m_activationId;
bool m_activationIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteActivationResult
{
public:
AWS_SSM_API DeleteActivationResult();
AWS_SSM_API DeleteActivationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteActivationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteActivationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteActivationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteActivationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,101 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteAssociationRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteAssociationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteAssociation"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the SSM document.</p>
*/
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 DeleteAssociationRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline DeleteAssociationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline DeleteAssociationRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The managed node ID.</p> <p> <code>InstanceId</code> has been
* deprecated. To specify a managed node ID for an association, use the
* <code>Targets</code> parameter. Requests that include the parameter
* <code>InstanceID</code> with Systems Manager documents (SSM documents) that use
* schema version 2.0 or later will fail. In addition, if you use the parameter
* <code>InstanceId</code>, you can't use the parameters
* <code>AssociationName</code>, <code>DocumentVersion</code>,
* <code>MaxErrors</code>, <code>MaxConcurrency</code>,
* <code>OutputLocation</code>, or <code>ScheduleExpression</code>. To use these
* parameters, you must use the <code>Targets</code> parameter.</p>
*/
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 DeleteAssociationRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
inline DeleteAssociationRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
inline DeleteAssociationRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
///@}
///@{
/**
* <p>The association ID that you want to delete.</p>
*/
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 DeleteAssociationRequest& WithAssociationId(const Aws::String& value) { SetAssociationId(value); return *this;}
inline DeleteAssociationRequest& WithAssociationId(Aws::String&& value) { SetAssociationId(std::move(value)); return *this;}
inline DeleteAssociationRequest& WithAssociationId(const char* value) { SetAssociationId(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_instanceId;
bool m_instanceIdHasBeenSet = false;
Aws::String m_associationId;
bool m_associationIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteAssociationResult
{
public:
AWS_SSM_API DeleteAssociationResult();
AWS_SSM_API DeleteAssociationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteAssociationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteAssociationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteAssociationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteAssociationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteDocumentRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteDocumentRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteDocument"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the document.</p>
*/
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 DeleteDocumentRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline DeleteDocumentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline DeleteDocumentRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The version of the document that you want to delete. If not provided, all
* versions of the document are deleted.</p>
*/
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 DeleteDocumentRequest& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;}
inline DeleteDocumentRequest& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;}
inline DeleteDocumentRequest& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;}
///@}
///@{
/**
* <p>The version name of the document that you want to delete. If not provided,
* all versions of the document are deleted.</p>
*/
inline const Aws::String& GetVersionName() const{ return m_versionName; }
inline bool VersionNameHasBeenSet() const { return m_versionNameHasBeenSet; }
inline void SetVersionName(const Aws::String& value) { m_versionNameHasBeenSet = true; m_versionName = value; }
inline void SetVersionName(Aws::String&& value) { m_versionNameHasBeenSet = true; m_versionName = std::move(value); }
inline void SetVersionName(const char* value) { m_versionNameHasBeenSet = true; m_versionName.assign(value); }
inline DeleteDocumentRequest& WithVersionName(const Aws::String& value) { SetVersionName(value); return *this;}
inline DeleteDocumentRequest& WithVersionName(Aws::String&& value) { SetVersionName(std::move(value)); return *this;}
inline DeleteDocumentRequest& WithVersionName(const char* value) { SetVersionName(value); return *this;}
///@}
///@{
/**
* <p>Some SSM document types require that you specify a <code>Force</code> flag
* before you can delete the document. For example, you must specify a
* <code>Force</code> flag to delete a document of type
* <code>ApplicationConfigurationSchema</code>. You can restrict access to the
* <code>Force</code> flag in an Identity and Access Management (IAM) policy.</p>
*/
inline bool GetForce() const{ return m_force; }
inline bool ForceHasBeenSet() const { return m_forceHasBeenSet; }
inline void SetForce(bool value) { m_forceHasBeenSet = true; m_force = value; }
inline DeleteDocumentRequest& WithForce(bool value) { SetForce(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_documentVersion;
bool m_documentVersionHasBeenSet = false;
Aws::String m_versionName;
bool m_versionNameHasBeenSet = false;
bool m_force;
bool m_forceHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteDocumentResult
{
public:
AWS_SSM_API DeleteDocumentResult();
AWS_SSM_API DeleteDocumentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteDocumentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteDocumentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteDocumentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteDocumentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,118 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/InventorySchemaDeleteOption.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteInventoryRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteInventoryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteInventory"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the custom inventory type for which you want to delete either all
* previously collected data or the inventory type itself. </p>
*/
inline const Aws::String& GetTypeName() const{ return m_typeName; }
inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; }
inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; }
inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); }
inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); }
inline DeleteInventoryRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;}
inline DeleteInventoryRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;}
inline DeleteInventoryRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;}
///@}
///@{
/**
* <p>Use the <code>SchemaDeleteOption</code> to delete a custom inventory type
* (schema). If you don't choose this option, the system only deletes existing
* inventory data associated with the custom inventory type. Choose one of the
* following options:</p> <p>DisableSchema: If you choose this option, the system
* ignores all inventory data for the specified version, and any earlier versions.
* To enable this schema again, you must call the <code>PutInventory</code>
* operation for a version greater than the disabled version.</p> <p>DeleteSchema:
* This option deletes the specified custom type from the Inventory service. You
* can recreate the schema later, if you want.</p>
*/
inline const InventorySchemaDeleteOption& GetSchemaDeleteOption() const{ return m_schemaDeleteOption; }
inline bool SchemaDeleteOptionHasBeenSet() const { return m_schemaDeleteOptionHasBeenSet; }
inline void SetSchemaDeleteOption(const InventorySchemaDeleteOption& value) { m_schemaDeleteOptionHasBeenSet = true; m_schemaDeleteOption = value; }
inline void SetSchemaDeleteOption(InventorySchemaDeleteOption&& value) { m_schemaDeleteOptionHasBeenSet = true; m_schemaDeleteOption = std::move(value); }
inline DeleteInventoryRequest& WithSchemaDeleteOption(const InventorySchemaDeleteOption& value) { SetSchemaDeleteOption(value); return *this;}
inline DeleteInventoryRequest& WithSchemaDeleteOption(InventorySchemaDeleteOption&& value) { SetSchemaDeleteOption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Use this option to view a summary of the deletion request without deleting
* any data or the data type. This option is useful when you only want to
* understand what will be deleted. Once you validate that the data to be deleted
* is what you intend to delete, you can run the same command without specifying
* the <code>DryRun</code> option.</p>
*/
inline bool GetDryRun() const{ return m_dryRun; }
inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
inline DeleteInventoryRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
///@}
///@{
/**
* <p>User-provided idempotency token.</p>
*/
inline const Aws::String& GetClientToken() const{ return m_clientToken; }
inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
inline DeleteInventoryRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
inline DeleteInventoryRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
inline DeleteInventoryRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
///@}
private:
Aws::String m_typeName;
bool m_typeNameHasBeenSet = false;
InventorySchemaDeleteOption m_schemaDeleteOption;
bool m_schemaDeleteOptionHasBeenSet = false;
bool m_dryRun;
bool m_dryRunHasBeenSet = false;
Aws::String m_clientToken;
bool m_clientTokenHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,103 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/ssm/model/InventoryDeletionSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteInventoryResult
{
public:
AWS_SSM_API DeleteInventoryResult();
AWS_SSM_API DeleteInventoryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteInventoryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>Every <code>DeleteInventory</code> operation is assigned a unique ID. This
* option returns a unique ID. You can use this ID to query the status of a delete
* operation. This option is useful for ensuring that a delete operation has
* completed before you begin other operations. </p>
*/
inline const Aws::String& GetDeletionId() const{ return m_deletionId; }
inline void SetDeletionId(const Aws::String& value) { m_deletionId = value; }
inline void SetDeletionId(Aws::String&& value) { m_deletionId = std::move(value); }
inline void SetDeletionId(const char* value) { m_deletionId.assign(value); }
inline DeleteInventoryResult& WithDeletionId(const Aws::String& value) { SetDeletionId(value); return *this;}
inline DeleteInventoryResult& WithDeletionId(Aws::String&& value) { SetDeletionId(std::move(value)); return *this;}
inline DeleteInventoryResult& WithDeletionId(const char* value) { SetDeletionId(value); return *this;}
///@}
///@{
/**
* <p>The name of the inventory data type specified in the request.</p>
*/
inline const Aws::String& GetTypeName() const{ return m_typeName; }
inline void SetTypeName(const Aws::String& value) { m_typeName = value; }
inline void SetTypeName(Aws::String&& value) { m_typeName = std::move(value); }
inline void SetTypeName(const char* value) { m_typeName.assign(value); }
inline DeleteInventoryResult& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;}
inline DeleteInventoryResult& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;}
inline DeleteInventoryResult& WithTypeName(const char* value) { SetTypeName(value); return *this;}
///@}
///@{
/**
* <p>A summary of the delete operation. For more information about this summary,
* see <a
* href="https://docs.aws.amazon.com/systems-manager/latest/userguide/inventory-custom.html#delete-custom-inventory-summary">Deleting
* custom inventory</a> in the <i>Amazon Web Services Systems Manager User
* Guide</i>.</p>
*/
inline const InventoryDeletionSummary& GetDeletionSummary() const{ return m_deletionSummary; }
inline void SetDeletionSummary(const InventoryDeletionSummary& value) { m_deletionSummary = value; }
inline void SetDeletionSummary(InventoryDeletionSummary&& value) { m_deletionSummary = std::move(value); }
inline DeleteInventoryResult& WithDeletionSummary(const InventoryDeletionSummary& value) { SetDeletionSummary(value); return *this;}
inline DeleteInventoryResult& WithDeletionSummary(InventoryDeletionSummary&& value) { SetDeletionSummary(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteInventoryResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteInventoryResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteInventoryResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_deletionId;
Aws::String m_typeName;
InventoryDeletionSummary m_deletionSummary;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteMaintenanceWindowRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteMaintenanceWindowRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteMaintenanceWindow"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the maintenance window to delete.</p>
*/
inline const Aws::String& GetWindowId() const{ return m_windowId; }
inline bool WindowIdHasBeenSet() const { return m_windowIdHasBeenSet; }
inline void SetWindowId(const Aws::String& value) { m_windowIdHasBeenSet = true; m_windowId = value; }
inline void SetWindowId(Aws::String&& value) { m_windowIdHasBeenSet = true; m_windowId = std::move(value); }
inline void SetWindowId(const char* value) { m_windowIdHasBeenSet = true; m_windowId.assign(value); }
inline DeleteMaintenanceWindowRequest& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;}
inline DeleteMaintenanceWindowRequest& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;}
inline DeleteMaintenanceWindowRequest& WithWindowId(const char* value) { SetWindowId(value); return *this;}
///@}
private:
Aws::String m_windowId;
bool m_windowIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteMaintenanceWindowResult
{
public:
AWS_SSM_API DeleteMaintenanceWindowResult();
AWS_SSM_API DeleteMaintenanceWindowResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteMaintenanceWindowResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ID of the deleted maintenance window.</p>
*/
inline const Aws::String& GetWindowId() const{ return m_windowId; }
inline void SetWindowId(const Aws::String& value) { m_windowId = value; }
inline void SetWindowId(Aws::String&& value) { m_windowId = std::move(value); }
inline void SetWindowId(const char* value) { m_windowId.assign(value); }
inline DeleteMaintenanceWindowResult& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;}
inline DeleteMaintenanceWindowResult& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;}
inline DeleteMaintenanceWindowResult& WithWindowId(const char* value) { SetWindowId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteMaintenanceWindowResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteMaintenanceWindowResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteMaintenanceWindowResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_windowId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteOpsItemRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteOpsItemRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteOpsItem"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The ID of the OpsItem that you want to delete.</p>
*/
inline const Aws::String& GetOpsItemId() const{ return m_opsItemId; }
inline bool OpsItemIdHasBeenSet() const { return m_opsItemIdHasBeenSet; }
inline void SetOpsItemId(const Aws::String& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = value; }
inline void SetOpsItemId(Aws::String&& value) { m_opsItemIdHasBeenSet = true; m_opsItemId = std::move(value); }
inline void SetOpsItemId(const char* value) { m_opsItemIdHasBeenSet = true; m_opsItemId.assign(value); }
inline DeleteOpsItemRequest& WithOpsItemId(const Aws::String& value) { SetOpsItemId(value); return *this;}
inline DeleteOpsItemRequest& WithOpsItemId(Aws::String&& value) { SetOpsItemId(std::move(value)); return *this;}
inline DeleteOpsItemRequest& WithOpsItemId(const char* value) { SetOpsItemId(value); return *this;}
///@}
private:
Aws::String m_opsItemId;
bool m_opsItemIdHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteOpsItemResult
{
public:
AWS_SSM_API DeleteOpsItemResult();
AWS_SSM_API DeleteOpsItemResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteOpsItemResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteOpsItemResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteOpsItemResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteOpsItemResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,58 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteOpsMetadataRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteOpsMetadataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteOpsMetadata"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The Amazon Resource Name (ARN) of an OpsMetadata Object to delete.</p>
*/
inline const Aws::String& GetOpsMetadataArn() const{ return m_opsMetadataArn; }
inline bool OpsMetadataArnHasBeenSet() const { return m_opsMetadataArnHasBeenSet; }
inline void SetOpsMetadataArn(const Aws::String& value) { m_opsMetadataArnHasBeenSet = true; m_opsMetadataArn = value; }
inline void SetOpsMetadataArn(Aws::String&& value) { m_opsMetadataArnHasBeenSet = true; m_opsMetadataArn = std::move(value); }
inline void SetOpsMetadataArn(const char* value) { m_opsMetadataArnHasBeenSet = true; m_opsMetadataArn.assign(value); }
inline DeleteOpsMetadataRequest& WithOpsMetadataArn(const Aws::String& value) { SetOpsMetadataArn(value); return *this;}
inline DeleteOpsMetadataRequest& WithOpsMetadataArn(Aws::String&& value) { SetOpsMetadataArn(std::move(value)); return *this;}
inline DeleteOpsMetadataRequest& WithOpsMetadataArn(const char* value) { SetOpsMetadataArn(value); return *this;}
///@}
private:
Aws::String m_opsMetadataArn;
bool m_opsMetadataArnHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteOpsMetadataResult
{
public:
AWS_SSM_API DeleteOpsMetadataResult();
AWS_SSM_API DeleteOpsMetadataResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteOpsMetadataResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteOpsMetadataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteOpsMetadataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteOpsMetadataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteParameterRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteParameterRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteParameter"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The name of the parameter to delete.</p> <p>You can't enter the Amazon
* Resource Name (ARN) for a parameter, only the parameter name itself.</p>
*/
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 DeleteParameterRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline DeleteParameterRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline DeleteParameterRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,52 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace SSM
{
namespace Model
{
class DeleteParameterResult
{
public:
AWS_SSM_API DeleteParameterResult();
AWS_SSM_API DeleteParameterResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_SSM_API DeleteParameterResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteParameterResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteParameterResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteParameterResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_requestId;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

View File

@@ -0,0 +1,63 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ssm/SSM_EXPORTS.h>
#include <aws/ssm/SSMRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace SSM
{
namespace Model
{
/**
*/
class DeleteParametersRequest : public SSMRequest
{
public:
AWS_SSM_API DeleteParametersRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteParameters"; }
AWS_SSM_API Aws::String SerializePayload() const override;
AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
///@{
/**
* <p>The names of the parameters to delete. After deleting a parameter, wait for
* at least 30 seconds to create a parameter with the same name.</p> <p>You
* can't enter the Amazon Resource Name (ARN) for a parameter, only the parameter
* name itself.</p>
*/
inline const Aws::Vector<Aws::String>& GetNames() const{ return m_names; }
inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; }
inline void SetNames(const Aws::Vector<Aws::String>& value) { m_namesHasBeenSet = true; m_names = value; }
inline void SetNames(Aws::Vector<Aws::String>&& value) { m_namesHasBeenSet = true; m_names = std::move(value); }
inline DeleteParametersRequest& WithNames(const Aws::Vector<Aws::String>& value) { SetNames(value); return *this;}
inline DeleteParametersRequest& WithNames(Aws::Vector<Aws::String>&& value) { SetNames(std::move(value)); return *this;}
inline DeleteParametersRequest& AddNames(const Aws::String& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
inline DeleteParametersRequest& AddNames(Aws::String&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; }
inline DeleteParametersRequest& AddNames(const char* value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; }
///@}
private:
Aws::Vector<Aws::String> m_names;
bool m_namesHasBeenSet = false;
};
} // namespace Model
} // namespace SSM
} // namespace Aws

Some files were not shown because too many files have changed in this diff Show More