/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace SSM { namespace Model { /** */ class PutComplianceItemsRequest : public SSMRequest { public: AWS_SSM_API PutComplianceItemsRequest(); // 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 "PutComplianceItems"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline PutComplianceItemsRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline PutComplianceItemsRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

Specify an ID for this resource. For a managed node, this is the node ID.

*/ inline PutComplianceItemsRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline PutComplianceItemsRequest& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline PutComplianceItemsRequest& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

Specify the type of resource. ManagedInstance is currently the * only supported resource type.

*/ inline PutComplianceItemsRequest& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline const Aws::String& GetComplianceType() const{ return m_complianceType; } /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline void SetComplianceType(const Aws::String& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline void SetComplianceType(Aws::String&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline void SetComplianceType(const char* value) { m_complianceTypeHasBeenSet = true; m_complianceType.assign(value); } /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline PutComplianceItemsRequest& WithComplianceType(const Aws::String& value) { SetComplianceType(value); return *this;} /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline PutComplianceItemsRequest& WithComplianceType(Aws::String&& value) { SetComplianceType(std::move(value)); return *this;} /** *

Specify the compliance type. For example, specify Association (for a State * Manager association), Patch, or Custom:string.

*/ inline PutComplianceItemsRequest& WithComplianceType(const char* value) { SetComplianceType(value); return *this;} /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline const ComplianceExecutionSummary& GetExecutionSummary() const{ return m_executionSummary; } /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline bool ExecutionSummaryHasBeenSet() const { return m_executionSummaryHasBeenSet; } /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline void SetExecutionSummary(const ComplianceExecutionSummary& value) { m_executionSummaryHasBeenSet = true; m_executionSummary = value; } /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline void SetExecutionSummary(ComplianceExecutionSummary&& value) { m_executionSummaryHasBeenSet = true; m_executionSummary = std::move(value); } /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline PutComplianceItemsRequest& WithExecutionSummary(const ComplianceExecutionSummary& value) { SetExecutionSummary(value); return *this;} /** *

A summary of the call execution that includes an execution ID, the type of * execution (for example, Command), and the date/time of the * execution using a datetime object that is saved in the following format: * yyyy-MM-dd'T'HH:mm:ss'Z'.

*/ inline PutComplianceItemsRequest& WithExecutionSummary(ComplianceExecutionSummary&& value) { SetExecutionSummary(std::move(value)); return *this;} /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline const Aws::Vector& GetItems() const{ return m_items; } /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline bool ItemsHasBeenSet() const { return m_itemsHasBeenSet; } /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline void SetItems(const Aws::Vector& value) { m_itemsHasBeenSet = true; m_items = value; } /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline void SetItems(Aws::Vector&& value) { m_itemsHasBeenSet = true; m_items = std::move(value); } /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline PutComplianceItemsRequest& WithItems(const Aws::Vector& value) { SetItems(value); return *this;} /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline PutComplianceItemsRequest& WithItems(Aws::Vector&& value) { SetItems(std::move(value)); return *this;} /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline PutComplianceItemsRequest& AddItems(const ComplianceItemEntry& value) { m_itemsHasBeenSet = true; m_items.push_back(value); return *this; } /** *

Information about the compliance as defined by the resource type. For * example, for a patch compliance type, Items includes information * about the PatchSeverity, Classification, and so on.

*/ inline PutComplianceItemsRequest& AddItems(ComplianceItemEntry&& value) { m_itemsHasBeenSet = true; m_items.push_back(std::move(value)); return *this; } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline const Aws::String& GetItemContentHash() const{ return m_itemContentHash; } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline bool ItemContentHashHasBeenSet() const { return m_itemContentHashHasBeenSet; } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline void SetItemContentHash(const Aws::String& value) { m_itemContentHashHasBeenSet = true; m_itemContentHash = value; } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline void SetItemContentHash(Aws::String&& value) { m_itemContentHashHasBeenSet = true; m_itemContentHash = std::move(value); } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline void SetItemContentHash(const char* value) { m_itemContentHashHasBeenSet = true; m_itemContentHash.assign(value); } /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline PutComplianceItemsRequest& WithItemContentHash(const Aws::String& value) { SetItemContentHash(value); return *this;} /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline PutComplianceItemsRequest& WithItemContentHash(Aws::String&& value) { SetItemContentHash(std::move(value)); return *this;} /** *

MD5 or SHA-256 content hash. The content hash is used to determine if * existing information should be overwritten or ignored. If the content hashes * match, the request to put compliance information is ignored.

*/ inline PutComplianceItemsRequest& WithItemContentHash(const char* value) { SetItemContentHash(value); return *this;} /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline const ComplianceUploadType& GetUploadType() const{ return m_uploadType; } /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline bool UploadTypeHasBeenSet() const { return m_uploadTypeHasBeenSet; } /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline void SetUploadType(const ComplianceUploadType& value) { m_uploadTypeHasBeenSet = true; m_uploadType = value; } /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline void SetUploadType(ComplianceUploadType&& value) { m_uploadTypeHasBeenSet = true; m_uploadType = std::move(value); } /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline PutComplianceItemsRequest& WithUploadType(const ComplianceUploadType& value) { SetUploadType(value); return *this;} /** *

The mode for uploading compliance items. You can specify * COMPLETE or PARTIAL. In COMPLETE mode, * the system overwrites all existing compliance information for the resource. You * must provide a full list of compliance items each time you send the request.

*

In PARTIAL mode, the system overwrites compliance information * for a specific association. The association must be configured with * SyncCompliance set to MANUAL. By default, all requests * use COMPLETE mode.

This attribute is only valid for * association compliance.

*/ inline PutComplianceItemsRequest& WithUploadType(ComplianceUploadType&& value) { SetUploadType(std::move(value)); return *this;} private: Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_complianceType; bool m_complianceTypeHasBeenSet = false; ComplianceExecutionSummary m_executionSummary; bool m_executionSummaryHasBeenSet = false; Aws::Vector m_items; bool m_itemsHasBeenSet = false; Aws::String m_itemContentHash; bool m_itemContentHashHasBeenSet = false; ComplianceUploadType m_uploadType; bool m_uploadTypeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws