/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ssm-2014-11-06.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SimpleSystemsManagement.Model
{
///
/// Container for the parameters to the PutComplianceItems operation.
/// Registers a compliance type and other compliance details on a designated resource.
/// This operation lets you register custom compliance details with a resource. This call
/// overwrites existing compliance information on the resource, so you must provide a
/// full list of compliance items each time that you send the request.
///
///
///
/// ComplianceType can be one of the following:
///
/// -
///
/// ExecutionId: The execution ID when the patch, association, or custom compliance item
/// was applied.
///
///
-
///
/// ExecutionType: Specify patch, association, or Custom:
string
.
///
/// -
///
/// ExecutionTime. The time the patch, association, or custom compliance item was applied
/// to the managed node.
///
///
-
///
/// Id: The patch, association, or custom compliance ID.
///
///
-
///
/// Title: A title.
///
///
-
///
/// Status: The status of the compliance item. For example,
approved
for
/// patches, or Failed
for associations.
///
/// -
///
/// Severity: A patch severity. For example,
Critical
.
///
/// -
///
/// DocumentName: An SSM document name. For example,
AWS-RunPatchBaseline
.
///
/// -
///
/// DocumentVersion: An SSM document version number. For example, 4.
///
///
-
///
/// Classification: A patch classification. For example,
security updates
.
///
/// -
///
/// PatchBaselineId: A patch baseline ID.
///
///
-
///
/// PatchSeverity: A patch severity. For example,
Critical
.
///
/// -
///
/// PatchState: A patch state. For example,
InstancesWithFailedPatches
.
///
/// -
///
/// PatchGroup: The name of a patch group.
///
///
-
///
/// InstalledTime: The time the association, patch, or custom compliance item was applied
/// to the resource. Specify the time by using the following format: yyyy-MM-dd'T'HH:mm:ss'Z'
///
///
///
public partial class PutComplianceItemsRequest : AmazonSimpleSystemsManagementRequest
{
private string _complianceType;
private ComplianceExecutionSummary _executionSummary;
private string _itemContentHash;
private List _items = new List();
private string _resourceId;
private string _resourceType;
private ComplianceUploadType _uploadType;
///
/// Gets and sets the property ComplianceType.
///
/// Specify the compliance type. For example, specify Association (for a State Manager
/// association), Patch, or Custom:string
.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string ComplianceType
{
get { return this._complianceType; }
set { this._complianceType = value; }
}
// Check to see if ComplianceType property is set
internal bool IsSetComplianceType()
{
return this._complianceType != null;
}
///
/// Gets and sets the property 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'.
///
///
[AWSProperty(Required=true)]
public ComplianceExecutionSummary ExecutionSummary
{
get { return this._executionSummary; }
set { this._executionSummary = value; }
}
// Check to see if ExecutionSummary property is set
internal bool IsSetExecutionSummary()
{
return this._executionSummary != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Max=256)]
public string ItemContentHash
{
get { return this._itemContentHash; }
set { this._itemContentHash = value; }
}
// Check to see if ItemContentHash property is set
internal bool IsSetItemContentHash()
{
return this._itemContentHash != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true, Min=0, Max=10000)]
public List Items
{
get { return this._items; }
set { this._items = value; }
}
// Check to see if Items property is set
internal bool IsSetItems()
{
return this._items != null && this._items.Count > 0;
}
///
/// Gets and sets the property ResourceId.
///
/// Specify an ID for this resource. For a managed node, this is the node ID.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string ResourceId
{
get { return this._resourceId; }
set { this._resourceId = value; }
}
// Check to see if ResourceId property is set
internal bool IsSetResourceId()
{
return this._resourceId != null;
}
///
/// Gets and sets the property ResourceType.
///
/// Specify the type of resource. ManagedInstance
is currently the only supported
/// resource type.
///
///
[AWSProperty(Required=true, Min=1, Max=50)]
public string ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
///
/// Gets and sets the property 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.
///
///
///
public ComplianceUploadType UploadType
{
get { return this._uploadType; }
set { this._uploadType = value; }
}
// Check to see if UploadType property is set
internal bool IsSetUploadType()
{
return this._uploadType != null;
}
}
}